
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+01, 3.000000e+01, 5.000000e+01, 7.000000e+01, 9.000000e+01,
                                                 1.250000e+02, 1.750000e+02, 2.250000e+02, 2.750000e+02, 3.250000e+02,
                                                 3.750000e+02, 4.250000e+02, 4.750000e+02, 5.250000e+02, 5.750000e+02,
                                                 6.250000e+02, 6.750000e+02],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.500000e+01, 3.000000e+01, 5.000000e+01, 7.000000e+01, 9.000000e+01,
                                                 1.250000e+02, 1.750000e+02, 2.250000e+02, 2.750000e+02, 3.250000e+02,
                                                 3.750000e+02, 4.250000e+02, 4.750000e+02, 5.250000e+02, 5.750000e+02,
                                                 6.250000e+02, 6.750000e+02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.500000e+01, 3.000000e+01, 5.000000e+01, 7.000000e+01, 9.000000e+01,
                                                 1.250000e+02, 1.750000e+02, 2.250000e+02, 2.750000e+02, 3.250000e+02,
                                                 3.750000e+02, 4.250000e+02, 4.750000e+02, 5.250000e+02, 5.750000e+02,
                                                 6.250000e+02, 6.750000e+02],
}

xedges = {
                                       'Data' : [1.000000e+01, 2.000000e+01, 4.000000e+01, 6.000000e+01, 8.000000e+01,
                                                 1.000000e+02, 1.500000e+02, 2.000000e+02, 2.500000e+02, 3.000000e+02,
                                                 3.500000e+02, 4.000000e+02, 4.500000e+02, 5.000000e+02, 5.500000e+02,
                                                 6.000000e+02, 6.500000e+02, 7.000000e+02],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.000000e+01, 2.000000e+01, 4.000000e+01, 6.000000e+01, 8.000000e+01,
                                                 1.000000e+02, 1.500000e+02, 2.000000e+02, 2.500000e+02, 3.000000e+02,
                                                 3.500000e+02, 4.000000e+02, 4.500000e+02, 5.000000e+02, 5.500000e+02,
                                                 6.000000e+02, 6.500000e+02, 7.000000e+02],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [1.000000e+01, 2.000000e+01, 4.000000e+01, 6.000000e+01, 8.000000e+01,
                                                 1.000000e+02, 1.500000e+02, 2.000000e+02, 2.500000e+02, 3.000000e+02,
                                                 3.500000e+02, 4.000000e+02, 4.500000e+02, 5.000000e+02, 5.500000e+02,
                                                 6.000000e+02, 6.500000e+02, 7.000000e+02],
}

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.053000e-02, 6.664200e-03, 3.063300e-03, 2.110500e-03, 1.821800e-03,
                                                 1.365100e-03, 9.728700e-04, 8.295800e-04, 6.983500e-04, 7.072000e-04,
                                                 5.124600e-04, 3.414300e-04, 3.439600e-04, 2.451500e-04, 1.031000e-04,
                                                 6.176200e-05, 2.292100e-05],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.062305e-02, 4.611256e-03, 3.091605e-03, 2.294713e-03, 1.537019e-03,
                                                 1.308292e-03, 8.739823e-04, 6.239648e-04, 6.846033e-04, 5.911245e-04,
                                                 5.182231e-04, 5.720528e-04, 2.253694e-04, 2.801609e-04, 2.235006e-04,
                                                 5.835889e-05, 5.364316e-05],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.787339e-03, 4.354222e-03, 2.311256e-03, 2.374405e-03, 1.874221e-03,
                                                 1.360549e-03, 1.068544e-03, 4.225387e-04, 7.296298e-04, 9.963828e-04,
                                                 3.168777e-04, 4.371788e-04, 2.372830e-04, 2.526036e-04, 1.988734e-04,
                                                 8.626723e-05, 5.665128e-05],
}

