
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' : [6.181010e+01, 1.424810e+01, 6.221890e+00, 3.494480e+00, 2.239350e+00,
                                                 1.546840e+00, 1.132420e+00, 8.619870e-01, 6.748870e-01, 5.437430e-01,
                                                 4.424500e-01, 3.699580e-01, 3.107540e-01, 2.638040e-01, 2.273900e-01,
                                                 1.960160e-01, 1.701760e-01, 1.504340e-01, 1.356420e-01, 1.156260e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.191040e+01, 1.722556e+00, 8.410631e-01, 3.950020e-01, 2.275232e-01,
                                                 1.637207e-01, 1.272572e-01, 8.608929e-02, 6.274765e-02, 5.367655e-02,
                                                 5.114823e-02, 4.423978e-02, 3.299322e-02, 3.047434e-02, 2.848324e-02,
                                                 1.805921e-02, 2.203348e-02, 1.736036e-02, 1.266686e-02, 1.025393e-02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.408559e+00, 1.212372e+00, 3.619186e-01, 2.116383e-01, 1.171000e-01,
                                                 9.117031e-02, 4.524540e-02, 5.643566e-02, 4.673752e-02, 3.386003e-02,
                                                 2.703192e-02, 1.996728e-02, 1.786661e-02, 1.565042e-02, 1.066469e-02,
                                                 9.639369e-03, 6.488155e-03, 8.761089e-03, 6.524871e-03, 4.150321e-03],
}

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' : [
                                                   [1.636673e+00, 2.532172e-01, 8.586601e-02, 4.959677e-02, 3.158173e-02,
                                                    1.652405e-02, 1.355215e-02, 1.126699e-02, 8.492579e-03, 6.245269e-03,
                                                    4.800486e-03, 3.594154e-03, 2.562976e-03, 2.064785e-03, 1.753311e-03,
                                                    1.467161e-03, 1.238400e-03, 1.839473e-03, 3.628838e-03, 3.721524e-03],
                                                   [1.718605e+00, 2.798547e-01, 1.017382e-01, 5.792553e-02, 3.668404e-02,
                                                    2.108434e-02, 1.676551e-02, 1.333491e-02, 1.033647e-02, 7.890528e-03,
                                                    6.266313e-03, 4.902912e-03, 3.742064e-03, 3.086405e-03, 2.634051e-03,
                                                    2.225329e-03, 1.841680e-03, 2.282427e-03, 3.825049e-03, 3.862917e-03],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [5.863211e-01, 1.166633e-01, 6.888539e-02, 3.498701e-02, 2.004612e-02,
                                                    1.815785e-02, 1.388178e-02, 1.133807e-02, 8.106426e-03, 7.278552e-03,
                                                    6.772262e-03, 6.739079e-03, 4.714181e-03, 5.868675e-03, 5.511087e-03,
                                                    3.300935e-03, 3.984450e-03, 4.042776e-03, 2.431848e-03, 2.534487e-03],
                                                   [5.863211e-01, 1.166633e-01, 6.888539e-02, 3.498701e-02, 2.004612e-02,
                                                    1.815785e-02, 1.388178e-02, 1.133807e-02, 8.106426e-03, 7.278552e-03,
                                                    6.772262e-03, 6.739079e-03, 4.714181e-03, 5.868675e-03, 5.511087e-03,
                                                    3.300935e-03, 3.984450e-03, 4.042776e-03, 2.431848e-03, 2.534487e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [4.602900e-01, 1.178939e-01, 3.477645e-02, 2.819173e-02, 1.664173e-02,
                                                    1.205192e-02, 7.270499e-03, 8.911140e-03, 6.659002e-03, 7.661260e-03,
                                                    6.345156e-03, 4.517735e-03, 4.309311e-03, 2.949380e-03, 2.227433e-03,
                                                    2.242711e-03, 1.697349e-03, 1.887642e-03, 1.682571e-03, 1.299319e-03],
                                                   [4.602900e-01, 1.178939e-01, 3.477645e-02, 2.819173e-02, 1.664173e-02,
                                                    1.205192e-02, 7.270499e-03, 8.911140e-03, 6.659002e-03, 7.661260e-03,
                                                    6.345156e-03, 4.517735e-03, 4.309311e-03, 2.949380e-03, 2.227433e-03,
                                                    2.242711e-03, 1.697349e-03, 1.887642e-03, 1.682571e-03, 1.299319e-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.926934e-01, 1.208972e-01, 1.351781e-01, 1.130360e-01, 1.016023e-01,
                                                 1.058420e-01, 1.123763e-01, 9.987307e-02, 9.297505e-02, 9.871677e-02,
                                                 1.156023e-01, 1.195805e-01, 1.061715e-01, 1.155189e-01, 1.252616e-01,
                                                 9.213131e-02, 1.294747e-01, 1.154018e-01, 9.338450e-02, 8.868187e-02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.360386e-01, 8.509008e-02, 5.816860e-02, 6.056360e-02, 5.229196e-02,
                                                 5.893972e-02, 3.995461e-02, 6.547159e-02, 6.925236e-02, 6.227212e-02,
                                                 6.109599e-02, 5.397175e-02, 5.749438e-02, 5.932594e-02, 4.690044e-02,
                                                 4.917644e-02, 3.812615e-02, 5.823876e-02, 4.810362e-02, 3.589436e-02],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [2.647905e-02, 1.777200e-02, 1.380063e-02, 1.419289e-02, 1.410308e-02,
                                                    1.068246e-02, 1.196742e-02, 1.307095e-02, 1.258371e-02, 1.148570e-02,
                                                    1.084978e-02, 9.715033e-03, 8.247604e-03, 7.826966e-03, 7.710590e-03,
                                                    7.484904e-03, 7.277172e-03, 1.222777e-02, 2.675306e-02, 3.218588e-02],
                                                   [2.780460e-02, 1.964155e-02, 1.635166e-02, 1.657629e-02, 1.638156e-02,
                                                    1.363059e-02, 1.480503e-02, 1.546997e-02, 1.531585e-02, 1.451150e-02,
                                                    1.416276e-02, 1.325262e-02, 1.204189e-02, 1.169961e-02, 1.158385e-02,
                                                    1.135279e-02, 1.082221e-02, 1.517228e-02, 2.819959e-02, 3.340872e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [9.485846e-03, 8.187990e-03, 1.107146e-02, 1.001208e-02, 8.951758e-03,
                                                    1.173867e-02, 1.225851e-02, 1.315341e-02, 1.201153e-02, 1.338602e-02,
                                                    1.530628e-02, 1.821579e-02, 1.517014e-02, 2.224635e-02, 2.423628e-02,
                                                    1.684013e-02, 2.341370e-02, 2.687408e-02, 1.792843e-02, 2.191970e-02],
                                                   [9.485846e-03, 8.187990e-03, 1.107146e-02, 1.001208e-02, 8.951758e-03,
                                                    1.173867e-02, 1.225851e-02, 1.315341e-02, 1.201153e-02, 1.338602e-02,
                                                    1.530628e-02, 1.821579e-02, 1.517014e-02, 2.224635e-02, 2.423628e-02,
                                                    1.684013e-02, 2.341370e-02, 2.687408e-02, 1.792843e-02, 2.191970e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [7.446841e-03, 8.274359e-03, 5.589371e-03, 8.067504e-03, 7.431500e-03,
                                                    7.791316e-03, 6.420320e-03, 1.033791e-02, 9.866840e-03, 1.408985e-02,
                                                    1.434096e-02, 1.221148e-02, 1.386727e-02, 1.118019e-02, 9.795651e-03,
                                                    1.144147e-02, 9.974080e-03, 1.254797e-02, 1.240450e-02, 1.123726e-02],
                                                   [7.446841e-03, 8.274359e-03, 5.589371e-03, 8.067504e-03, 7.431500e-03,
                                                    7.791316e-03, 6.420320e-03, 1.033791e-02, 9.866840e-03, 1.408985e-02,
                                                    1.434096e-02, 1.221148e-02, 1.386727e-02, 1.118019e-02, 9.795651e-03,
                                                    1.144147e-02, 9.974080e-03, 1.254797e-02, 1.240450e-02, 1.123726e-02],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
