
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.000000e-03, 1.500000e-02, 2.500000e-02, 3.500000e-02, 4.500000e-02,
                                                 5.500000e-02, 6.500000e-02, 7.500000e-02, 8.500000e-02, 9.500000e-02,
                                                 1.050000e-01, 1.150000e-01, 1.250000e-01, 1.350000e-01, 1.450000e-01,
                                                 1.550000e-01, 1.650000e-01, 1.750000e-01, 1.900000e-01, 2.100000e-01,
                                                 2.300000e-01, 2.500000e-01, 2.750000e-01, 3.100000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [5.000000e-03, 1.500000e-02, 2.500000e-02, 3.500000e-02, 4.500000e-02,
                                                 5.500000e-02, 6.500000e-02, 7.500000e-02, 8.500000e-02, 9.500000e-02,
                                                 1.050000e-01, 1.150000e-01, 1.250000e-01, 1.350000e-01, 1.450000e-01,
                                                 1.550000e-01, 1.650000e-01, 1.750000e-01, 1.900000e-01, 2.100000e-01,
                                                 2.300000e-01, 2.500000e-01, 2.750000e-01, 3.100000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [5.000000e-03, 1.500000e-02, 2.500000e-02, 3.500000e-02, 4.500000e-02,
                                                 5.500000e-02, 6.500000e-02, 7.500000e-02, 8.500000e-02, 9.500000e-02,
                                                 1.050000e-01, 1.150000e-01, 1.250000e-01, 1.350000e-01, 1.450000e-01,
                                                 1.550000e-01, 1.650000e-01, 1.750000e-01, 1.900000e-01, 2.100000e-01,
                                                 2.300000e-01, 2.500000e-01, 2.750000e-01, 3.100000e-01],
}

