
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' : [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' : [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' : [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' : [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' : [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' : [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' : [4.085400e-01, 8.766850e-01, 1.145350e+00, 1.423150e+00, 1.663690e+00,
                                                 1.860770e+00, 1.968750e+00, 1.982990e+00, 1.897160e+00, 1.729290e+00,
                                                 1.491480e+00, 1.228180e+00, 9.424970e-01, 6.800110e-01, 4.416950e-01,
                                                 2.530060e-01, 1.225110e-01, 4.524000e-02, 7.523350e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [3.843034e-03, 1.631725e-02, 3.007047e-02, 3.637491e-02, 5.657811e-02,
                                                 7.924747e-02, 1.069059e-01, 1.341351e-01, 1.673480e-01, 1.417011e-01,
                                                 1.629215e-01, 2.117300e-01, 1.930914e-01, 1.829494e-01, 1.708209e-01,
                                                 1.407370e-01, 1.637048e-01, 1.829092e-01, 2.818480e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 4.450853e-04, 2.734232e-03, 6.547702e-03, 2.171750e-02,
                                                 2.808689e-02, 3.764746e-02, 5.270387e-02, 6.931728e-02, 8.605696e-02,
                                                 9.575758e-02, 8.821357e-02, 9.663833e-02, 9.751534e-02, 9.367380e-02,
                                                 1.122303e-01, 1.087075e-01, 1.521795e-01, 2.542688e-01],
}

xerrs = {
                                       'Data' : [
                                                   [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],
                                                   [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' : [
                                                   [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],
                                                   [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' : [
                                                   [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],
                                                   [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' : [
                                                   [1.723501e-02, 3.201363e-02, 2.033310e-02, 1.519176e-02, 2.112826e-02,
                                                    2.173944e-02, 2.675610e-02, 3.144741e-02, 3.031737e-02, 2.242738e-02,
                                                    1.612467e-02, 1.206872e-02, 9.317742e-03, 7.828481e-03, 6.431504e-03,
                                                    4.564049e-03, 2.763680e-03, 1.449059e-03, 3.760756e-04],
                                                   [1.769448e-02, 3.310719e-02, 2.348071e-02, 2.066750e-02, 2.736534e-02,
                                                    2.874004e-02, 3.257135e-02, 3.593650e-02, 3.517886e-02, 2.716513e-02,
                                                    2.087380e-02, 1.617517e-02, 1.248666e-02, 1.001799e-02, 8.188461e-03,
                                                    5.658164e-03, 3.412980e-03, 1.699850e-03, 4.117493e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [3.093149e-03, 4.526528e-03, 7.222643e-03, 6.727409e-03, 9.958369e-03,
                                                    1.173579e-02, 1.349544e-02, 1.662154e-02, 1.744583e-02, 1.347523e-02,
                                                    1.502423e-02, 1.811725e-02, 1.763370e-02, 1.727163e-02, 1.889655e-02,
                                                    1.685189e-02, 1.856017e-02, 1.739967e-02, 2.386458e-02],
                                                   [3.093149e-03, 4.526528e-03, 7.222643e-03, 6.727409e-03, 9.958369e-03,
                                                    1.173579e-02, 1.349544e-02, 1.662154e-02, 1.744583e-02, 1.347523e-02,
                                                    1.502423e-02, 1.811725e-02, 1.763370e-02, 1.727163e-02, 1.889655e-02,
                                                    1.685189e-02, 1.856017e-02, 1.739967e-02, 2.386458e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 4.450853e-04, 1.955589e-03, 2.815789e-03, 5.026373e-03,
                                                    9.203151e-03, 8.194113e-03, 8.728456e-03, 1.187452e-02, 1.354820e-02,
                                                    1.112461e-02, 1.261785e-02, 1.271824e-02, 1.250350e-02, 1.164410e-02,
                                                    1.591461e-02, 1.149338e-02, 1.566104e-02, 2.050805e-02],
                                                   [0.000000e+00, 4.450853e-04, 1.955589e-03, 2.815789e-03, 5.026373e-03,
                                                    9.203151e-03, 8.194113e-03, 8.728456e-03, 1.187452e-02, 1.354820e-02,
                                                    1.112461e-02, 1.261785e-02, 1.271824e-02, 1.250350e-02, 1.164410e-02,
                                                    1.591461e-02, 1.149338e-02, 1.566104e-02, 2.050805e-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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [9.406751e-03, 1.861244e-02, 2.625439e-02, 2.555944e-02, 3.400760e-02,
                                                 4.258854e-02, 5.430141e-02, 6.764285e-02, 8.820975e-02, 8.194178e-02,
                                                 1.092348e-01, 1.723933e-01, 2.048722e-01, 2.690389e-01, 3.867395e-01,
                                                 5.562595e-01, 1.336246e+00, 4.043086e+00, 3.746310e+01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 5.076912e-04, 2.387246e-03, 4.600852e-03, 1.305381e-02,
                                                 1.509423e-02, 1.912252e-02, 2.657798e-02, 3.653739e-02, 4.976433e-02,
                                                 6.420306e-02, 7.182463e-02, 1.025344e-01, 1.434026e-01, 2.120780e-01,
                                                 4.435875e-01, 8.873285e-01, 3.363826e+00, 3.379728e+01],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [4.218684e-02, 3.651669e-02, 1.775274e-02, 1.067474e-02, 1.269964e-02,
                                                    1.168303e-02, 1.359040e-02, 1.585858e-02, 1.598040e-02, 1.296913e-02,
                                                    1.081119e-02, 9.826508e-03, 9.886230e-03, 1.151229e-02, 1.456096e-02,
                                                    1.803929e-02, 2.255863e-02, 3.203048e-02, 4.998778e-02],
                                                   [4.331150e-02, 3.776407e-02, 2.050090e-02, 1.452236e-02, 1.644858e-02,
                                                    1.544524e-02, 1.654418e-02, 1.812238e-02, 1.854291e-02, 1.570883e-02,
                                                    1.399536e-02, 1.317003e-02, 1.324849e-02, 1.473210e-02, 1.853872e-02,
                                                    2.236375e-02, 2.785856e-02, 3.757405e-02, 5.472952e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [7.571227e-03, 5.163232e-03, 6.306058e-03, 4.727126e-03, 5.985712e-03,
                                                    6.306954e-03, 6.854827e-03, 8.382059e-03, 9.195761e-03, 7.792348e-03,
                                                    1.007337e-02, 1.475130e-02, 1.870956e-02, 2.539905e-02, 4.278190e-02,
                                                    6.660668e-02, 1.514980e-01, 3.846081e-01, 3.172068e+00],
                                                   [7.571227e-03, 5.163232e-03, 6.306058e-03, 4.727126e-03, 5.985712e-03,
                                                    6.306954e-03, 6.854827e-03, 8.382059e-03, 9.195761e-03, 7.792348e-03,
                                                    1.007337e-02, 1.475130e-02, 1.870956e-02, 2.539905e-02, 4.278190e-02,
                                                    6.660668e-02, 1.514980e-01, 3.846081e-01, 3.172068e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 5.076912e-04, 1.707416e-03, 1.978561e-03, 3.021220e-03,
                                                    4.945883e-03, 4.162089e-03, 4.401664e-03, 6.259103e-03, 7.834545e-03,
                                                    7.458772e-03, 1.027362e-02, 1.349420e-02, 1.838720e-02, 2.636231e-02,
                                                    6.290211e-02, 9.381509e-02, 3.461768e-01, 2.725920e+00],
                                                   [0.000000e+00, 5.076912e-04, 1.707416e-03, 1.978561e-03, 3.021220e-03,
                                                    4.945883e-03, 4.162089e-03, 4.401664e-03, 6.259103e-03, 7.834545e-03,
                                                    7.458772e-03, 1.027362e-02, 1.349420e-02, 1.838720e-02, 2.636231e-02,
                                                    6.290211e-02, 9.381509e-02, 3.461768e-01, 2.725920e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
