
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.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.800000e-01, 9.600000e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.800000e-01, 9.600000e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.500000e-02, 4.500000e-02, 7.500000e-02, 1.050000e-01, 1.400000e-01,
                                                 1.800000e-01, 2.200000e-01, 2.600000e-01, 3.000000e-01, 3.400000e-01,
                                                 3.800000e-01, 4.200000e-01, 4.600000e-01, 5.000000e-01, 5.400000e-01,
                                                 5.800000e-01, 6.200000e-01, 6.600000e-01, 7.000000e-01, 7.400000e-01,
                                                 7.800000e-01, 8.200000e-01, 8.800000e-01, 9.600000e-01],
}

xedges = {
                                       'Data' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 9.200000e-01, 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 9.200000e-01, 1.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.000000e-02, 6.000000e-02, 9.000000e-02, 1.200000e-01,
                                                 1.600000e-01, 2.000000e-01, 2.400000e-01, 2.800000e-01, 3.200000e-01,
                                                 3.600000e-01, 4.000000e-01, 4.400000e-01, 4.800000e-01, 5.200000e-01,
                                                 5.600000e-01, 6.000000e-01, 6.400000e-01, 6.800000e-01, 7.200000e-01,
                                                 7.600000e-01, 8.000000e-01, 8.400000e-01, 9.200000e-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.089000e-05, 1.407000e-04, 6.457000e-04, 1.707000e-03, 3.647000e-03,
                                                 6.428000e-03, 9.858000e-03, 1.386000e-02, 1.777000e-02, 2.061000e-02,
                                                 2.517000e-02, 2.892000e-02, 3.317000e-02, 3.613000e-02, 4.087000e-02,
                                                 4.398000e-02, 4.786000e-02, 5.155000e-02, 5.553000e-02, 5.859000e-02,
                                                 4.680000e-02, 2.641000e-02, 9.235000e-03, 9.710000e-04],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                 9.672493e-03, 1.866388e-03, 2.203188e-02, 3.048517e-02, 1.855197e-02,
                                                 2.914045e-02, 3.415406e-02, 3.239950e-02, 4.753634e-02, 1.012406e-01,
                                                 2.145316e-01, 5.900697e-02, 6.268483e-02, 3.854013e-02, 6.759943e-02,
                                                 5.216701e-02, 3.316507e-02, 3.266424e-02, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.480423e-03,
                                                 4.662404e-03, 7.321175e-03, 1.340336e-02, 1.202355e-02, 9.803617e-02,
                                                 1.818834e-02, 2.753598e-02, 2.842599e-02, 2.106812e-02, 7.227476e-02,
                                                 4.106504e-02, 5.538531e-02, 3.805997e-02, 9.865893e-02, 1.528677e-01,
                                                 9.145462e-02, 3.667254e-02, 2.005565e-02, 0.000000e+00],
}

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

