
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' : [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' : [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' : [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' : [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' : [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' : [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' : [4.931960e-04, 5.248910e-01, 9.528800e-01, 1.222580e+00, 1.472080e+00,
                                                 1.664030e+00, 1.782000e+00, 1.808380e+00, 1.727230e+00, 1.555310e+00,
                                                 1.310210e+00, 1.027060e+00, 7.380100e-01, 4.766050e-01, 2.615730e-01,
                                                 1.179260e-01, 3.952480e-02, 6.633240e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 4.674251e-03, 1.802033e-02, 2.773451e-02, 3.856106e-02,
                                                 5.860784e-02, 8.003641e-02, 1.020827e-01, 1.302235e-01, 1.423980e-01,
                                                 1.734372e-01, 1.723644e-01, 1.733107e-01, 1.609444e-01, 1.554126e-01,
                                                 1.645485e-01, 1.848447e-01, 2.307146e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 2.613698e-04, 3.219977e-03, 3.619717e-03, 8.476204e-03,
                                                 8.481543e-03, 2.102284e-02, 3.024676e-02, 5.383230e-02, 6.906566e-02,
                                                 7.844549e-02, 9.649262e-02, 8.449602e-02, 1.007034e-01, 8.598728e-02,
                                                 1.139242e-01, 1.220742e-01, 2.171499e-01],
}

xerrs = {
                                       'Data' : [
                                                   [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],
                                                   [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' : [
                                                   [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],
                                                   [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' : [
                                                   [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],
                                                   [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' : [
                                                   [2.244312e-05, 2.662189e-02, 4.083003e-02, 2.656950e-02, 1.060927e-02,
                                                    1.391311e-02, 1.887167e-02, 2.789734e-02, 2.980490e-02, 2.583521e-02,
                                                    1.344878e-02, 7.257257e-03, 5.324724e-03, 3.618936e-03, 3.237187e-03,
                                                    2.257031e-03, 1.117511e-03, 2.992608e-04],
                                                   [2.302362e-05, 2.706428e-02, 4.174026e-02, 2.880225e-02, 1.732087e-02,
                                                    2.134753e-02, 2.514624e-02, 3.252907e-02, 3.347873e-02, 2.875612e-02,
                                                    1.672669e-02, 1.101077e-02, 8.974177e-03, 7.320986e-03, 5.737669e-03,
                                                    3.568623e-03, 1.650068e-03, 3.982140e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 8.418396e-04, 3.096842e-03, 2.689704e-03, 3.614050e-03,
                                                    4.528125e-03, 4.524995e-03, 4.998495e-03, 6.356941e-03, 6.191189e-03,
                                                    7.647201e-03, 7.255329e-03, 7.030763e-03, 6.830093e-03, 7.044456e-03,
                                                    7.547166e-03, 7.310040e-03, 7.842589e-03],
                                                   [0.000000e+00, 8.418396e-04, 3.096842e-03, 2.689704e-03, 3.614050e-03,
                                                    4.528125e-03, 4.524995e-03, 4.998495e-03, 6.356941e-03, 6.191189e-03,
                                                    7.647201e-03, 7.255329e-03, 7.030763e-03, 6.830093e-03, 7.044456e-03,
                                                    7.547166e-03, 7.310040e-03, 7.842589e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 1.855023e-04, 1.338040e-03, 9.502248e-04, 1.409560e-03,
                                                    1.327915e-03, 2.475997e-03, 2.554154e-03, 4.404511e-03, 5.058260e-03,
                                                    5.223959e-03, 1.296486e-02, 7.239646e-03, 1.322896e-02, 5.121692e-03,
                                                    6.165573e-03, 5.777645e-03, 7.178330e-03],
                                                   [0.000000e+00, 1.855023e-04, 1.338040e-03, 9.502248e-04, 1.409560e-03,
                                                    1.327915e-03, 2.475997e-03, 2.554154e-03, 4.404511e-03, 5.058260e-03,
                                                    5.223959e-03, 1.296486e-02, 7.239646e-03, 1.322896e-02, 5.121692e-03,
                                                    6.165573e-03, 5.777645e-03, 7.178330e-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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 8.905184e-03, 1.891144e-02, 2.268523e-02, 2.619495e-02,
                                                 3.522042e-02, 4.491381e-02, 5.644981e-02, 7.539442e-02, 9.155602e-02,
                                                 1.323736e-01, 1.678231e-01, 2.348352e-01, 3.376893e-01, 5.941462e-01,
                                                 1.395354e+00, 4.676676e+00, 3.478158e+01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 4.979506e-04, 3.379205e-03, 2.960720e-03, 5.757978e-03,
                                                 5.096989e-03, 1.179733e-02, 1.672589e-02, 3.116684e-02, 4.440636e-02,
                                                 5.987246e-02, 9.395032e-02, 1.144917e-01, 2.112932e-01, 3.287315e-01,
                                                 9.660652e-01, 3.088547e+00, 3.273663e+01],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [4.550548e-02, 5.071889e-02, 4.284908e-02, 2.173232e-02, 7.206993e-03,
                                                    8.361093e-03, 1.059016e-02, 1.542670e-02, 1.725590e-02, 1.661097e-02,
                                                    1.026460e-02, 7.066050e-03, 7.214975e-03, 7.593156e-03, 1.237585e-02,
                                                    1.913938e-02, 2.827367e-02, 4.511533e-02],
                                                   [4.668250e-02, 5.156171e-02, 4.380432e-02, 2.355858e-02, 1.176626e-02,
                                                    1.282881e-02, 1.411125e-02, 1.798796e-02, 1.938290e-02, 1.848900e-02,
                                                    1.276642e-02, 1.072067e-02, 1.215997e-02, 1.536070e-02, 2.193525e-02,
                                                    3.026155e-02, 4.174766e-02, 6.003311e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 1.603837e-03, 3.249981e-03, 2.200023e-03, 2.455064e-03,
                                                    2.721180e-03, 2.539279e-03, 2.764073e-03, 3.680425e-03, 3.980678e-03,
                                                    5.836622e-03, 7.064172e-03, 9.526650e-03, 1.433072e-02, 2.693113e-02,
                                                    6.399917e-02, 1.849482e-01, 1.182316e+00],
                                                   [0.000000e+00, 1.603837e-03, 3.249981e-03, 2.200023e-03, 2.455064e-03,
                                                    2.721180e-03, 2.539279e-03, 2.764073e-03, 3.680425e-03, 3.980678e-03,
                                                    5.836622e-03, 7.064172e-03, 9.526650e-03, 1.433072e-02, 2.693113e-02,
                                                    6.399917e-02, 1.849482e-01, 1.182316e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 3.534111e-04, 1.404206e-03, 7.772291e-04, 9.575295e-04,
                                                    7.980115e-04, 1.389448e-03, 1.412399e-03, 2.550043e-03, 3.252252e-03,
                                                    3.987116e-03, 1.262327e-02, 9.809686e-03, 2.775665e-02, 1.958035e-02,
                                                    5.228341e-02, 1.461777e-01, 1.082176e+00],
                                                   [0.000000e+00, 3.534111e-04, 1.404206e-03, 7.772291e-04, 9.575295e-04,
                                                    7.980115e-04, 1.389448e-03, 1.412399e-03, 2.550043e-03, 3.252252e-03,
                                                    3.987116e-03, 1.262327e-02, 9.809686e-03, 2.775665e-02, 1.958035e-02,
                                                    5.228341e-02, 1.461777e-01, 1.082176e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
