
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' : [3.759110e-04, 5.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03,
                                                 2.854575e-03, 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02,
                                                 2.167690e-02, 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01,
                                                 1.646090e-01, 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [3.759110e-04, 5.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03,
                                                 2.854575e-03, 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02,
                                                 2.167690e-02, 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01,
                                                 1.646090e-01, 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [3.759110e-04, 5.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03,
                                                 2.854575e-03, 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02,
                                                 2.167690e-02, 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01,
                                                 1.646090e-01, 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
}

xedges = {
                                       'Data' : [3.007290e-04, 4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03,
                                                 2.283660e-03, 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02,
                                                 1.734150e-02, 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02,
                                                 1.316869e-01, 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-01,
                                                 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [3.007290e-04, 4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03,
                                                 2.283660e-03, 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02,
                                                 1.734150e-02, 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02,
                                                 1.316869e-01, 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-01,
                                                 1.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [3.007290e-04, 4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03,
                                                 2.283660e-03, 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02,
                                                 1.734150e-02, 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02,
                                                 1.316869e-01, 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-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' : [1.581980e-02, 6.199430e-01, 9.059850e-01, 1.156030e+00, 1.402930e+00,
                                                 1.622120e+00, 1.775800e+00, 1.866220e+00, 1.874290e+00, 1.787070e+00,
                                                 1.624950e+00, 1.408120e+00, 1.164500e+00, 9.108150e-01, 6.735470e-01,
                                                 4.569500e-01, 2.770890e-01, 1.437160e-01, 5.613270e-02, 9.831870e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [3.321051e-04, 1.038556e-02, 1.279654e-02, 2.267524e-02, 4.700227e-02,
                                                 4.011336e-02, 8.098362e-02, 1.192084e-01, 1.192972e-01, 1.442164e-01,
                                                 1.710655e-01, 1.980167e-01, 1.970450e-01, 1.669296e-01, 1.760414e-01,
                                                 1.794473e-01, 1.328890e-01, 1.625645e-01, 2.286752e-01, 3.057003e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 2.296258e-03, 3.257211e-03, 2.961699e-03, 4.916133e-03,
                                                 1.634166e-02, 2.190145e-02, 4.450685e-02, 5.657961e-02, 6.897479e-02,
                                                 6.555375e-02, 8.691425e-02, 8.470739e-02, 7.416793e-02, 9.143814e-02,
                                                 1.052751e-01, 9.249654e-02, 1.469316e-01, 1.909837e-01, 3.122400e-01],
}

xerrs = {
                                       'Data' : [
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [7.518200e-05, 1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04,
                                                    5.709150e-04, 8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03,
                                                    4.335400e-03, 6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02,
                                                    3.292205e-02, 4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [5.476443e-04, 2.096296e-02, 2.231834e-02, 1.308971e-02, 1.844634e-02,
                                                    1.766582e-02, 2.113535e-02, 2.901730e-02, 3.309928e-02, 2.849712e-02,
                                                    1.967939e-02, 1.767654e-02, 1.548432e-02, 1.169645e-02, 8.232189e-03,
                                                    7.008369e-03, 5.709043e-03, 3.560784e-03, 1.603901e-03, 3.579718e-04],
                                                   [5.696520e-04, 2.175190e-02, 2.388532e-02, 1.703663e-02, 2.322768e-02,
                                                    2.412641e-02, 2.716806e-02, 3.364450e-02, 3.682748e-02, 3.262029e-02,
                                                    2.421338e-02, 2.102986e-02, 1.770520e-02, 1.375693e-02, 1.011534e-02,
                                                    8.392788e-03, 6.782645e-03, 4.242181e-03, 1.846625e-03, 3.898436e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [3.321051e-04, 2.727956e-03, 4.097787e-03, 4.927324e-03, 9.263533e-03,
                                                    5.609458e-03, 9.522165e-03, 1.235284e-02, 1.202237e-02, 1.425860e-02,
                                                    1.620469e-02, 1.890135e-02, 1.703785e-02, 1.327266e-02, 1.621536e-02,
                                                    2.070420e-02, 1.311338e-02, 1.492778e-02, 2.144188e-02, 2.216455e-02],
                                                   [3.321051e-04, 2.727956e-03, 4.097787e-03, 4.927324e-03, 9.263533e-03,
                                                    5.609458e-03, 9.522165e-03, 1.235284e-02, 1.202237e-02, 1.425860e-02,
                                                    1.620469e-02, 1.890135e-02, 1.703785e-02, 1.327266e-02, 1.621536e-02,
                                                    2.070420e-02, 1.311338e-02, 1.492778e-02, 2.144188e-02, 2.216455e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 1.653330e-03, 1.911185e-03, 1.601522e-03, 2.069250e-03,
                                                    3.511387e-03, 4.401369e-03, 7.872199e-03, 1.018167e-02, 1.029785e-02,
                                                    7.873501e-03, 1.062779e-02, 1.115512e-02, 8.893482e-03, 9.975132e-03,
                                                    1.323949e-02, 9.943217e-03, 1.617463e-02, 1.864820e-02, 2.421682e-02],
                                                   [0.000000e+00, 1.653330e-03, 1.911185e-03, 1.601522e-03, 2.069250e-03,
                                                    3.511387e-03, 4.401369e-03, 7.872199e-03, 1.018167e-02, 1.029785e-02,
                                                    7.873501e-03, 1.062779e-02, 1.115512e-02, 8.893482e-03, 9.975132e-03,
                                                    1.323949e-02, 9.943217e-03, 1.617463e-02, 1.864820e-02, 2.421682e-02],
                                                ],
}

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.099300e-02, 1.675244e-02, 1.412445e-02, 1.961475e-02, 3.350293e-02,
                                                 2.472897e-02, 4.560402e-02, 6.387693e-02, 6.364928e-02, 8.069992e-02,
                                                 1.052743e-01, 1.406249e-01, 1.692100e-01, 1.832750e-01, 2.613647e-01,
                                                 3.927066e-01, 4.795896e-01, 1.131151e+00, 4.073832e+00, 3.109279e+01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.703982e-03, 3.595215e-03, 2.561957e-03, 3.504190e-03,
                                                 1.007426e-02, 1.233329e-02, 2.384866e-02, 3.018722e-02, 3.859658e-02,
                                                 4.034201e-02, 6.172361e-02, 7.274143e-02, 8.143029e-02, 1.357561e-01,
                                                 2.303865e-01, 3.338153e-01, 1.022375e+00, 3.402361e+00, 3.175795e+01],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [3.461765e-02, 3.381433e-02, 2.463434e-02, 1.132298e-02, 1.314844e-02,
                                                    1.089058e-02, 1.190188e-02, 1.554870e-02, 1.765964e-02, 1.594628e-02,
                                                    1.211077e-02, 1.255329e-02, 1.329697e-02, 1.284174e-02, 1.222214e-02,
                                                    1.533728e-02, 2.060364e-02, 2.477653e-02, 2.857338e-02, 3.640933e-02],
                                                   [3.600880e-02, 3.508694e-02, 2.636392e-02, 1.473719e-02, 1.655655e-02,
                                                    1.487338e-02, 1.529905e-02, 1.802815e-02, 1.964876e-02, 1.825350e-02,
                                                    1.490100e-02, 1.493471e-02, 1.520412e-02, 1.510398e-02, 1.501802e-02,
                                                    1.836697e-02, 2.447822e-02, 2.951781e-02, 3.289749e-02, 3.965101e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [2.099300e-02, 4.400334e-03, 4.523019e-03, 4.262280e-03, 6.602990e-03,
                                                    3.458103e-03, 5.362183e-03, 6.619177e-03, 6.414360e-03, 7.978759e-03,
                                                    9.972424e-03, 1.342311e-02, 1.463104e-02, 1.457229e-02, 2.407458e-02,
                                                    4.530955e-02, 4.732552e-02, 1.038700e-01, 3.819855e-01, 2.254358e+00],
                                                   [2.099300e-02, 4.400334e-03, 4.523019e-03, 4.262280e-03, 6.602990e-03,
                                                    3.458103e-03, 5.362183e-03, 6.619177e-03, 6.414360e-03, 7.978759e-03,
                                                    9.972424e-03, 1.342311e-02, 1.463104e-02, 1.457229e-02, 2.407458e-02,
                                                    4.530955e-02, 4.732552e-02, 1.038700e-01, 3.819855e-01, 2.254358e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 2.666906e-03, 2.109511e-03, 1.385364e-03, 1.474949e-03,
                                                    2.164690e-03, 2.478527e-03, 4.218259e-03, 5.432281e-03, 5.762421e-03,
                                                    4.845380e-03, 7.547503e-03, 9.579322e-03, 9.764312e-03, 1.480985e-02,
                                                    2.897361e-02, 3.588456e-02, 1.125458e-01, 3.322163e-01, 2.463094e+00],
                                                   [0.000000e+00, 2.666906e-03, 2.109511e-03, 1.385364e-03, 1.474949e-03,
                                                    2.164690e-03, 2.478527e-03, 4.218259e-03, 5.432281e-03, 5.762421e-03,
                                                    4.845380e-03, 7.547503e-03, 9.579322e-03, 9.764312e-03, 1.480985e-02,
                                                    2.897361e-02, 3.588456e-02, 1.125458e-01, 3.322163e-01, 2.463094e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