xerrs = {
                                       'Data' : [
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                   [5.000000e+00, 1.000000e+01, 1.000000e+01, 1.000000e+01, 1.000000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01, 2.500000e+01,
                                                    2.500000e+01, 2.500000e+01],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [1.002888e-03, 9.899610e-04, 3.717042e-04, 2.389640e-04, 1.479741e-04,
                                                    8.342230e-05, 7.679215e-05, 6.334366e-05, 5.833489e-05, 6.586152e-05,
                                                    5.323459e-05, 4.179184e-05, 3.899417e-05, 3.990460e-05, 2.124488e-05,
                                                    1.666378e-05, 1.033043e-05],
                                                   [1.002888e-03, 9.899610e-04, 3.717042e-04, 2.389640e-04, 1.479741e-04,
                                                    8.342230e-05, 7.679215e-05, 6.334366e-05, 5.833489e-05, 6.586152e-05,
                                                    5.323459e-05, 4.179184e-05, 3.899417e-05, 3.990460e-05, 2.124488e-05,
                                                    1.666378e-05, 1.033043e-05],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [9.377092e-04, 4.886266e-04, 3.834938e-04, 2.909654e-04, 2.825912e-04,
                                                    1.492142e-04, 1.020370e-04, 8.182817e-05, 8.093541e-05, 1.253941e-04,
                                                    8.086195e-05, 1.443963e-04, 4.141389e-05, 1.021369e-04, 6.265824e-05,
                                                    2.078588e-05, 2.172237e-05],
                                                   [9.377092e-04, 4.886266e-04, 3.834938e-04, 2.909654e-04, 2.825912e-04,
                                                    1.492142e-04, 1.020370e-04, 8.182817e-05, 8.093541e-05, 1.253941e-04,
                                                    8.086195e-05, 1.443963e-04, 4.141389e-05, 1.021369e-04, 6.265824e-05,
                                                    2.078588e-05, 2.172237e-05],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [7.907630e-04, 3.920877e-04, 2.372087e-04, 2.933382e-04, 3.574663e-04,
                                                    1.531200e-04, 1.136808e-04, 6.402851e-05, 9.560351e-05, 2.120662e-04,
                                                    5.215773e-05, 8.280513e-05, 4.757631e-05, 5.966177e-05, 6.454214e-05,
                                                    2.553766e-05, 2.059822e-05],
                                                   [7.907630e-04, 3.920877e-04, 2.372087e-04, 2.933382e-04, 3.574663e-04,
                                                    1.531200e-04, 1.136808e-04, 6.402851e-05, 9.560351e-05, 2.120662e-04,
                                                    5.215773e-05, 8.280513e-05, 4.757631e-05, 5.966177e-05, 6.454214e-05,
                                                    2.553766e-05, 2.059822e-05],
                                                ],
}

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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [1.008837e+00, 6.919444e-01, 1.009240e+00, 1.087284e+00, 8.436815e-01,
                                                 9.583855e-01, 8.983547e-01, 7.521454e-01, 9.803155e-01, 8.358661e-01,
                                                 1.011246e+00, 1.675461e+00, 6.552198e-01, 1.142814e+00, 2.167804e+00,
                                                 9.448996e-01, 2.340350e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.345051e-01, 6.533750e-01, 7.544987e-01, 1.125044e+00, 1.028774e+00,
                                                 9.966662e-01, 1.098342e+00, 5.093405e-01, 1.044791e+00, 1.408912e+00,
                                                 6.183462e-01, 1.280435e+00, 6.898564e-01, 1.030404e+00, 1.928937e+00,
                                                 1.396769e+00, 2.471588e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [9.524103e-02, 1.485491e-01, 1.213411e-01, 1.132262e-01, 8.122412e-02,
                                                    6.111076e-02, 7.893362e-02, 7.635630e-02, 8.353246e-02, 9.312998e-02,
                                                    1.038805e-01, 1.224024e-01, 1.133683e-01, 1.627763e-01, 2.060609e-01,
                                                    2.698064e-01, 4.506972e-01],
                                                   [9.524103e-02, 1.485491e-01, 1.213411e-01, 1.132262e-01, 8.122412e-02,
                                                    6.111076e-02, 7.893362e-02, 7.635630e-02, 8.353246e-02, 9.312998e-02,
                                                    1.038805e-01, 1.224024e-01, 1.133683e-01, 1.627763e-01, 2.060609e-01,
                                                    2.698064e-01, 4.506972e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [8.905121e-02, 7.332112e-02, 1.251898e-01, 1.378656e-01, 1.551165e-01,
                                                    1.093064e-01, 1.048825e-01, 9.863807e-02, 1.158952e-01, 1.773107e-01,
                                                    1.577917e-01, 4.229163e-01, 1.204032e-01, 4.166302e-01, 6.077424e-01,
                                                    3.365480e-01, 9.477060e-01],
                                                   [8.905121e-02, 7.332112e-02, 1.251898e-01, 1.378656e-01, 1.551165e-01,
                                                    1.093064e-01, 1.048825e-01, 9.863807e-02, 1.158952e-01, 1.773107e-01,
                                                    1.577917e-01, 4.229163e-01, 1.204032e-01, 4.166302e-01, 6.077424e-01,
                                                    3.365480e-01, 9.477060e-01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [7.509620e-02, 5.883492e-02, 7.743567e-02, 1.389899e-01, 1.962160e-01,
                                                    1.121676e-01, 1.168510e-01, 7.718184e-02, 1.368991e-01, 2.998674e-01,
                                                    1.017791e-01, 2.425245e-01, 1.383193e-01, 2.433684e-01, 6.260149e-01,
                                                    4.134850e-01, 8.986615e-01],
                                                   [7.509620e-02, 5.883492e-02, 7.743567e-02, 1.389899e-01, 1.962160e-01,
                                                    1.121676e-01, 1.168510e-01, 7.718184e-02, 1.368991e-01, 2.998674e-01,
                                                    1.017791e-01, 2.425245e-01, 1.383193e-01, 2.433684e-01, 6.260149e-01,
                                                    4.134850e-01, 8.986615e-01],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
