
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' : [5.406960e+01, 1.342870e+01, 5.923070e+00, 3.347810e+00, 2.143480e+00,
                                                 1.489740e+00, 1.095340e+00, 8.324460e-01, 6.559840e-01, 5.271210e-01,
                                                 4.330830e-01, 3.597780e-01, 3.037280e-01, 2.586640e-01, 2.217520e-01,
                                                 1.914710e-01, 1.679610e-01, 1.475730e-01, 1.338940e-01, 1.126680e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.097316e+01, 1.596140e+00, 7.714407e-01, 3.793747e-01, 2.508686e-01,
                                                 1.547341e-01, 1.195796e-01, 8.367936e-02, 6.982613e-02, 6.680226e-02,
                                                 5.225596e-02, 3.906444e-02, 3.061926e-02, 3.029902e-02, 3.060566e-02,
                                                 2.114017e-02, 1.712112e-02, 1.377617e-02, 1.726601e-02, 9.873086e-03],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.350432e+00, 9.607576e-01, 3.692065e-01, 2.007762e-01, 1.339448e-01,
                                                 7.859228e-02, 5.585877e-02, 5.743647e-02, 2.582925e-02, 2.629691e-02,
                                                 2.062397e-02, 1.550787e-02, 1.925522e-02, 1.385349e-02, 1.740624e-02,
                                                 8.062577e-03, 1.238655e-02, 6.825701e-03, 7.817550e-03, 7.026869e-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.726542e+00, 2.843210e-01, 9.139223e-02, 4.898371e-02, 2.950895e-02,
                                                    1.411506e-02, 9.994156e-03, 7.263677e-03, 5.459027e-03, 4.360270e-03,
                                                    3.408570e-03, 2.454759e-03, 1.880199e-03, 1.672234e-03, 1.534288e-03,
                                                    1.441220e-03, 1.353262e-03, 1.033689e-03, 2.169327e-03, 2.824790e-03],
                                                   [1.786036e+00, 3.068499e-01, 1.052896e-01, 5.718810e-02, 3.451131e-02,
                                                    1.885846e-02, 1.347940e-02, 1.020756e-02, 7.724003e-03, 6.278112e-03,
                                                    5.037251e-03, 3.857882e-03, 3.184592e-03, 2.889390e-03, 2.496785e-03,
                                                    2.182136e-03, 2.028217e-03, 1.642538e-03, 2.462139e-03, 2.979269e-03],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [5.184630e-01, 9.897262e-02, 6.141783e-02, 3.222459e-02, 2.362470e-02,
                                                    1.477003e-02, 1.266235e-02, 9.120352e-03, 7.842502e-03, 8.213164e-03,
                                                    8.083976e-03, 5.258508e-03, 5.928049e-03, 5.498387e-03, 4.209498e-03,
                                                    4.056780e-03, 2.676747e-03, 2.650026e-03, 3.000110e-03, 1.930207e-03],
                                                   [5.184630e-01, 9.897262e-02, 6.141783e-02, 3.222459e-02, 2.362470e-02,
                                                    1.477003e-02, 1.266235e-02, 9.120352e-03, 7.842502e-03, 8.213164e-03,
                                                    8.083976e-03, 5.258508e-03, 5.928049e-03, 5.498387e-03, 4.209498e-03,
                                                    4.056780e-03, 2.676747e-03, 2.650026e-03, 3.000110e-03, 1.930207e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [4.351379e-01, 8.131742e-02, 3.868302e-02, 2.315128e-02, 1.823370e-02,
                                                    1.055839e-02, 8.102600e-03, 8.551404e-03, 5.042906e-03, 3.906374e-03,
                                                    3.610875e-03, 3.720420e-03, 3.784260e-03, 3.172191e-03, 4.987290e-03,
                                                    1.902527e-03, 2.868113e-03, 1.795616e-03, 1.740805e-03, 3.002292e-03],
                                                   [4.351379e-01, 8.131742e-02, 3.868302e-02, 2.315128e-02, 1.823370e-02,
                                                    1.055839e-02, 8.102600e-03, 8.551404e-03, 5.042906e-03, 3.906374e-03,
                                                    3.610875e-03, 3.720420e-03, 3.784260e-03, 3.172191e-03, 4.987290e-03,
                                                    1.902527e-03, 2.868113e-03, 1.795616e-03, 1.740805e-03, 3.002292e-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' : [2.029451e-01, 1.188604e-01, 1.302434e-01, 1.133203e-01, 1.170380e-01,
                                                 1.038665e-01, 1.091712e-01, 1.005223e-01, 1.064449e-01, 1.267304e-01,
                                                 1.206604e-01, 1.085793e-01, 1.008114e-01, 1.171366e-01, 1.380175e-01,
                                                 1.104093e-01, 1.019351e-01, 9.335156e-02, 1.289528e-01, 8.762990e-02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.544386e-01, 7.154509e-02, 6.233364e-02, 5.997240e-02, 6.248941e-02,
                                                 5.275570e-02, 5.099674e-02, 6.899723e-02, 3.937482e-02, 4.988781e-02,
                                                 4.762129e-02, 4.310400e-02, 6.339626e-02, 5.355786e-02, 7.849417e-02,
                                                 4.210861e-02, 7.374658e-02, 4.625305e-02, 5.838611e-02, 6.236792e-02],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [3.193184e-02, 2.117264e-02, 1.542988e-02, 1.463157e-02, 1.376684e-02,
                                                    9.474848e-03, 9.124250e-03, 8.725704e-03, 8.321890e-03, 8.271858e-03,
                                                    7.870477e-03, 6.822983e-03, 6.190404e-03, 6.464889e-03, 6.918936e-03,
                                                    7.527093e-03, 8.057001e-03, 7.004594e-03, 1.620182e-02, 2.507180e-02],
                                                   [3.303217e-02, 2.285031e-02, 1.777619e-02, 1.708224e-02, 1.610060e-02,
                                                    1.265889e-02, 1.230613e-02, 1.226213e-02, 1.177468e-02, 1.191019e-02,
                                                    1.163114e-02, 1.072295e-02, 1.048501e-02, 1.117044e-02, 1.125936e-02,
                                                    1.139669e-02, 1.207552e-02, 1.113034e-02, 1.838872e-02, 2.644290e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [9.588808e-03, 7.370231e-03, 1.036926e-02, 9.625573e-03, 1.102166e-02,
                                                    9.914502e-03, 1.156020e-02, 1.095609e-02, 1.195533e-02, 1.558117e-02,
                                                    1.866611e-02, 1.461598e-02, 1.951762e-02, 2.125687e-02, 1.898291e-02,
                                                    2.118744e-02, 1.593672e-02, 1.795739e-02, 2.240661e-02, 1.713181e-02],
                                                   [9.588808e-03, 7.370231e-03, 1.036926e-02, 9.625573e-03, 1.102166e-02,
                                                    9.914502e-03, 1.156020e-02, 1.095609e-02, 1.195533e-02, 1.558117e-02,
                                                    1.866611e-02, 1.461598e-02, 1.951762e-02, 2.125687e-02, 1.898291e-02,
                                                    2.118744e-02, 1.593672e-02, 1.795739e-02, 2.240661e-02, 1.713181e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [8.047737e-03, 6.055495e-03, 6.530907e-03, 6.915351e-03, 8.506587e-03,
                                                    7.087405e-03, 7.397338e-03, 1.027262e-02, 7.687544e-03, 7.410773e-03,
                                                    8.337605e-03, 1.034088e-02, 1.245937e-02, 1.226375e-02, 2.249039e-02,
                                                    9.936372e-03, 1.707607e-02, 1.216765e-02, 1.300137e-02, 2.664725e-02],
                                                   [8.047737e-03, 6.055495e-03, 6.530907e-03, 6.915351e-03, 8.506587e-03,
                                                    7.087405e-03, 7.397338e-03, 1.027262e-02, 7.687544e-03, 7.410773e-03,
                                                    8.337605e-03, 1.034088e-02, 1.245937e-02, 1.226375e-02, 2.249039e-02,
                                                    9.936372e-03, 1.707607e-02, 1.216765e-02, 1.300137e-02, 2.664725e-02],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
