
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.000000e-02, 3.000000e-02, 5.000000e-02, 7.000000e-02, 9.000000e-02,
                                                 1.100000e-01, 1.300000e-01, 1.500000e-01, 1.700000e-01, 1.900000e-01,
                                                 2.100000e-01, 2.300000e-01, 2.500000e-01, 2.700000e-01, 2.900000e-01,
                                                 3.100000e-01, 3.300000e-01, 3.500000e-01, 3.700000e-01, 3.900000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.000000e-02, 3.000000e-02, 5.000000e-02, 7.000000e-02, 9.000000e-02,
                                                 1.100000e-01, 1.300000e-01, 1.500000e-01, 1.700000e-01, 1.900000e-01,
                                                 2.100000e-01, 2.300000e-01, 2.500000e-01, 2.700000e-01, 2.900000e-01,
                                                 3.100000e-01, 3.300000e-01, 3.500000e-01, 3.700000e-01, 3.900000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.000000e-02, 3.000000e-02, 5.000000e-02, 7.000000e-02, 9.000000e-02,
                                                 1.100000e-01, 1.300000e-01, 1.500000e-01, 1.700000e-01, 1.900000e-01,
                                                 2.100000e-01, 2.300000e-01, 2.500000e-01, 2.700000e-01, 2.900000e-01,
                                                 3.100000e-01, 3.300000e-01, 3.500000e-01, 3.700000e-01, 3.900000e-01],
}

xedges = {
                                       'Data' : [0.000000e+00, 2.000000e-02, 4.000000e-02, 6.000000e-02, 8.000000e-02,
                                                 1.000000e-01, 1.200000e-01, 1.400000e-01, 1.600000e-01, 1.800000e-01,
                                                 2.000000e-01, 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.800000e-01,
                                                 3.000000e-01, 3.200000e-01, 3.400000e-01, 3.600000e-01, 3.800000e-01,
                                                 4.000000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 2.000000e-02, 4.000000e-02, 6.000000e-02, 8.000000e-02,
                                                 1.000000e-01, 1.200000e-01, 1.400000e-01, 1.600000e-01, 1.800000e-01,
                                                 2.000000e-01, 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.800000e-01,
                                                 3.000000e-01, 3.200000e-01, 3.400000e-01, 3.600000e-01, 3.800000e-01,
                                                 4.000000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 2.000000e-02, 4.000000e-02, 6.000000e-02, 8.000000e-02,
                                                 1.000000e-01, 1.200000e-01, 1.400000e-01, 1.600000e-01, 1.800000e-01,
                                                 2.000000e-01, 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.800000e-01,
                                                 3.000000e-01, 3.200000e-01, 3.400000e-01, 3.600000e-01, 3.800000e-01,
                                                 4.000000e-01],
}

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' : [2.978640e+01, 1.030790e+01, 4.886660e+00, 2.832180e+00, 1.842850e+00,
                                                 1.294370e+00, 9.578340e-01, 7.304340e-01, 5.793280e-01, 4.661840e-01,
                                                 3.831980e-01, 3.205950e-01, 2.708790e-01, 2.314850e-01, 2.002390e-01,
                                                 1.749210e-01, 1.540320e-01, 1.377110e-01, 1.247770e-01, 9.866970e-02],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [7.235895e+00, 1.360756e+00, 5.646985e-01, 3.003898e-01, 2.254052e-01,
                                                 1.327053e-01, 1.000697e-01, 8.267935e-02, 6.630711e-02, 5.066458e-02,
                                                 4.034394e-02, 3.347367e-02, 2.761678e-02, 2.149571e-02, 2.078333e-02,
                                                 1.662716e-02, 1.665006e-02, 1.414387e-02, 1.075268e-02, 6.733959e-03],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [5.817403e+00, 7.038693e-01, 2.608639e-01, 1.533177e-01, 9.247315e-02,
                                                 5.976563e-02, 4.444768e-02, 3.915669e-02, 3.120379e-02, 2.128305e-02,
                                                 1.951463e-02, 1.419504e-02, 1.347823e-02, 1.039823e-02, 7.635218e-03,
                                                 8.876399e-03, 6.764163e-03, 5.998073e-03, 4.726000e-03, 2.830670e-03],
}

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