yerrs = {
                                       'Data' : [
                                                   [1.000824e-05, 3.144398e-05, 7.582117e-05, 1.267784e-04, 1.919027e-04,
                                                    3.061395e-04, 4.078889e-04, 5.699631e-04, 7.137629e-04, 8.126669e-04,
                                                    9.742673e-04, 1.117182e-03, 1.270788e-03, 1.365595e-03, 1.545218e-03,
                                                    1.653107e-03, 1.783723e-03, 1.983508e-03, 2.100839e-03, 2.205196e-03,
                                                    1.794674e-03, 1.061512e-03, 3.826690e-04, 7.370243e-05],
                                                   [1.000772e-05, 3.141278e-05, 7.558785e-05, 1.258777e-04, 1.928165e-04,
                                                    3.063528e-04, 4.118490e-04, 5.770316e-04, 7.275620e-04, 8.364282e-04,
                                                    1.003681e-03, 1.160424e-03, 1.323669e-03, 1.454280e-03, 1.593740e-03,
                                                    1.786028e-03, 1.915557e-03, 2.040645e-03, 2.241484e-03, 2.343815e-03,
                                                    1.864009e-03, 1.116214e-03, 3.989439e-04, 7.803969e-05],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                    7.119389e-03, 1.866388e-03, 1.472921e-02, 1.166463e-02, 9.246764e-03,
                                                    2.176108e-02, 1.612043e-02, 1.550422e-02, 1.970751e-02, 3.994264e-02,
                                                    1.822854e-01, 1.803523e-02, 1.829283e-02, 1.093777e-02, 2.144336e-02,
                                                    1.939616e-02, 1.480120e-02, 1.265966e-02, 0.000000e+00],
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                    7.119389e-03, 1.866388e-03, 1.472921e-02, 1.166463e-02, 9.246764e-03,
                                                    2.176108e-02, 1.612043e-02, 1.550422e-02, 1.970751e-02, 3.994264e-02,
                                                    1.822854e-01, 1.803523e-02, 1.829283e-02, 1.093777e-02, 2.144336e-02,
                                                    1.939616e-02, 1.480120e-02, 1.265966e-02, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.480423e-03,
                                                    4.662404e-03, 4.502159e-03, 7.288843e-03, 8.830805e-03, 5.030312e-02,
                                                    7.608430e-03, 1.233680e-02, 1.330468e-02, 8.246426e-03, 3.717412e-02,
                                                    1.411410e-02, 2.059070e-02, 1.480424e-02, 4.531859e-02, 4.053819e-02,
                                                    2.814985e-02, 1.398012e-02, 9.297856e-03, 0.000000e+00],
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.480423e-03,
                                                    4.662404e-03, 4.502159e-03, 7.288843e-03, 8.830805e-03, 5.030312e-02,
                                                    7.608430e-03, 1.233680e-02, 1.330468e-02, 8.246426e-03, 3.717412e-02,
                                                    1.411410e-02, 2.059070e-02, 1.480424e-02, 4.531859e-02, 4.053819e-02,
                                                    2.814985e-02, 1.398012e-02, 9.297856e-03, 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' : [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                 1.504744e+00, 1.893272e-01, 1.589602e+00, 1.715541e+00, 9.001441e-01,
                                                 1.157745e+00, 1.180984e+00, 9.767712e-01, 1.315703e+00, 2.477137e+00,
                                                 4.877935e+00, 1.232908e+00, 1.216001e+00, 6.940416e-01, 1.153771e+00,
                                                 1.114680e+00, 1.255777e+00, 3.537005e+00, 0.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 4.059290e-01,
                                                 7.253273e-01, 7.426633e-01, 9.670534e-01, 6.766207e-01, 4.756728e+00,
                                                 7.226198e-01, 9.521432e-01, 8.569789e-01, 5.831198e-01, 1.768406e+00,
                                                 9.337208e-01, 1.157236e+00, 7.383117e-01, 1.776678e+00, 2.609109e+00,
                                                 1.954159e+00, 1.388585e+00, 2.171700e+00, 0.000000e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [9.190299e-01, 2.234824e-01, 1.174248e-01, 7.426970e-02, 5.261932e-02,
                                                    4.762593e-02, 4.137643e-02, 4.112288e-02, 4.016674e-02, 3.943071e-02,
                                                    3.870748e-02, 3.863007e-02, 3.831137e-02, 3.779671e-02, 3.780813e-02,
                                                    3.758769e-02, 3.726959e-02, 3.847736e-02, 3.783250e-02, 3.763775e-02,
                                                    3.834774e-02, 4.019355e-02, 4.143682e-02, 7.590363e-02],
                                                   [9.189829e-01, 2.232607e-01, 1.170634e-01, 7.374204e-02, 5.286989e-02,
                                                    4.765911e-02, 4.177815e-02, 4.163287e-02, 4.094327e-02, 4.058361e-02,
                                                    3.987607e-02, 4.012530e-02, 3.990562e-02, 4.025130e-02, 3.899535e-02,
                                                    4.061000e-02, 4.002418e-02, 3.958575e-02, 4.036528e-02, 4.000367e-02,
                                                    3.982926e-02, 4.226484e-02, 4.319913e-02, 8.037043e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                    1.107559e+00, 1.893272e-01, 1.062714e+00, 6.564226e-01, 4.486542e-01,
                                                    8.645642e-01, 5.574146e-01, 4.674169e-01, 5.454611e-01, 9.773095e-01,
                                                    4.144734e+00, 3.768331e-01, 3.548561e-01, 1.969705e-01, 3.659901e-01,
                                                    4.144479e-01, 5.604392e-01, 1.370835e+00, 0.000000e+00],
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
                                                    1.107559e+00, 1.893272e-01, 1.062714e+00, 6.564226e-01, 4.486542e-01,
                                                    8.645642e-01, 5.574146e-01, 4.674169e-01, 5.454611e-01, 9.773095e-01,
                                                    4.144734e+00, 3.768331e-01, 3.548561e-01, 1.969705e-01, 3.659901e-01,
                                                    4.144479e-01, 5.604392e-01, 1.370835e+00, 0.000000e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 4.059290e-01,
                                                    7.253273e-01, 4.567011e-01, 5.258905e-01, 4.969502e-01, 2.440714e+00,
                                                    3.022817e-01, 4.265837e-01, 4.011058e-01, 2.282432e-01, 9.095699e-01,
                                                    3.209209e-01, 4.302277e-01, 2.871822e-01, 8.161100e-01, 6.918961e-01,
                                                    6.014925e-01, 5.293495e-01, 1.006806e+00, 0.000000e+00],
                                                   [0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 4.059290e-01,
                                                    7.253273e-01, 4.567011e-01, 5.258905e-01, 4.969502e-01, 2.440714e+00,
                                                    3.022817e-01, 4.265837e-01, 4.011058e-01, 2.282432e-01, 9.095699e-01,
                                                    3.209209e-01, 4.302277e-01, 2.871822e-01, 8.161100e-01, 6.918961e-01,
                                                    6.014925e-01, 5.293495e-01, 1.006806e+00, 0.000000e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
