
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.800000e-01, 9.600000e-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.800000e-01, 9.600000e-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.800000e-01, 9.600000e-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, 9.200000e-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, 9.200000e-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, 9.200000e-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' : [7.638000e-02, 3.001000e-01, 3.949000e-01, 4.367000e-01, 4.559000e-01,
                                                 4.656000e-01, 4.548000e-01, 4.485000e-01, 4.337000e-01, 4.201000e-01,
                                                 4.093000e-01, 3.979000e-01, 3.903000e-01, 3.884000e-01, 3.939000e-01,
                                                 3.979000e-01, 4.159000e-01, 4.345000e-01, 4.660000e-01, 4.556000e-01,
                                                 1.480000e-01, 4.156000e-02, 9.238000e-03, 1.075000e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [9.960456e-02, 2.553201e-01, 3.626924e-01, 4.710476e-01, 3.978655e-01,
                                                 4.577215e-01, 3.172801e-01, 4.830862e-01, 4.568957e-01, 5.505790e-01,
                                                 3.900356e-01, 3.277632e-01, 4.465354e-01, 4.565612e-01, 4.259523e-01,
                                                 3.440594e-01, 5.374723e-01, 5.634616e-01, 5.603845e-01, 3.600966e-01,
                                                 2.110049e-01, 4.037676e-02, 1.739747e-02, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [6.242889e-02, 4.332662e-01, 4.051886e-01, 5.738351e-01, 3.269276e-01,
                                                 3.682240e-01, 5.039941e-01, 3.812944e-01, 3.214571e-01, 5.158040e-01,
                                                 4.820385e-01, 3.515628e-01, 4.788988e-01, 3.112056e-01, 4.896986e-01,
                                                 4.034597e-01, 3.490311e-01, 4.306013e-01, 6.053192e-01, 3.328028e-01,
                                                 1.743688e-01, 3.167845e-02, 3.273452e-03, 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, 4.000000e-02, 4.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, 4.000000e-02, 4.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, 4.000000e-02, 4.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, 4.000000e-02, 4.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, 4.000000e-02, 4.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, 4.000000e-02, 4.000000e-02],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [2.063764e-03, 6.009132e-03, 7.526438e-03, 8.327896e-03, 8.614670e-03,
                                                    8.815878e-03, 8.730514e-03, 8.655691e-03, 8.359270e-03, 8.043898e-03,
                                                    7.909462e-03, 7.754673e-03, 7.679534e-03, 7.617059e-03, 7.707570e-03,
                                                    7.650387e-03, 8.102757e-03, 8.849020e-03, 9.089087e-03, 9.067656e-03,
                                                    3.430425e-03, 1.349566e-03, 3.683600e-04, 1.320113e-04],
                                                   [2.099908e-03, 6.068931e-03, 7.590522e-03, 8.417550e-03, 8.709598e-03,
                                                    8.886194e-03, 8.801493e-03, 8.725799e-03, 8.432088e-03, 8.091598e-03,
                                                    7.956762e-03, 7.798545e-03, 7.723924e-03, 7.659442e-03, 7.723088e-03,
                                                    7.665308e-03, 8.115320e-03, 8.859543e-03, 9.098446e-03, 9.076103e-03,
                                                    3.432431e-03, 1.348798e-03, 3.687551e-04, 1.320306e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [4.158186e-02, 6.657524e-02, 8.531523e-02, 1.096326e-01, 7.984058e-02,
                                                    1.193734e-01, 6.099957e-02, 8.059887e-02, 9.119162e-02, 1.316212e-01,
                                                    8.906973e-02, 7.091258e-02, 8.198299e-02, 1.068998e-01, 6.418735e-02,
                                                    6.135469e-02, 1.123085e-01, 9.870980e-02, 1.007238e-01, 6.740890e-02,
                                                    9.869417e-02, 2.111821e-02, 1.061361e-02, 0.000000e+00],
                                                   [4.158186e-02, 6.657524e-02, 8.531523e-02, 1.096326e-01, 7.984058e-02,
                                                    1.193734e-01, 6.099957e-02, 8.059887e-02, 9.119162e-02, 1.316212e-01,
                                                    8.906973e-02, 7.091258e-02, 8.198299e-02, 1.068998e-01, 6.418735e-02,
                                                    6.135469e-02, 1.123085e-01, 9.870980e-02, 1.007238e-01, 6.740890e-02,
                                                    9.869417e-02, 2.111821e-02, 1.061361e-02, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [2.760913e-02, 1.112028e-01, 8.526479e-02, 9.684720e-02, 6.390204e-02,
                                                    6.413875e-02, 1.028677e-01, 6.344691e-02, 7.419336e-02, 9.246467e-02,
                                                    1.176512e-01, 7.700430e-02, 1.051258e-01, 5.943978e-02, 1.207396e-01,
                                                    7.158101e-02, 6.478977e-02, 8.153688e-02, 1.033998e-01, 6.013824e-02,
                                                    4.267131e-02, 1.895133e-02, 2.959827e-03, 0.000000e+00],
                                                   [2.760913e-02, 1.112028e-01, 8.526479e-02, 9.684720e-02, 6.390204e-02,
                                                    6.413875e-02, 1.028677e-01, 6.344691e-02, 7.419336e-02, 9.246467e-02,
                                                    1.176512e-01, 7.700430e-02, 1.051258e-01, 5.943978e-02, 1.207396e-01,
                                                    7.158101e-02, 6.478977e-02, 8.153688e-02, 1.033998e-01, 6.013824e-02,
                                                    4.267131e-02, 1.895133e-02, 2.959827e-03, 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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.304066e+00, 8.507834e-01, 9.184411e-01, 1.078653e+00, 8.727034e-01,
                                                 9.830788e-01, 6.976255e-01, 1.077115e+00, 1.053483e+00, 1.310590e+00,
                                                 9.529333e-01, 8.237326e-01, 1.144083e+00, 1.175492e+00, 1.081372e+00,
                                                 8.646881e-01, 1.292311e+00, 1.296805e+00, 1.202542e+00, 7.903788e-01,
                                                 1.425709e+00, 9.715294e-01, 1.883251e+00, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.173460e-01, 1.443739e+00, 1.026054e+00, 1.314026e+00, 7.171038e-01,
                                                 7.908591e-01, 1.108166e+00, 8.501547e-01, 7.411969e-01, 1.227812e+00,
                                                 1.177714e+00, 8.835456e-01, 1.227002e+00, 8.012503e-01, 1.243205e+00,
                                                 1.013973e+00, 8.392188e-01, 9.910272e-01, 1.298968e+00, 7.304715e-01,
                                                 1.178168e+00, 7.622341e-01, 3.543464e-01, 0.000000e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [2.701969e-02, 2.002376e-02, 1.905910e-02, 1.907006e-02, 1.889596e-02,
                                                    1.893445e-02, 1.919638e-02, 1.929920e-02, 1.927431e-02, 1.914758e-02,
                                                    1.932436e-02, 1.948900e-02, 1.967598e-02, 1.961138e-02, 1.956733e-02,
                                                    1.922691e-02, 1.948246e-02, 2.036598e-02, 1.950448e-02, 1.990267e-02,
                                                    2.317855e-02, 3.247271e-02, 3.987443e-02, 1.228012e-01],
                                                   [2.749290e-02, 2.022303e-02, 1.922138e-02, 1.927536e-02, 1.910419e-02,
                                                    1.908547e-02, 1.935245e-02, 1.945552e-02, 1.944221e-02, 1.926112e-02,
                                                    1.943993e-02, 1.959926e-02, 1.978971e-02, 1.972050e-02, 1.960672e-02,
                                                    1.926441e-02, 1.951267e-02, 2.039020e-02, 1.952456e-02, 1.992121e-02,
                                                    2.319210e-02, 3.245424e-02, 3.991720e-02, 1.228191e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [5.444077e-01, 2.218435e-01, 2.160426e-01, 2.510479e-01, 1.751274e-01,
                                                    2.563862e-01, 1.341239e-01, 1.797076e-01, 2.102643e-01, 3.133092e-01,
                                                    2.176148e-01, 1.782171e-01, 2.100512e-01, 2.752312e-01, 1.629534e-01,
                                                    1.541963e-01, 2.700373e-01, 2.271802e-01, 2.161455e-01, 1.479563e-01,
                                                    6.668525e-01, 5.081379e-01, 1.148908e+00, 0.000000e+00],
                                                   [5.444077e-01, 2.218435e-01, 2.160426e-01, 2.510479e-01, 1.751274e-01,
                                                    2.563862e-01, 1.341239e-01, 1.797076e-01, 2.102643e-01, 3.133092e-01,
                                                    2.176148e-01, 1.782171e-01, 2.100512e-01, 2.752312e-01, 1.629534e-01,
                                                    1.541963e-01, 2.700373e-01, 2.271802e-01, 2.161455e-01, 1.479563e-01,
                                                    6.668525e-01, 5.081379e-01, 1.148908e+00, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [3.614707e-01, 3.705525e-01, 2.159149e-01, 2.217706e-01, 1.401668e-01,
                                                    1.377550e-01, 2.261823e-01, 1.414647e-01, 1.710707e-01, 2.201016e-01,
                                                    2.874449e-01, 1.935268e-01, 2.693461e-01, 1.530375e-01, 3.065235e-01,
                                                    1.798970e-01, 1.557821e-01, 1.876568e-01, 2.218880e-01, 1.319979e-01,
                                                    2.883197e-01, 4.559993e-01, 3.203969e-01, 0.000000e+00],
                                                   [3.614707e-01, 3.705525e-01, 2.159149e-01, 2.217706e-01, 1.401668e-01,
                                                    1.377550e-01, 2.261823e-01, 1.414647e-01, 1.710707e-01, 2.201016e-01,
                                                    2.874449e-01, 1.935268e-01, 2.693461e-01, 1.530375e-01, 3.065235e-01,
                                                    1.798970e-01, 1.557821e-01, 1.876568e-01, 2.218880e-01, 1.319979e-01,
                                                    2.883197e-01, 4.559993e-01, 3.203969e-01, 0.000000e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