yerrs = {
                                       'Data' : [
                                                   [9.968500e-01, 2.222045e-01, 7.405291e-02, 3.689028e-02, 1.984379e-02,
                                                    6.007284e-03, 4.367887e-03, 3.846082e-03, 2.983063e-03, 2.250083e-03,
                                                    1.874607e-03, 1.711982e-03, 1.414830e-03, 1.101536e-03, 8.988770e-04,
                                                    1.064671e-03, 1.234622e-03, 1.090435e-03, 2.241460e-03, 2.688104e-03],
                                                   [1.032256e+00, 2.353818e-01, 8.408298e-02, 4.355056e-02, 2.512905e-02,
                                                    1.176458e-02, 8.949428e-03, 7.128199e-03, 5.494906e-03, 4.537882e-03,
                                                    3.646308e-03, 3.106993e-03, 2.611125e-03, 2.274660e-03, 1.925721e-03,
                                                    1.853952e-03, 1.839771e-03, 1.599433e-03, 2.457471e-03, 2.798930e-03],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.878744e-01, 4.220934e-02, 2.126024e-02, 1.196444e-02, 1.183372e-02,
                                                    7.021076e-03, 4.887972e-03, 4.560561e-03, 3.744683e-03, 2.941030e-03,
                                                    2.549964e-03, 2.234805e-03, 2.334966e-03, 1.440653e-03, 1.594417e-03,
                                                    1.665096e-03, 1.109060e-03, 1.073187e-03, 7.896413e-04, 6.895267e-04],
                                                   [1.878744e-01, 4.220934e-02, 2.126024e-02, 1.196444e-02, 1.183372e-02,
                                                    7.021076e-03, 4.887972e-03, 4.560561e-03, 3.744683e-03, 2.941030e-03,
                                                    2.549964e-03, 2.234805e-03, 2.334966e-03, 1.440653e-03, 1.594417e-03,
                                                    1.665096e-03, 1.109060e-03, 1.073187e-03, 7.896413e-04, 6.895267e-04],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.642501e-01, 2.816771e-02, 1.294638e-02, 8.175643e-03, 5.633004e-03,
                                                    4.222933e-03, 3.569535e-03, 5.814452e-03, 2.195403e-03, 1.600579e-03,
                                                    1.511070e-03, 1.390838e-03, 1.084615e-03, 8.993474e-04, 8.857991e-04,
                                                    9.954745e-04, 7.194144e-04, 8.007817e-04, 5.160032e-04, 4.467601e-04],
                                                   [1.642501e-01, 2.816771e-02, 1.294638e-02, 8.175643e-03, 5.633004e-03,
                                                    4.222933e-03, 3.569535e-03, 5.814452e-03, 2.195403e-03, 1.600579e-03,
                                                    1.511070e-03, 1.390838e-03, 1.084615e-03, 8.993474e-04, 8.857991e-04,
                                                    9.954745e-04, 7.194144e-04, 8.007817e-04, 5.160032e-04, 4.467601e-04],
                                                ],
}

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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [2.429261e-01, 1.320110e-01, 1.155592e-01, 1.060631e-01, 1.223134e-01,
                                                 1.025250e-01, 1.044750e-01, 1.131921e-01, 1.144552e-01, 1.086794e-01,
                                                 1.052822e-01, 1.044111e-01, 1.019525e-01, 9.286006e-02, 1.037926e-01,
                                                 9.505525e-02, 1.080948e-01, 1.027069e-01, 8.617518e-02, 6.824749e-02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.953040e-01, 6.828445e-02, 5.338286e-02, 5.413417e-02, 5.017942e-02,
                                                 4.617353e-02, 4.640437e-02, 5.360743e-02, 5.386204e-02, 4.565375e-02,
                                                 5.092571e-02, 4.427717e-02, 4.975738e-02, 4.491967e-02, 3.813052e-02,
                                                 5.074519e-02, 4.391401e-02, 4.355551e-02, 3.787557e-02, 2.868834e-02],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [3.346662e-02, 2.155672e-02, 1.515410e-02, 1.302540e-02, 1.076799e-02,
                                                    4.641087e-03, 4.560171e-03, 5.265475e-03, 5.149178e-03, 4.826599e-03,
                                                    4.892006e-03, 5.340015e-03, 5.223107e-03, 4.758563e-03, 4.489021e-03,
                                                    6.086582e-03, 8.015360e-03, 7.918285e-03, 1.796373e-02, 2.724346e-02],
                                                   [3.465528e-02, 2.283509e-02, 1.720664e-02, 1.537705e-02, 1.363597e-02,
                                                    9.089039e-03, 9.343402e-03, 9.758854e-03, 9.484965e-03, 9.734101e-03,
                                                    9.515467e-03, 9.691333e-03, 9.639452e-03, 9.826382e-03, 9.617113e-03,
                                                    1.059880e-02, 1.194408e-02, 1.161442e-02, 1.969490e-02, 2.836666e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [6.307389e-03, 4.094853e-03, 4.350669e-03, 4.224463e-03, 6.421423e-03,
                                                    5.424319e-03, 5.103151e-03, 6.243632e-03, 6.463839e-03, 6.308732e-03,
                                                    6.654429e-03, 6.970804e-03, 8.619959e-03, 6.223526e-03, 7.962570e-03,
                                                    9.519131e-03, 7.200192e-03, 7.793038e-03, 6.328420e-03, 6.988231e-03],
                                                   [6.307389e-03, 4.094853e-03, 4.350669e-03, 4.224463e-03, 6.421423e-03,
                                                    5.424319e-03, 5.103151e-03, 6.243632e-03, 6.463839e-03, 6.308732e-03,
                                                    6.654429e-03, 6.970804e-03, 8.619959e-03, 6.223526e-03, 7.962570e-03,
                                                    9.519131e-03, 7.200192e-03, 7.793038e-03, 6.328420e-03, 6.988231e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [5.514265e-03, 2.732633e-03, 2.649331e-03, 2.886696e-03, 3.056681e-03,
                                                    3.262539e-03, 3.726674e-03, 7.960270e-03, 3.789568e-03, 3.433363e-03,
                                                    3.943314e-03, 4.338302e-03, 4.004057e-03, 3.885122e-03, 4.423709e-03,
                                                    5.690995e-03, 4.670552e-03, 5.814944e-03, 4.135403e-03, 4.527835e-03],
                                                   [5.514265e-03, 2.732633e-03, 2.649331e-03, 2.886696e-03, 3.056681e-03,
                                                    3.262539e-03, 3.726674e-03, 7.960270e-03, 3.789568e-03, 3.433363e-03,
                                                    3.943314e-03, 4.338302e-03, 4.004057e-03, 3.885122e-03, 4.423709e-03,
                                                    5.690995e-03, 4.670552e-03, 5.814944e-03, 4.135403e-03, 4.527835e-03],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
