
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' : [3.759110e-04, 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' : [3.759110e-04, 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' : [3.759110e-04, 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' : [3.007290e-04, 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' : [3.007290e-04, 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' : [3.007290e-04, 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' : [4.532400e-01, 8.366880e-01, 1.086630e+00, 1.330120e+00, 1.571950e+00,
                                                 1.765480e+00, 1.914130e+00, 1.943750e+00, 1.902560e+00, 1.777230e+00,
                                                 1.600680e+00, 1.385810e+00, 1.123460e+00, 8.878340e-01, 6.594170e-01,
                                                 4.517390e-01, 2.779360e-01, 1.480280e-01, 5.831080e-02, 9.874150e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [4.476918e-03, 1.242435e-02, 1.965510e-02, 4.105865e-02, 5.136795e-02,
                                                 6.241866e-02, 9.375076e-02, 1.539459e-01, 1.420808e-01, 1.408323e-01,
                                                 1.538285e-01, 1.916487e-01, 1.656785e-01, 1.908864e-01, 1.388232e-01,
                                                 1.510093e-01, 1.729607e-01, 1.628539e-01, 1.649088e-01, 3.124033e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 4.248142e-03, 0.000000e+00, 9.243434e-03, 1.193307e-02,
                                                 1.963865e-02, 2.692614e-02, 5.780050e-02, 5.282771e-02, 7.414269e-02,
                                                 7.888107e-02, 9.232489e-02, 9.485109e-02, 5.932648e-02, 8.495849e-02,
                                                 1.020470e-01, 1.262272e-01, 1.631976e-01, 1.436814e-01, 3.991352e-01],
}

xerrs = {
                                       'Data' : [
                                                   [7.518200e-05, 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],
                                                   [7.518200e-05, 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' : [
                                                   [7.518200e-05, 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],
                                                   [7.518200e-05, 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' : [
                                                   [7.518200e-05, 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],
                                                   [7.518200e-05, 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' : [
                                                   [1.895411e-02, 3.071646e-02, 1.905502e-02, 2.867586e-02, 3.074317e-02,
                                                    2.623811e-02, 3.262637e-02, 3.422725e-02, 3.397001e-02, 2.793921e-02,
                                                    2.516297e-02, 2.229924e-02, 1.810185e-02, 1.461752e-02, 1.078867e-02,
                                                    8.454018e-03, 6.089995e-03, 3.911514e-03, 1.982043e-03, 4.513191e-04],
                                                   [1.948033e-02, 3.176788e-02, 2.155401e-02, 3.210916e-02, 3.430999e-02,
                                                    3.222561e-02, 3.711495e-02, 3.925788e-02, 3.878607e-02, 3.296685e-02,
                                                    2.900856e-02, 2.563798e-02, 1.994318e-02, 1.666163e-02, 1.244513e-02,
                                                    9.541269e-03, 6.939868e-03, 4.367850e-03, 2.135156e-03, 4.718602e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [3.165735e-03, 5.761877e-03, 7.744295e-03, 1.056107e-02, 1.368970e-02,
                                                    1.336313e-02, 1.549004e-02, 2.314331e-02, 2.367145e-02, 1.897580e-02,
                                                    2.277513e-02, 3.028788e-02, 2.192213e-02, 2.856912e-02, 1.953790e-02,
                                                    2.404684e-02, 3.015229e-02, 2.703455e-02, 2.407763e-02, 4.316011e-02],
                                                   [3.165735e-03, 5.761877e-03, 7.744295e-03, 1.056107e-02, 1.368970e-02,
                                                    1.336313e-02, 1.549004e-02, 2.314331e-02, 2.367145e-02, 1.897580e-02,
                                                    2.277513e-02, 3.028788e-02, 2.192213e-02, 2.856912e-02, 1.953790e-02,
                                                    2.404684e-02, 3.015229e-02, 2.703455e-02, 2.407763e-02, 4.316011e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 4.248142e-03, 0.000000e+00, 4.629240e-03, 6.807046e-03,
                                                    6.733418e-03, 1.207744e-02, 1.828457e-02, 1.239665e-02, 1.718692e-02,
                                                    1.913489e-02, 2.110769e-02, 2.242160e-02, 1.280784e-02, 1.691941e-02,
                                                    1.900300e-02, 2.221500e-02, 3.136452e-02, 1.985606e-02, 4.701189e-02],
                                                   [0.000000e+00, 4.248142e-03, 0.000000e+00, 4.629240e-03, 6.807046e-03,
                                                    6.733418e-03, 1.207744e-02, 1.828457e-02, 1.239665e-02, 1.718692e-02,
                                                    1.913489e-02, 2.110769e-02, 2.242160e-02, 1.280784e-02, 1.691941e-02,
                                                    1.900300e-02, 2.221500e-02, 3.136452e-02, 1.985606e-02, 4.701189e-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, 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [9.877588e-03, 1.484944e-02, 1.808813e-02, 3.086838e-02, 3.267785e-02,
                                                 3.535506e-02, 4.897826e-02, 7.920046e-02, 7.467875e-02, 7.924259e-02,
                                                 9.610197e-02, 1.382936e-01, 1.474717e-01, 2.150024e-01, 2.105241e-01,
                                                 3.342844e-01, 6.223041e-01, 1.100156e+00, 2.828100e+00, 3.163850e+01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 5.077331e-03, 0.000000e+00, 6.949323e-03, 7.591253e-03,
                                                 1.112369e-02, 1.406704e-02, 2.973659e-02, 2.776665e-02, 4.171812e-02,
                                                 4.927972e-02, 6.662161e-02, 8.442765e-02, 6.682159e-02, 1.288388e-01,
                                                 2.258981e-01, 4.541592e-01, 1.102478e+00, 2.464062e+00, 4.042223e+01],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [4.181915e-02, 3.671196e-02, 1.753589e-02, 2.155885e-02, 1.955735e-02,
                                                    1.486174e-02, 1.704501e-02, 1.760887e-02, 1.785490e-02, 1.572065e-02,
                                                    1.572018e-02, 1.609112e-02, 1.611259e-02, 1.646425e-02, 1.636092e-02,
                                                    1.871439e-02, 2.191150e-02, 2.642415e-02, 3.399101e-02, 4.570713e-02],
                                                   [4.298017e-02, 3.796861e-02, 1.983565e-02, 2.414005e-02, 2.182639e-02,
                                                    1.825317e-02, 1.938998e-02, 2.019698e-02, 2.038625e-02, 1.854957e-02,
                                                    1.812265e-02, 1.850036e-02, 1.775157e-02, 1.876661e-02, 1.887293e-02,
                                                    2.112120e-02, 2.496930e-02, 2.950692e-02, 3.661682e-02, 4.778742e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [6.984677e-03, 6.886530e-03, 7.126892e-03, 7.939938e-03, 8.708738e-03,
                                                    7.569120e-03, 8.092470e-03, 1.190653e-02, 1.244189e-02, 1.067718e-02,
                                                    1.422841e-02, 2.185572e-02, 1.951305e-02, 3.217845e-02, 2.962905e-02,
                                                    5.323171e-02, 1.084865e-01, 1.826313e-01, 4.129189e-01, 4.371020e+00],
                                                   [6.984677e-03, 6.886530e-03, 7.126892e-03, 7.939938e-03, 8.708738e-03,
                                                    7.569120e-03, 8.092470e-03, 1.190653e-02, 1.244189e-02, 1.067718e-02,
                                                    1.422841e-02, 2.185572e-02, 1.951305e-02, 3.217845e-02, 2.962905e-02,
                                                    5.323171e-02, 1.084865e-01, 1.826313e-01, 4.129189e-01, 4.371020e+00],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [0.000000e+00, 5.077331e-03, 0.000000e+00, 3.480318e-03, 4.330320e-03,
                                                    3.813930e-03, 6.309624e-03, 9.406853e-03, 6.515773e-03, 9.670622e-03,
                                                    1.195423e-02, 1.523130e-02, 1.995763e-02, 1.442594e-02, 2.565813e-02,
                                                    4.206633e-02, 7.992847e-02, 2.118823e-01, 3.405211e-01, 4.761108e+00],
                                                   [0.000000e+00, 5.077331e-03, 0.000000e+00, 3.480318e-03, 4.330320e-03,
                                                    3.813930e-03, 6.309624e-03, 9.406853e-03, 6.515773e-03, 9.670622e-03,
                                                    1.195423e-02, 1.523130e-02, 1.995763e-02, 1.442594e-02, 2.565813e-02,
                                                    4.206633e-02, 7.992847e-02, 2.118823e-01, 3.405211e-01, 4.761108e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