xedges = {
                                       'Data' : [0.000000e+00, 1.000000e-02, 2.000000e-02, 3.000000e-02, 4.000000e-02,
                                                 5.000000e-02, 6.000000e-02, 7.000000e-02, 8.000000e-02, 9.000000e-02,
                                                 1.000000e-01, 1.100000e-01, 1.200000e-01, 1.300000e-01, 1.400000e-01,
                                                 1.500000e-01, 1.600000e-01, 1.700000e-01, 1.800000e-01, 2.000000e-01,
                                                 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.900000e-01, 3.300000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 1.000000e-02, 2.000000e-02, 3.000000e-02, 4.000000e-02,
                                                 5.000000e-02, 6.000000e-02, 7.000000e-02, 8.000000e-02, 9.000000e-02,
                                                 1.000000e-01, 1.100000e-01, 1.200000e-01, 1.300000e-01, 1.400000e-01,
                                                 1.500000e-01, 1.600000e-01, 1.700000e-01, 1.800000e-01, 2.000000e-01,
                                                 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.900000e-01, 3.300000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 1.000000e-02, 2.000000e-02, 3.000000e-02, 4.000000e-02,
                                                 5.000000e-02, 6.000000e-02, 7.000000e-02, 8.000000e-02, 9.000000e-02,
                                                 1.000000e-01, 1.100000e-01, 1.200000e-01, 1.300000e-01, 1.400000e-01,
                                                 1.500000e-01, 1.600000e-01, 1.700000e-01, 1.800000e-01, 2.000000e-01,
                                                 2.200000e-01, 2.400000e-01, 2.600000e-01, 2.900000e-01, 3.300000e-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.096000e-01, 2.379000e-01, 2.579000e-01, 2.651000e-01, 2.617000e-01,
                                                 2.411000e-01, 2.223000e-01, 1.970000e-01, 1.668000e-01, 1.401000e-01,
                                                 1.189000e-01, 1.013000e-01, 8.418000e-02, 6.917000e-02, 5.551000e-02,
                                                 4.713000e-02, 4.042000e-02, 3.202000e-02, 2.590000e-02, 1.648000e-02,
                                                 1.198000e-02, 7.078000e-03, 3.772000e-03, 1.329000e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [8.448877e-02, 1.530003e-01, 7.851965e-02, 3.122616e-01, 2.052274e-01,
                                                 1.331363e-01, 4.614514e-01, 1.999745e-01, 2.514170e-01, 9.795803e-02,
                                                 1.897716e-01, 1.560889e-01, 5.954209e-02, 5.022155e-02, 9.343679e-02,
                                                 7.487072e-02, 9.163838e-03, 0.000000e+00, 1.812245e-02, 1.869186e-02,
                                                 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.493697e-02, 2.948018e-01, 1.542790e-01, 1.772859e-01, 1.804517e-01,
                                                 1.704372e-01, 1.115018e-01, 2.931487e-01, 3.417546e-01, 2.017010e-01,
                                                 0.000000e+00, 9.839160e-02, 1.004829e-01, 2.860016e-02, 1.955362e-01,
                                                 0.000000e+00, 5.487947e-03, 2.056340e-02, 5.549948e-03, 0.000000e+00,
                                                 2.973219e-03, 0.000000e+00, 2.043333e-02, 0.000000e+00],
}

xerrs = {
                                       'Data' : [
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                   [5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03, 5.000000e-03,
                                                    5.000000e-03, 5.000000e-03, 5.000000e-03, 1.000000e-02, 1.000000e-02,
                                                    1.000000e-02, 1.000000e-02, 1.500000e-02, 2.000000e-02],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [5.203252e-03, 1.079405e-02, 1.184156e-02, 1.245732e-02, 1.180535e-02,
                                                    1.087341e-02, 1.007565e-02, 9.014135e-03, 7.530456e-03, 6.721926e-03,
                                                    5.811109e-03, 4.975452e-03, 4.499923e-03, 3.730997e-03, 2.964188e-03,
                                                    2.614466e-03, 2.336252e-03, 1.984164e-03, 1.544622e-03, 1.124627e-03,
                                                    8.876310e-04, 6.316801e-04, 4.097577e-04, 2.264838e-04],
                                                   [5.340721e-03, 1.109934e-02, 1.214468e-02, 1.284460e-02, 1.203413e-02,
                                                    1.120832e-02, 1.032259e-02, 9.257781e-03, 7.707949e-03, 6.888877e-03,
                                                    5.913574e-03, 5.054166e-03, 4.518729e-03, 3.800807e-03, 2.975743e-03,
                                                    2.624775e-03, 2.343789e-03, 1.988781e-03, 1.550021e-03, 1.126942e-03,
                                                    8.856550e-04, 6.326257e-04, 4.101871e-04, 2.266912e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [3.982748e-02, 7.592901e-02, 3.415539e-02, 1.420300e-01, 9.008808e-02,
                                                    5.625867e-02, 1.773909e-01, 6.987292e-02, 7.517615e-02, 4.508138e-02,
                                                    7.890692e-02, 7.714172e-02, 3.448291e-02, 2.541135e-02, 5.230942e-02,
                                                    4.455237e-02, 9.163838e-03, 0.000000e+00, 1.400419e-02, 1.869186e-02,
                                                    0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
                                                   [3.982748e-02, 7.592901e-02, 3.415539e-02, 1.420300e-01, 9.008808e-02,
                                                    5.625867e-02, 1.773909e-01, 6.987292e-02, 7.517615e-02, 4.508138e-02,
                                                    7.890692e-02, 7.714172e-02, 3.448291e-02, 2.541135e-02, 5.230942e-02,
                                                    4.455237e-02, 9.163838e-03, 0.000000e+00, 1.400419e-02, 1.869186e-02,
                                                    0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [8.866168e-03, 1.060828e-01, 7.363809e-02, 6.443392e-02, 8.991931e-02,
                                                    7.163639e-02, 4.824926e-02, 1.097642e-01, 1.791346e-01, 8.257317e-02,
                                                    0.000000e+00, 4.186785e-02, 7.244405e-02, 1.824340e-02, 1.005023e-01,
                                                    0.000000e+00, 5.487947e-03, 2.056340e-02, 5.549948e-03, 0.000000e+00,
                                                    2.973219e-03, 0.000000e+00, 1.826294e-02, 0.000000e+00],
                                                   [8.866168e-03, 1.060828e-01, 7.363809e-02, 6.443392e-02, 8.991931e-02,
                                                    7.163639e-02, 4.824926e-02, 1.097642e-01, 1.791346e-01, 8.257317e-02,
                                                    0.000000e+00, 4.186785e-02, 7.244405e-02, 1.824340e-02, 1.005023e-01,
                                                    0.000000e+00, 5.487947e-03, 2.056340e-02, 5.549948e-03, 0.000000e+00,
                                                    2.973219e-03, 0.000000e+00, 1.826294e-02, 0.000000e+00],
                                                ],
}

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' : [7.708829e-01, 6.431286e-01, 3.044577e-01, 1.177901e+00, 7.842086e-01,
                                                 5.522036e-01, 2.075805e+00, 1.015099e+00, 1.507296e+00, 6.992008e-01,
                                                 1.596061e+00, 1.540858e+00, 7.073187e-01, 7.260597e-01, 1.683242e+00,
                                                 1.588600e+00, 2.267154e-01, 0.000000e+00, 6.997085e-01, 1.134215e+00,
                                                 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.362862e-01, 1.239184e+00, 5.982125e-01, 6.687510e-01, 6.895365e-01,
                                                 7.069150e-01, 5.015825e-01, 1.488064e+00, 2.048888e+00, 1.439693e+00,
                                                 0.000000e+00, 9.712892e-01, 1.193667e+00, 4.134764e-01, 3.522540e+00,
                                                 0.000000e+00, 1.357731e-01, 6.422049e-01, 2.142837e-01, 0.000000e+00,
                                                 2.481819e-01, 0.000000e+00, 5.417108e+00, 0.000000e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [4.747493e-02, 4.537222e-02, 4.591531e-02, 4.699103e-02, 4.511025e-02,
                                                    4.509915e-02, 4.532455e-02, 4.575703e-02, 4.514662e-02, 4.797948e-02,
                                                    4.887392e-02, 4.911601e-02, 5.345596e-02, 5.393953e-02, 5.339917e-02,
                                                    5.547350e-02, 5.779941e-02, 6.196638e-02, 5.963792e-02, 6.824192e-02,
                                                    7.409274e-02, 8.924556e-02, 1.086314e-01, 1.704167e-01],
                                                   [4.872920e-02, 4.665550e-02, 4.709066e-02, 4.845191e-02, 4.598445e-02,
                                                    4.648826e-02, 4.643542e-02, 4.699381e-02, 4.621073e-02, 4.917114e-02,
                                                    4.973569e-02, 4.989305e-02, 5.367937e-02, 5.494877e-02, 5.360733e-02,
                                                    5.569222e-02, 5.798587e-02, 6.211058e-02, 5.984639e-02, 6.838239e-02,
                                                    7.392779e-02, 8.937917e-02, 1.087452e-01, 1.705728e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [3.633894e-01, 3.191636e-01, 1.324366e-01, 5.357601e-01, 3.442418e-01,
                                                    2.333416e-01, 7.979798e-01, 3.546849e-01, 4.506963e-01, 3.217800e-01,
                                                    6.636410e-01, 7.615175e-01, 4.096330e-01, 3.673753e-01, 9.423423e-01,
                                                    9.453081e-01, 2.267154e-01, 0.000000e+00, 5.407023e-01, 1.134215e+00,
                                                    0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
                                                   [3.633894e-01, 3.191636e-01, 1.324366e-01, 5.357601e-01, 3.442418e-01,
                                                    2.333416e-01, 7.979798e-01, 3.546849e-01, 4.506963e-01, 3.217800e-01,
                                                    6.636410e-01, 7.615175e-01, 4.096330e-01, 3.673753e-01, 9.423423e-01,
                                                    9.453081e-01, 2.267154e-01, 0.000000e+00, 5.407023e-01, 1.134215e+00,
                                                    0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [8.089569e-02, 4.459134e-01, 2.855296e-01, 2.430551e-01, 3.435969e-01,
                                                    2.971231e-01, 2.170457e-01, 5.571787e-01, 1.073948e+00, 5.893874e-01,
                                                    0.000000e+00, 4.133055e-01, 8.605851e-01, 2.637473e-01, 1.810526e+00,
                                                    0.000000e+00, 1.357731e-01, 6.422049e-01, 2.142837e-01, 0.000000e+00,
                                                    2.481819e-01, 0.000000e+00, 4.841713e+00, 0.000000e+00],
                                                   [8.089569e-02, 4.459134e-01, 2.855296e-01, 2.430551e-01, 3.435969e-01,
                                                    2.971231e-01, 2.170457e-01, 5.571787e-01, 1.073948e+00, 5.893874e-01,
                                                    0.000000e+00, 4.133055e-01, 8.605851e-01, 2.637473e-01, 1.810526e+00,
                                                    0.000000e+00, 1.357731e-01, 6.422049e-01, 2.142837e-01, 0.000000e+00,
                                                    2.481819e-01, 0.000000e+00, 4.841713e+00, 0.000000e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
