
import numpy as np
from numpy import nan, inf

add_legend_handle = [
  'Data',
  'Analysis_CSS_FragNone_UENone.yoda.gz',
  'Analysis_Alaric_FragNone_UENone.yoda.gz'
]

xpoints = {
                                       'Data' : [1.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.600000e-01, 9.000000e-01, 9.400000e-01,
                                                 9.800000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.600000e-01, 9.000000e-01, 9.400000e-01,
                                                 9.800000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.600000e-01, 9.000000e-01, 9.400000e-01,
                                                 9.800000e-01],
}

xedges = {
                                       'Data' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 8.800000e-01, 9.200000e-01,
                                                 9.600000e-01, 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 8.800000e-01, 9.200000e-01,
                                                 9.600000e-01, 1.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 8.800000e-01, 9.200000e-01,
                                                 9.600000e-01, 1.000000e+00],
}

ref_xerrs = [
  [abs(xpoints['Data'][i]   - xedges['Data'][i]) for i in range(len(xpoints['Data']))],
  [abs(xedges['Data'][i+1] - xpoints['Data'][i]) for i in range(len(xpoints['Data']))]
]

yvals = {
                                       'Data' : [3.745000e-01, 4.690000e-01, 4.604000e-01, 4.526000e-01, 3.700000e-01,
                                                 2.734000e-01, 1.983000e-01, 1.420000e-01, 1.003000e-01, 7.583000e-02,
                                                 5.424000e-02, 4.193000e-02, 3.077000e-02, 2.466000e-02, 1.698000e-02,
                                                 1.400000e-02, 1.096000e-02, 7.747000e-03, 6.204000e-03, 5.158000e-03,
                                                 3.267000e-03, 2.433000e-03, 1.683000e-03, 9.317000e-04, 5.283000e-04,
                                                 3.735000e-04],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [4.400415e-01, 7.268245e-01, 4.641814e-01, 5.382497e-01, 3.739457e-01,
                                                 3.269807e-01, 2.369055e-01, 1.789448e-01, 1.714208e-01, 9.136277e-02,
                                                 3.573829e-02, 4.715007e-02, 2.164872e-02, 4.320073e-02, 6.987839e-03,
                                                 1.194630e-02, 4.898531e-03, 5.191977e-02, 1.129717e-02, 7.118837e-03,
                                                 8.750468e-03, 0.000000e+00, 0.000000e+00, 8.852740e-03, 0.000000e+00,
                                                 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [2.292719e-01, 5.474375e-01, 6.058469e-01, 3.191584e-01, 4.219078e-01,
                                                 3.009594e-01, 2.519019e-01, 2.364429e-01, 8.374057e-02, 1.832907e-01,
                                                 1.445962e-02, 4.947064e-02, 2.676960e-02, 1.225546e-02, 3.564778e-02,
                                                 2.623084e-02, 2.135106e-02, 0.000000e+00, 2.588691e-03, 1.802408e-02,
                                                 0.000000e+00, 0.000000e+00, 9.713341e-03, 7.339317e-03, 0.000000e+00,
                                                 0.000000e+00],
}

xerrs = {
                                       'Data' : [
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                   [1.500000e-02, 1.500000e-02, 1.500000e-02, 1.500000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02, 2.000000e-02,
                                                    2.000000e-02],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [1.109617e-02, 1.454532e-02, 1.412700e-02, 1.375146e-02, 1.051276e-02,
                                                    7.772930e-03, 5.702423e-03, 4.165439e-03, 3.017471e-03, 2.308682e-03,
                                                    1.800896e-03, 1.426549e-03, 1.161602e-03, 9.022224e-04, 6.815897e-04,
                                                    6.684787e-04, 5.468877e-04, 4.456121e-04, 4.031318e-04, 3.761276e-04,
                                                    2.785973e-04, 2.265690e-04, 2.134666e-04, 1.511970e-04, 1.104579e-04,
                                                    1.301848e-04],
                                                   [1.147601e-02, 1.468106e-02, 1.426930e-02, 1.389639e-02, 1.063026e-02,
                                                    7.849029e-03, 5.785468e-03, 4.204676e-03, 3.057739e-03, 2.330378e-03,
                                                    1.813885e-03, 1.440054e-03, 1.168178e-03, 9.092688e-04, 6.878452e-04,
                                                    6.716750e-04, 5.495113e-04, 4.473861e-04, 4.045579e-04, 3.772949e-04,
                                                    2.793294e-04, 2.270637e-04, 2.137413e-04, 1.513301e-04, 1.105189e-04,
                                                    1.302121e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.027243e-01, 1.951623e-01, 8.581043e-02, 9.755019e-02, 6.199586e-02,
                                                    7.385391e-02, 5.342071e-02, 5.402999e-02, 5.334784e-02, 3.642865e-02,
                                                    1.786884e-02, 1.770721e-02, 1.114596e-02, 2.195935e-02, 4.941989e-03,
                                                    1.194630e-02, 4.898531e-03, 3.724481e-02, 8.509976e-03, 7.118837e-03,
                                                    8.750468e-03, 0.000000e+00, 0.000000e+00, 8.852740e-03, 0.000000e+00,
                                                    0.000000e+00],
                                                   [1.027243e-01, 1.951623e-01, 8.581043e-02, 9.755019e-02, 6.199586e-02,
                                                    7.385391e-02, 5.342071e-02, 5.402999e-02, 5.334784e-02, 3.642865e-02,
                                                    1.786884e-02, 1.770721e-02, 1.114596e-02, 2.195935e-02, 4.941989e-03,
                                                    1.194630e-02, 4.898531e-03, 3.724481e-02, 8.509976e-03, 7.118837e-03,
                                                    8.750468e-03, 0.000000e+00, 0.000000e+00, 8.852740e-03, 0.000000e+00,
                                                    0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [5.218129e-02, 9.959474e-02, 1.098634e-01, 6.267931e-02, 8.714426e-02,
                                                    7.169725e-02, 6.432942e-02, 6.629471e-02, 2.808334e-02, 5.623056e-02,
                                                    9.394253e-03, 2.531768e-02, 1.615945e-02, 7.736434e-03, 1.958623e-02,
                                                    1.633759e-02, 1.418362e-02, 0.000000e+00, 2.588691e-03, 1.585104e-02,
                                                    0.000000e+00, 0.000000e+00, 9.713341e-03, 7.339317e-03, 0.000000e+00,
                                                    0.000000e+00],
                                                   [5.218129e-02, 9.959474e-02, 1.098634e-01, 6.267931e-02, 8.714426e-02,
                                                    7.169725e-02, 6.432942e-02, 6.629471e-02, 2.808334e-02, 5.623056e-02,
                                                    9.394253e-03, 2.531768e-02, 1.615945e-02, 7.736434e-03, 1.958623e-02,
                                                    1.633759e-02, 1.418362e-02, 0.000000e+00, 2.588691e-03, 1.585104e-02,
                                                    0.000000e+00, 0.000000e+00, 9.713341e-03, 7.339317e-03, 0.000000e+00,
                                                    0.000000e+00],
                                                ],
}

variation_yvals = {
}



# lists for ratio plot
ratio0_yvals = {
                                       'Data' : [1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00,
                                                 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00,
                                                 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00,
                                                 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00,
                                                 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00,
                                                 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.175011e+00, 1.549732e+00, 1.008213e+00, 1.189239e+00, 1.010664e+00,
                                                 1.195979e+00, 1.194682e+00, 1.260175e+00, 1.709081e+00, 1.204837e+00,
                                                 6.588918e-01, 1.124495e+00, 7.035658e-01, 1.751854e+00, 4.115335e-01,
                                                 8.533071e-01, 4.469463e-01, 6.701919e+00, 1.820949e+00, 1.380155e+00,
                                                 2.678441e+00, 0.000000e+00, 0.000000e+00, 9.501707e+00, 0.000000e+00,
                                                 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [6.122080e-01, 1.167244e+00, 1.315914e+00, 7.051666e-01, 1.140291e+00,
                                                 1.100802e+00, 1.270307e+00, 1.665091e+00, 8.349010e-01, 2.417126e+00,
                                                 2.665859e-01, 1.179839e+00, 8.699903e-01, 4.969773e-01, 2.099398e+00,
                                                 1.873631e+00, 1.948089e+00, 0.000000e+00, 4.172616e-01, 3.494393e+00,
                                                 0.000000e+00, 0.000000e+00, 5.771444e+00, 7.877339e+00, 0.000000e+00,
                                                 0.000000e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [2.962929e-02, 3.101349e-02, 3.068418e-02, 3.038326e-02, 2.841286e-02,
                                                    2.843061e-02, 2.875654e-02, 2.933407e-02, 3.008445e-02, 3.044550e-02,
                                                    3.320237e-02, 3.402215e-02, 3.775112e-02, 3.658647e-02, 4.014074e-02,
                                                    4.774848e-02, 4.989852e-02, 5.752060e-02, 6.497934e-02, 7.292120e-02,
                                                    8.527619e-02, 9.312330e-02, 1.268369e-01, 1.622808e-01, 2.090817e-01,
                                                    3.485538e-01],
                                                   [3.064355e-02, 3.130289e-02, 3.099328e-02, 3.070347e-02, 2.873043e-02,
                                                    2.870896e-02, 2.917533e-02, 2.961039e-02, 3.048594e-02, 3.073161e-02,
                                                    3.344183e-02, 3.434425e-02, 3.796484e-02, 3.687222e-02, 4.050914e-02,
                                                    4.797678e-02, 5.013789e-02, 5.774959e-02, 6.520921e-02, 7.314752e-02,
                                                    8.550028e-02, 9.332661e-02, 1.270002e-01, 1.624237e-01, 2.091972e-01,
                                                    3.486268e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [2.742972e-01, 4.161243e-01, 1.863823e-01, 2.155329e-01, 1.675564e-01,
                                                    2.701313e-01, 2.693934e-01, 3.804929e-01, 5.318828e-01, 4.803989e-01,
                                                    3.294403e-01, 4.223041e-01, 3.622346e-01, 8.904846e-01, 2.910476e-01,
                                                    8.533071e-01, 4.469463e-01, 4.807643e+00, 1.371692e+00, 1.380155e+00,
                                                    2.678441e+00, 0.000000e+00, 0.000000e+00, 9.501707e+00, 0.000000e+00,
                                                    0.000000e+00],
                                                   [2.742972e-01, 4.161243e-01, 1.863823e-01, 2.155329e-01, 1.675564e-01,
                                                    2.701313e-01, 2.693934e-01, 3.804929e-01, 5.318828e-01, 4.803989e-01,
                                                    3.294403e-01, 4.223041e-01, 3.622346e-01, 8.904846e-01, 2.910476e-01,
                                                    8.533071e-01, 4.469463e-01, 4.807643e+00, 1.371692e+00, 1.380155e+00,
                                                    2.678441e+00, 0.000000e+00, 0.000000e+00, 9.501707e+00, 0.000000e+00,
                                                    0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.393359e-01, 2.123555e-01, 2.386260e-01, 1.384872e-01, 2.355250e-01,
                                                    2.622431e-01, 3.244045e-01, 4.668642e-01, 2.799934e-01, 7.415345e-01,
                                                    1.731979e-01, 6.038083e-01, 5.251690e-01, 3.137240e-01, 1.153488e+00,
                                                    1.166971e+00, 1.294126e+00, 0.000000e+00, 4.172616e-01, 3.073098e+00,
                                                    0.000000e+00, 0.000000e+00, 5.771444e+00, 7.877339e+00, 0.000000e+00,
                                                    0.000000e+00],
                                                   [1.393359e-01, 2.123555e-01, 2.386260e-01, 1.384872e-01, 2.355250e-01,
                                                    2.622431e-01, 3.244045e-01, 4.668642e-01, 2.799934e-01, 7.415345e-01,
                                                    1.731979e-01, 6.038083e-01, 5.251690e-01, 3.137240e-01, 1.153488e+00,
                                                    1.166971e+00, 1.294126e+00, 0.000000e+00, 4.172616e-01, 3.073098e+00,
                                                    0.000000e+00, 0.000000e+00, 5.771444e+00, 7.877339e+00, 0.000000e+00,
                                                    0.000000e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
