
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' : [1.440880e+02, 3.126720e+01, 1.347870e+01, 7.524290e+00, 4.796790e+00,
                                                 3.304070e+00, 2.408670e+00, 1.832230e+00, 1.431150e+00, 1.147920e+00,
                                                 9.324860e-01, 7.813830e-01, 6.599410e-01, 5.542050e-01, 4.733160e-01,
                                                 4.074850e-01, 3.542970e-01, 3.131130e-01, 2.863620e-01, 2.509080e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [2.598476e+01, 3.643321e+00, 1.629577e+00, 8.163344e-01, 3.680940e-01,
                                                 3.155610e-01, 3.037470e-01, 1.774491e-01, 1.468428e-01, 8.352972e-02,
                                                 1.334257e-01, 8.247763e-02, 6.820162e-02, 7.536226e-02, 2.883211e-02,
                                                 3.241791e-02, 3.462253e-02, 3.630016e-02, 2.160844e-02, 2.778070e-02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.967772e+01, 1.835111e+00, 8.724815e-01, 3.440799e-01, 2.243498e-01,
                                                 1.751913e-01, 1.404389e-01, 1.119202e-01, 9.105672e-02, 8.898598e-02,
                                                 3.389653e-02, 4.074702e-02, 4.101518e-02, 3.396417e-02, 3.543854e-02,
                                                 2.378702e-02, 1.141479e-02, 2.008136e-02, 2.554127e-02, 1.210796e-02],
}

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' : [
                                                   [3.619044e+00, 6.445494e-01, 2.343932e-01, 1.229949e-01, 7.632805e-02,
                                                    4.420567e-02, 3.291091e-02, 2.515693e-02, 2.033400e-02, 1.614907e-02,
                                                    1.319373e-02, 1.163300e-02, 9.617750e-03, 7.205241e-03, 6.271635e-03,
                                                    5.368624e-03, 4.298562e-03, 4.378864e-03, 7.847639e-03, 8.648631e-03],
                                                   [3.851778e+00, 7.143662e-01, 2.730186e-01, 1.458236e-01, 9.023212e-02,
                                                    5.537467e-02, 3.987260e-02, 3.061606e-02, 2.468004e-02, 1.958090e-02,
                                                    1.555642e-02, 1.373271e-02, 1.149199e-02, 8.819530e-03, 7.856972e-03,
                                                    6.589438e-03, 5.562604e-03, 5.257907e-03, 8.234326e-03, 8.928113e-03],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.450438e+00, 2.756873e-01, 1.531163e-01, 8.651310e-02, 4.837076e-02,
                                                    4.134793e-02, 3.933533e-02, 2.735444e-02, 2.131210e-02, 1.366515e-02,
                                                    2.305761e-02, 1.224255e-02, 1.112692e-02, 1.619443e-02, 6.622653e-03,
                                                    7.298007e-03, 6.659913e-03, 6.613770e-03, 4.862681e-03, 6.451213e-03],
                                                   [1.450438e+00, 2.756873e-01, 1.531163e-01, 8.651310e-02, 4.837076e-02,
                                                    4.134793e-02, 3.933533e-02, 2.735444e-02, 2.131210e-02, 1.366515e-02,
                                                    2.305761e-02, 1.224255e-02, 1.112692e-02, 1.619443e-02, 6.622653e-03,
                                                    7.298007e-03, 6.659913e-03, 6.613770e-03, 4.862681e-03, 6.451213e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.258706e+00, 2.070086e-01, 1.106698e-01, 5.239067e-02, 3.731077e-02,
                                                    3.381286e-02, 2.400650e-02, 2.298121e-02, 2.138162e-02, 1.705493e-02,
                                                    8.046423e-03, 1.132473e-02, 1.181117e-02, 7.969131e-03, 8.442582e-03,
                                                    5.361132e-03, 4.045360e-03, 6.297140e-03, 7.473054e-03, 4.426604e-03],
                                                   [1.258706e+00, 2.070086e-01, 1.106698e-01, 5.239067e-02, 3.731077e-02,
                                                    3.381286e-02, 2.400650e-02, 2.298121e-02, 2.138162e-02, 1.705493e-02,
                                                    8.046423e-03, 1.132473e-02, 1.181117e-02, 7.969131e-03, 8.442582e-03,
                                                    5.361132e-03, 4.045360e-03, 6.297140e-03, 7.473054e-03, 4.426604e-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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.803395e-01, 1.165221e-01, 1.209002e-01, 1.084932e-01, 7.673757e-02,
                                                 9.550675e-02, 1.261057e-01, 9.684870e-02, 1.026048e-01, 7.276615e-02,
                                                 1.430860e-01, 1.055534e-01, 1.033450e-01, 1.359826e-01, 6.091514e-02,
                                                 7.955608e-02, 9.772177e-02, 1.159331e-01, 7.545848e-02, 1.107207e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.365674e-01, 5.869125e-02, 6.473039e-02, 4.572922e-02, 4.677082e-02,
                                                 5.302288e-02, 5.830558e-02, 6.108414e-02, 6.362486e-02, 7.751932e-02,
                                                 3.635071e-02, 5.214731e-02, 6.214977e-02, 6.128449e-02, 7.487290e-02,
                                                 5.837520e-02, 3.221814e-02, 6.413455e-02, 8.919225e-02, 4.825657e-02],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [2.511690e-02, 2.061423e-02, 1.738990e-02, 1.634638e-02, 1.591232e-02,
                                                    1.337916e-02, 1.366352e-02, 1.373022e-02, 1.420815e-02, 1.406811e-02,
                                                    1.414898e-02, 1.488771e-02, 1.457365e-02, 1.300104e-02, 1.325042e-02,
                                                    1.317502e-02, 1.213265e-02, 1.398493e-02, 2.740461e-02, 3.446933e-02],
                                                   [2.673212e-02, 2.284714e-02, 2.025556e-02, 1.938038e-02, 1.881094e-02,
                                                    1.675953e-02, 1.655378e-02, 1.670973e-02, 1.724490e-02, 1.705772e-02,
                                                    1.668274e-02, 1.757488e-02, 1.741366e-02, 1.591384e-02, 1.659984e-02,
                                                    1.617100e-02, 1.570040e-02, 1.679236e-02, 2.875495e-02, 3.558321e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.006633e-02, 8.817141e-03, 1.135987e-02, 1.149784e-02, 1.008399e-02,
                                                    1.251424e-02, 1.633073e-02, 1.492959e-02, 1.489159e-02, 1.190427e-02,
                                                    2.472703e-02, 1.566780e-02, 1.686048e-02, 2.922101e-02, 1.399203e-02,
                                                    1.790988e-02, 1.879754e-02, 2.112263e-02, 1.698089e-02, 2.571147e-02],
                                                   [1.006633e-02, 8.817141e-03, 1.135987e-02, 1.149784e-02, 1.008399e-02,
                                                    1.251424e-02, 1.633073e-02, 1.492959e-02, 1.489159e-02, 1.190427e-02,
                                                    2.472703e-02, 1.566780e-02, 1.686048e-02, 2.922101e-02, 1.399203e-02,
                                                    1.790988e-02, 1.879754e-02, 2.112263e-02, 1.698089e-02, 2.571147e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [8.735675e-03, 6.620631e-03, 8.210718e-03, 6.962872e-03, 7.778279e-03,
                                                    1.023370e-02, 9.966704e-03, 1.254275e-02, 1.494017e-02, 1.485725e-02,
                                                    8.629001e-03, 1.449319e-02, 1.789731e-02, 1.437939e-02, 1.783709e-02,
                                                    1.315664e-02, 1.141799e-02, 2.011140e-02, 2.609653e-02, 1.764234e-02],
                                                   [8.735675e-03, 6.620631e-03, 8.210718e-03, 6.962872e-03, 7.778279e-03,
                                                    1.023370e-02, 9.966704e-03, 1.254275e-02, 1.494017e-02, 1.485725e-02,
                                                    8.629001e-03, 1.449319e-02, 1.789731e-02, 1.437939e-02, 1.783709e-02,
                                                    1.315664e-02, 1.141799e-02, 2.011140e-02, 2.609653e-02, 1.764234e-02],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
