
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' : [5.074000e-02, 2.034000e-01, 2.875000e-01, 3.185000e-01, 3.437000e-01,
                                                 3.583000e-01, 3.662000e-01, 3.692000e-01, 3.741000e-01, 3.718000e-01,
                                                 3.725000e-01, 3.844000e-01, 4.003000e-01, 4.195000e-01, 4.435000e-01,
                                                 4.733000e-01, 4.985000e-01, 5.208000e-01, 5.334000e-01, 5.025000e-01,
                                                 1.865000e-01, 6.260000e-02, 1.449000e-02, 1.379000e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [4.112325e-02, 1.965946e-01, 3.346831e-01, 3.752053e-01, 3.206530e-01,
                                                 3.283057e-01, 3.339876e-01, 3.831936e-01, 2.913222e-01, 2.905648e-01,
                                                 4.640968e-01, 2.914163e-01, 4.421171e-01, 3.065137e-01, 5.097637e-01,
                                                 4.974637e-01, 3.721734e-01, 6.531656e-01, 4.682596e-01, 5.391053e-01,
                                                 2.467149e-01, 7.313780e-02, 1.857440e-02, 4.691054e-04],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [6.522121e-02, 1.880177e-01, 1.903351e-01, 1.888826e-01, 2.879553e-01,
                                                 2.730755e-01, 4.393636e-01, 2.888529e-01, 4.004681e-01, 3.462939e-01,
                                                 4.533751e-01, 5.318886e-01, 3.617797e-01, 3.785446e-01, 5.451456e-01,
                                                 4.700013e-01, 3.612325e-01, 5.646543e-01, 4.776867e-01, 6.996803e-01,
                                                 1.422975e-01, 4.436654e-02, 8.385570e-03, 3.552677e-03],
}

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' : [
                                                   [7.319995e-04, 2.017607e-03, 2.709931e-03, 3.134933e-03, 3.493079e-03,
                                                    3.742418e-03, 3.781128e-03, 3.944477e-03, 3.992946e-03, 3.925381e-03,
                                                    4.127830e-03, 4.384277e-03, 4.606592e-03, 4.982777e-03, 5.414191e-03,
                                                    5.723240e-03, 6.394567e-03, 6.953081e-03, 7.282415e-03, 6.979836e-03,
                                                    2.746827e-03, 1.122876e-03, 2.753430e-04, 7.446436e-05],
                                                   [7.454884e-04, 2.074403e-03, 2.797014e-03, 3.247791e-03, 3.577723e-03,
                                                    3.827957e-03, 3.870536e-03, 4.035470e-03, 4.037399e-03, 4.020695e-03,
                                                    4.171002e-03, 4.476441e-03, 4.649732e-03, 5.026036e-03, 5.407835e-03,
                                                    5.720705e-03, 6.342119e-03, 6.856961e-03, 7.192200e-03, 6.845482e-03,
                                                    2.708653e-03, 1.102215e-03, 2.732286e-04, 7.444040e-05],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [2.283751e-02, 4.779128e-02, 7.013437e-02, 6.778547e-02, 6.733930e-02,
                                                    5.248304e-02, 5.195275e-02, 6.588378e-02, 5.384956e-02, 4.916717e-02,
                                                    8.311230e-02, 4.768288e-02, 6.875285e-02, 4.927781e-02, 6.870068e-02,
                                                    6.814051e-02, 5.304290e-02, 9.675892e-02, 6.258906e-02, 8.493716e-02,
                                                    5.528560e-02, 2.394187e-02, 1.192208e-02, 4.691054e-04],
                                                   [2.283751e-02, 4.779128e-02, 7.013437e-02, 6.778547e-02, 6.733930e-02,
                                                    5.248304e-02, 5.195275e-02, 6.588378e-02, 5.384956e-02, 4.916717e-02,
                                                    8.311230e-02, 4.768288e-02, 6.875285e-02, 4.927781e-02, 6.870068e-02,
                                                    6.814051e-02, 5.304290e-02, 9.675892e-02, 6.258906e-02, 8.493716e-02,
                                                    5.528560e-02, 2.394187e-02, 1.192208e-02, 4.691054e-04],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [2.780591e-02, 5.098791e-02, 3.834697e-02, 4.037882e-02, 5.691731e-02,
                                                    4.691738e-02, 6.940969e-02, 5.197230e-02, 5.603213e-02, 5.653618e-02,
                                                    8.172138e-02, 9.195118e-02, 5.765676e-02, 5.508112e-02, 1.290924e-01,
                                                    7.936464e-02, 5.388844e-02, 9.630321e-02, 6.386274e-02, 1.323741e-01,
                                                    3.116042e-02, 1.478165e-02, 4.720860e-03, 3.552677e-03],
                                                   [2.780591e-02, 5.098791e-02, 3.834697e-02, 4.037882e-02, 5.691731e-02,
                                                    4.691738e-02, 6.940969e-02, 5.197230e-02, 5.603213e-02, 5.653618e-02,
                                                    8.172138e-02, 9.195118e-02, 5.765676e-02, 5.508112e-02, 1.290924e-01,
                                                    7.936464e-02, 5.388844e-02, 9.630321e-02, 6.386274e-02, 1.323741e-01,
                                                    3.116042e-02, 1.478165e-02, 4.720860e-03, 3.552677e-03],
                                                ],
}

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' : [8.104700e-01, 9.665418e-01, 1.164115e+00, 1.178039e+00, 9.329444e-01,
                                                 9.162872e-01, 9.120360e-01, 1.037902e+00, 7.787281e-01, 7.815083e-01,
                                                 1.245897e+00, 7.581069e-01, 1.104464e+00, 7.306644e-01, 1.149411e+00,
                                                 1.051054e+00, 7.465866e-01, 1.254158e+00, 8.778770e-01, 1.072846e+00,
                                                 1.322868e+00, 1.168335e+00, 1.281877e+00, 3.401780e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.285400e+00, 9.243741e-01, 6.620351e-01, 5.930380e-01, 8.378100e-01,
                                                 7.621421e-01, 1.199791e+00, 7.823751e-01, 1.070484e+00, 9.313983e-01,
                                                 1.217114e+00, 1.383685e+00, 9.037714e-01, 9.023709e-01, 1.229190e+00,
                                                 9.930304e-01, 7.246389e-01, 1.084206e+00, 8.955506e-01, 1.392399e+00,
                                                 7.629893e-01, 7.087307e-01, 5.787143e-01, 2.576270e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [1.442648e-02, 9.919404e-03, 9.425846e-03, 9.842805e-03, 1.016316e-02,
                                                    1.044493e-02, 1.032531e-02, 1.068385e-02, 1.067347e-02, 1.055778e-02,
                                                    1.108142e-02, 1.140551e-02, 1.150785e-02, 1.187790e-02, 1.220787e-02,
                                                    1.209220e-02, 1.282762e-02, 1.335077e-02, 1.365282e-02, 1.389022e-02,
                                                    1.472830e-02, 1.793732e-02, 1.900227e-02, 5.399881e-02],
                                                   [1.469232e-02, 1.019864e-02, 9.728746e-03, 1.019715e-02, 1.040944e-02,
                                                    1.068366e-02, 1.056946e-02, 1.093031e-02, 1.079230e-02, 1.081413e-02,
                                                    1.119732e-02, 1.164527e-02, 1.161562e-02, 1.198101e-02, 1.219354e-02,
                                                    1.208685e-02, 1.272241e-02, 1.316621e-02, 1.348369e-02, 1.362285e-02,
                                                    1.452361e-02, 1.760727e-02, 1.885636e-02, 5.398144e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [4.500889e-01, 2.349620e-01, 2.439456e-01, 2.128272e-01, 1.959246e-01,
                                                    1.464779e-01, 1.418699e-01, 1.784501e-01, 1.439443e-01, 1.322409e-01,
                                                    2.231203e-01, 1.240450e-01, 1.717533e-01, 1.174680e-01, 1.549057e-01,
                                                    1.439690e-01, 1.064050e-01, 1.857890e-01, 1.173398e-01, 1.690292e-01,
                                                    2.964375e-01, 3.824580e-01, 8.227798e-01, 3.401780e-01],
                                                   [4.500889e-01, 2.349620e-01, 2.439456e-01, 2.128272e-01, 1.959246e-01,
                                                    1.464779e-01, 1.418699e-01, 1.784501e-01, 1.439443e-01, 1.322409e-01,
                                                    2.231203e-01, 1.240450e-01, 1.717533e-01, 1.174680e-01, 1.549057e-01,
                                                    1.439690e-01, 1.064050e-01, 1.857890e-01, 1.173398e-01, 1.690292e-01,
                                                    2.964375e-01, 3.824580e-01, 8.227798e-01, 3.401780e-01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [5.480077e-01, 2.506780e-01, 1.333808e-01, 1.267781e-01, 1.656017e-01,
                                                    1.309444e-01, 1.895404e-01, 1.407700e-01, 1.497785e-01, 1.520607e-01,
                                                    2.193863e-01, 2.392070e-01, 1.440339e-01, 1.313018e-01, 2.910764e-01,
                                                    1.676836e-01, 1.081012e-01, 1.849140e-01, 1.197277e-01, 2.634310e-01,
                                                    1.670800e-01, 2.361286e-01, 3.258012e-01, 2.576270e+00],
                                                   [5.480077e-01, 2.506780e-01, 1.333808e-01, 1.267781e-01, 1.656017e-01,
                                                    1.309444e-01, 1.895404e-01, 1.407700e-01, 1.497785e-01, 1.520607e-01,
                                                    2.193863e-01, 2.392070e-01, 1.440339e-01, 1.313018e-01, 2.910764e-01,
                                                    1.676836e-01, 1.081012e-01, 1.849140e-01, 1.197277e-01, 2.634310e-01,
                                                    1.670800e-01, 2.361286e-01, 3.258012e-01, 2.576270e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
