
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.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03, 2.854575e-03,
                                                 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02, 2.167690e-02,
                                                 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01, 1.646090e-01,
                                                 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [5.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03, 2.854575e-03,
                                                 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02, 2.167690e-02,
                                                 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01, 1.646090e-01,
                                                 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [5.638660e-04, 8.457995e-04, 1.268700e-03, 1.903050e-03, 2.854575e-03,
                                                 4.281860e-03, 6.422790e-03, 9.634175e-03, 1.445125e-02, 2.167690e-02,
                                                 3.251535e-02, 4.877305e-02, 7.315960e-02, 1.097392e-01, 1.646090e-01,
                                                 2.469135e-01, 3.703700e-01, 5.555555e-01, 8.333335e-01],
}

xedges = {
                                       'Data' : [4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03, 2.283660e-03,
                                                 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02, 1.734150e-02,
                                                 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02, 1.316869e-01,
                                                 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-01, 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03, 2.283660e-03,
                                                 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02, 1.734150e-02,
                                                 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02, 1.316869e-01,
                                                 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-01, 1.000000e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [4.510930e-04, 6.766390e-04, 1.014960e-03, 1.522440e-03, 2.283660e-03,
                                                 3.425490e-03, 5.138230e-03, 7.707350e-03, 1.156100e-02, 1.734150e-02,
                                                 2.601230e-02, 3.901840e-02, 5.852770e-02, 8.779150e-02, 1.316869e-01,
                                                 1.975310e-01, 2.962960e-01, 4.444440e-01, 6.666670e-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' : [2.825360e-02, 6.976950e-01, 9.542390e-01, 1.202870e+00, 1.436130e+00,
                                                 1.629310e+00, 1.759920e+00, 1.813680e+00, 1.770810e+00, 1.637560e+00,
                                                 1.438610e+00, 1.199380e+00, 9.457920e-01, 6.944300e-01, 4.692880e-01,
                                                 2.793270e-01, 1.398700e-01, 5.366530e-02, 9.288650e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 8.272962e-03, 1.876887e-02, 2.845741e-02, 3.993724e-02,
                                                 7.036885e-02, 9.460819e-02, 1.025656e-01, 1.199063e-01, 1.799136e-01,
                                                 1.685316e-01, 1.548550e-01, 1.630715e-01, 1.691354e-01, 1.675391e-01,
                                                 1.530204e-01, 1.357011e-01, 1.865373e-01, 3.295532e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 3.324430e-04, 2.970515e-03, 3.778088e-03, 7.904119e-03,
                                                 1.261580e-02, 2.721986e-02, 4.094823e-02, 6.414357e-02, 6.988855e-02,
                                                 7.592585e-02, 7.691295e-02, 6.905616e-02, 1.039134e-01, 8.281639e-02,
                                                 9.922028e-02, 1.071497e-01, 1.609780e-01, 3.284740e-01],
}

xerrs = {
                                       'Data' : [
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                   [1.127730e-04, 1.691605e-04, 2.537400e-04, 3.806100e-04, 5.709150e-04,
                                                    8.563700e-04, 1.284560e-03, 1.926825e-03, 2.890250e-03, 4.335400e-03,
                                                    6.503050e-03, 9.754650e-03, 1.463190e-02, 2.194770e-02, 3.292205e-02,
                                                    4.938250e-02, 7.407400e-02, 1.111115e-01, 1.666665e-01],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [9.119515e-04, 2.345634e-02, 2.408486e-02, 1.283386e-02, 1.552315e-02,
                                                    1.633478e-02, 2.083646e-02, 2.986709e-02, 3.027606e-02, 2.473144e-02,
                                                    1.791427e-02, 1.682367e-02, 1.298858e-02, 9.240774e-03, 6.985556e-03,
                                                    4.888722e-03, 3.196357e-03, 1.757297e-03, 4.065324e-04],
                                                   [9.765226e-04, 2.431833e-02, 2.558992e-02, 1.694714e-02, 2.058225e-02,
                                                    2.237943e-02, 2.661669e-02, 3.353986e-02, 3.332377e-02, 2.786458e-02,
                                                    2.110748e-02, 1.898180e-02, 1.488161e-02, 1.126271e-02, 8.512808e-03,
                                                    6.160006e-03, 3.859118e-03, 2.005385e-03, 4.441970e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 2.364560e-03, 3.994618e-03, 4.200066e-03, 4.947940e-03,
                                                    6.772063e-03, 1.177310e-02, 8.946416e-03, 9.427526e-03, 1.380952e-02,
                                                    1.189380e-02, 9.773781e-03, 1.113584e-02, 1.150444e-02, 1.283240e-02,
                                                    1.051430e-02, 9.625306e-03, 1.263041e-02, 2.062059e-02],
                                                   [0.000000e+00, 2.364560e-03, 3.994618e-03, 4.200066e-03, 4.947940e-03,
                                                    6.772063e-03, 1.177310e-02, 8.946416e-03, 9.427526e-03, 1.380952e-02,
                                                    1.189380e-02, 9.773781e-03, 1.113584e-02, 1.150444e-02, 1.283240e-02,
                                                    1.051430e-02, 9.625306e-03, 1.263041e-02, 2.062059e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 3.324430e-04, 1.624009e-03, 1.355659e-03, 3.663807e-03,
                                                    2.320814e-03, 4.697737e-03, 6.428997e-03, 7.772389e-03, 7.588894e-03,
                                                    8.742958e-03, 7.436679e-03, 8.719126e-03, 9.426439e-03, 7.466738e-03,
                                                    8.806395e-03, 9.409029e-03, 1.504962e-02, 1.957356e-02],
                                                   [0.000000e+00, 3.324430e-04, 1.624009e-03, 1.355659e-03, 3.663807e-03,
                                                    2.320814e-03, 4.697737e-03, 6.428997e-03, 7.772389e-03, 7.588894e-03,
                                                    8.742958e-03, 7.436679e-03, 8.719126e-03, 9.426439e-03, 7.466738e-03,
                                                    8.806395e-03, 9.409029e-03, 1.504962e-02, 1.957356e-02],
                                                ],
}

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],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 1.185756e-02, 1.966894e-02, 2.365793e-02, 2.780893e-02,
                                                 4.318936e-02, 5.375710e-02, 5.655110e-02, 6.771269e-02, 1.098669e-01,
                                                 1.171489e-01, 1.291125e-01, 1.724179e-01, 2.435600e-01, 3.570070e-01,
                                                 5.478181e-01, 9.701945e-01, 3.475939e+00, 3.547913e+01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 4.764876e-04, 3.112968e-03, 3.140895e-03, 5.503763e-03,
                                                 7.743032e-03, 1.546653e-02, 2.257743e-02, 3.622273e-02, 4.267847e-02,
                                                 5.277723e-02, 6.412726e-02, 7.301411e-02, 1.496384e-01, 1.764724e-01,
                                                 3.552119e-01, 7.660663e-01, 2.999666e+00, 3.536294e+01],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [3.227736e-02, 3.361976e-02, 2.523986e-02, 1.066937e-02, 1.080901e-02,
                                                    1.002558e-02, 1.183944e-02, 1.646767e-02, 1.709729e-02, 1.510262e-02,
                                                    1.245249e-02, 1.402697e-02, 1.373302e-02, 1.330699e-02, 1.488543e-02,
                                                    1.750179e-02, 2.285234e-02, 3.274550e-02, 4.376658e-02],
                                                   [3.456277e-02, 3.485524e-02, 2.681710e-02, 1.408892e-02, 1.433175e-02,
                                                    1.373553e-02, 1.512381e-02, 1.849271e-02, 1.881838e-02, 1.701591e-02,
                                                    1.467213e-02, 1.582634e-02, 1.573455e-02, 1.621864e-02, 1.813984e-02,
                                                    2.205303e-02, 2.759075e-02, 3.736837e-02, 4.782148e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 3.389103e-03, 4.186182e-03, 3.491704e-03, 3.445329e-03,
                                                    4.156399e-03, 6.689565e-03, 4.932742e-03, 5.323850e-03, 8.432986e-03,
                                                    8.267564e-03, 8.149028e-03, 1.177409e-02, 1.656674e-02, 2.734440e-02,
                                                    3.764155e-02, 6.881609e-02, 2.353552e-01, 2.219977e+00],
                                                   [0.000000e+00, 3.389103e-03, 4.186182e-03, 3.491704e-03, 3.445329e-03,
                                                    4.156399e-03, 6.689565e-03, 4.932742e-03, 5.323850e-03, 8.432986e-03,
                                                    8.267564e-03, 8.149028e-03, 1.177409e-02, 1.656674e-02, 2.734440e-02,
                                                    3.764155e-02, 6.881609e-02, 2.353552e-01, 2.219977e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 4.764876e-04, 1.701889e-03, 1.127020e-03, 2.551167e-03,
                                                    1.424415e-03, 2.669290e-03, 3.544725e-03, 4.389172e-03, 4.634269e-03,
                                                    6.077365e-03, 6.200436e-03, 9.218862e-03, 1.357435e-02, 1.591078e-02,
                                                    3.152719e-02, 6.726981e-02, 2.804348e-01, 2.107256e+00],
                                                   [0.000000e+00, 4.764876e-04, 1.701889e-03, 1.127020e-03, 2.551167e-03,
                                                    1.424415e-03, 2.669290e-03, 3.544725e-03, 4.389172e-03, 4.634269e-03,
                                                    6.077365e-03, 6.200436e-03, 9.218862e-03, 1.357435e-02, 1.591078e-02,
                                                    3.152719e-02, 6.726981e-02, 2.804348e-01, 2.107256e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
