
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' : [4.363300e-02, 1.308995e-01, 2.181660e-01, 3.054325e-01, 3.926990e-01,
                                                 4.799655e-01, 5.672320e-01, 6.544985e-01, 7.417650e-01, 8.290315e-01,
                                                 9.162980e-01, 1.003565e+00, 1.090830e+00, 1.178095e+00, 1.265365e+00,
                                                 1.352630e+00, 1.439895e+00, 1.527165e+00, 1.614430e+00, 1.701695e+00,
                                                 1.788965e+00, 1.876230e+00, 1.963495e+00, 2.050765e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [4.363300e-02, 1.308995e-01, 2.181660e-01, 3.054325e-01, 3.926990e-01,
                                                 4.799655e-01, 5.672320e-01, 6.544985e-01, 7.417650e-01, 8.290315e-01,
                                                 9.162980e-01, 1.003565e+00, 1.090830e+00, 1.178095e+00, 1.265365e+00,
                                                 1.352630e+00, 1.439895e+00, 1.527165e+00, 1.614430e+00, 1.701695e+00,
                                                 1.788965e+00, 1.876230e+00, 1.963495e+00, 2.050765e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [4.363300e-02, 1.308995e-01, 2.181660e-01, 3.054325e-01, 3.926990e-01,
                                                 4.799655e-01, 5.672320e-01, 6.544985e-01, 7.417650e-01, 8.290315e-01,
                                                 9.162980e-01, 1.003565e+00, 1.090830e+00, 1.178095e+00, 1.265365e+00,
                                                 1.352630e+00, 1.439895e+00, 1.527165e+00, 1.614430e+00, 1.701695e+00,
                                                 1.788965e+00, 1.876230e+00, 1.963495e+00, 2.050765e+00],
}

xedges = {
                                       'Data' : [0.000000e+00, 8.726600e-02, 1.745330e-01, 2.617990e-01, 3.490660e-01,
                                                 4.363320e-01, 5.235990e-01, 6.108650e-01, 6.981320e-01, 7.853980e-01,
                                                 8.726650e-01, 9.599305e-01, 1.047200e+00, 1.134460e+00, 1.221730e+00,
                                                 1.309000e+00, 1.396260e+00, 1.483530e+00, 1.570800e+00, 1.658060e+00,
                                                 1.745330e+00, 1.832600e+00, 1.919860e+00, 2.007130e+00, 2.094400e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [0.000000e+00, 8.726600e-02, 1.745330e-01, 2.617990e-01, 3.490660e-01,
                                                 4.363320e-01, 5.235990e-01, 6.108650e-01, 6.981320e-01, 7.853980e-01,
                                                 8.726650e-01, 9.599310e-01, 1.047200e+00, 1.134460e+00, 1.221730e+00,
                                                 1.309000e+00, 1.396260e+00, 1.483530e+00, 1.570800e+00, 1.658060e+00,
                                                 1.745330e+00, 1.832600e+00, 1.919860e+00, 2.007130e+00, 2.094400e+00],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [0.000000e+00, 8.726600e-02, 1.745330e-01, 2.617990e-01, 3.490660e-01,
                                                 4.363320e-01, 5.235990e-01, 6.108650e-01, 6.981320e-01, 7.853980e-01,
                                                 8.726650e-01, 9.599310e-01, 1.047200e+00, 1.134460e+00, 1.221730e+00,
                                                 1.309000e+00, 1.396260e+00, 1.483530e+00, 1.570800e+00, 1.658060e+00,
                                                 1.745330e+00, 1.832600e+00, 1.919860e+00, 2.007130e+00, 2.094400e+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' : [7.481000e-01, 7.482000e-01, 7.819000e-01, 8.070000e-01, 9.649000e-01,
                                                 9.807000e-01, 8.707000e-01, 7.204000e-01, 6.325000e-01, 5.552000e-01,
                                                 4.980000e-01, 4.533000e-01, 4.199000e-01, 3.866000e-01, 3.626000e-01,
                                                 3.533000e-01, 3.272000e-01, 3.213000e-01, 2.734000e-01, 1.349000e-01,
                                                 6.591000e-02, 3.381000e-02, 1.447000e-02, 4.870000e-03],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [6.409801e-01, 5.914118e-01, 5.341013e-01, 6.883841e-01, 9.771414e-01,
                                                 8.446371e-01, 7.481464e-01, 8.273760e-01, 5.047188e-01, 4.431000e-01,
                                                 3.468031e-01, 5.777807e-01, 7.002677e-01, 4.848501e-01, 4.963352e-01,
                                                 4.939803e-01, 4.935037e-01, 3.161087e-01, 1.437333e-01, 1.081157e-01,
                                                 4.575609e-01, 3.237216e-02, 4.206759e-03, 3.528375e-03],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [6.190165e-01, 6.825946e-01, 8.169140e-01, 7.378853e-01, 9.208769e-01,
                                                 1.157297e+00, 9.034142e-01, 7.304055e-01, 4.531199e-01, 5.492158e-01,
                                                 5.361209e-01, 4.799400e-01, 4.137535e-01, 4.064680e-01, 4.185902e-01,
                                                 2.509529e-01, 4.016392e-01, 4.321055e-01, 2.801734e-01, 1.405490e-01,
                                                 1.103316e-01, 8.320443e-03, 9.449431e-03, 0.000000e+00],
}

xerrs = {
                                       'Data' : [
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                   [4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02,
                                                    4.363350e-02, 4.363300e-02, 4.363350e-02, 4.363300e-02, 4.363350e-02,
                                                    4.363300e-02, 4.363450e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02,
                                                    4.363000e-02, 4.363500e-02, 4.363500e-02, 4.363000e-02, 4.363500e-02,
                                                    4.363500e-02, 4.363000e-02, 4.363500e-02, 4.363500e-02],
                                                ],
}

yerrs = {
                                       'Data' : [
                                                   [6.600726e-03, 7.016350e-03, 7.175157e-03, 7.316336e-03, 8.004003e-03,
                                                    8.088891e-03, 7.612788e-03, 6.901704e-03, 6.447686e-03, 6.030897e-03,
                                                    5.709877e-03, 5.457605e-03, 5.285827e-03, 5.062114e-03, 4.915881e-03,
                                                    4.849261e-03, 4.693680e-03, 4.630708e-03, 4.248534e-03, 2.978065e-03,
                                                    2.038307e-03, 1.447400e-03, 9.489710e-04, 5.434590e-04],
                                                   [6.600726e-03, 7.016350e-03, 7.175157e-03, 7.316336e-03, 8.004003e-03,
                                                    8.088891e-03, 7.612788e-03, 6.901704e-03, 6.447686e-03, 6.030897e-03,
                                                    5.709877e-03, 5.457605e-03, 5.285827e-03, 5.062114e-03, 4.915881e-03,
                                                    4.849261e-03, 4.693680e-03, 4.630708e-03, 4.248534e-03, 2.978065e-03,
                                                    2.038307e-03, 1.447400e-03, 9.489710e-04, 5.434590e-04],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [8.936738e-02, 7.547009e-02, 8.103217e-02, 8.284340e-02, 2.028375e-01,
                                                    9.235192e-02, 8.589696e-02, 1.608923e-01, 6.573827e-02, 5.841239e-02,
                                                    5.039377e-02, 8.386158e-02, 1.173291e-01, 7.691661e-02, 7.916792e-02,
                                                    1.135017e-01, 1.187468e-01, 4.920969e-02, 2.540718e-02, 2.591743e-02,
                                                    3.644995e-01, 1.760859e-02, 4.206759e-03, 3.528375e-03],
                                                   [8.936738e-02, 7.547009e-02, 8.103217e-02, 8.284340e-02, 2.028375e-01,
                                                    9.235192e-02, 8.589696e-02, 1.608923e-01, 6.573827e-02, 5.841239e-02,
                                                    5.039377e-02, 8.386158e-02, 1.173291e-01, 7.691661e-02, 7.916792e-02,
                                                    1.135017e-01, 1.187468e-01, 4.920969e-02, 2.540718e-02, 2.591743e-02,
                                                    3.644995e-01, 1.760859e-02, 4.206759e-03, 3.528375e-03],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.027066e-01, 1.013314e-01, 1.235638e-01, 1.013296e-01, 1.217174e-01,
                                                    1.765094e-01, 1.098101e-01, 8.679187e-02, 6.819479e-02, 1.088571e-01,
                                                    1.055394e-01, 6.300734e-02, 5.754748e-02, 9.000039e-02, 6.215550e-02,
                                                    3.954841e-02, 9.714019e-02, 7.195494e-02, 4.488195e-02, 3.441636e-02,
                                                    3.302586e-02, 6.105683e-03, 5.331490e-03, 0.000000e+00],
                                                   [1.027066e-01, 1.013314e-01, 1.235638e-01, 1.013296e-01, 1.217174e-01,
                                                    1.765094e-01, 1.098101e-01, 8.679187e-02, 6.819479e-02, 1.088571e-01,
                                                    1.055394e-01, 6.300734e-02, 5.754748e-02, 9.000039e-02, 6.215550e-02,
                                                    3.954841e-02, 9.714019e-02, 7.195494e-02, 4.488195e-02, 3.441636e-02,
                                                    3.302586e-02, 6.105683e-03, 5.331490e-03, 0.000000e+00],
                                                ],
}

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,
                                                 1.000000e+00, 1.000000e+00, 1.000000e+00, 1.000000e+00],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [8.568107e-01, 7.904461e-01, 6.830813e-01, 8.530162e-01, 1.012687e+00,
                                                 8.612594e-01, 8.592470e-01, 1.148495e+00, 7.979744e-01, 7.980908e-01,
                                                 6.963918e-01, 1.274610e+00, 1.667701e+00, 1.254139e+00, 1.368823e+00,
                                                 1.398189e+00, 1.508263e+00, 9.838428e-01, 5.257253e-01, 8.014507e-01,
                                                 6.942208e+00, 9.574729e-01, 2.907228e-01, 7.245123e-01],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [8.274515e-01, 9.123157e-01, 1.044781e+00, 9.143560e-01, 9.543755e-01,
                                                 1.180072e+00, 1.037572e+00, 1.013889e+00, 7.163951e-01, 9.892215e-01,
                                                 1.076548e+00, 1.058769e+00, 9.853620e-01, 1.051392e+00, 1.154413e+00,
                                                 7.103111e-01, 1.227504e+00, 1.344866e+00, 1.024775e+00, 1.041875e+00,
                                                 1.673974e+00, 2.460941e-01, 6.530360e-01, 0.000000e+00],
}

ratio0_yerrs = {
                                       'Data' : [
                                                   [8.823320e-03, 9.377640e-03, 9.176566e-03, 9.066092e-03, 8.295163e-03,
                                                    8.248079e-03, 8.743296e-03, 9.580378e-03, 1.019397e-02, 1.086257e-02,
                                                    1.146562e-02, 1.203972e-02, 1.258830e-02, 1.309393e-02, 1.355731e-02,
                                                    1.372562e-02, 1.434499e-02, 1.441241e-02, 1.553963e-02, 2.207609e-02,
                                                    3.092561e-02, 4.280982e-02, 6.558196e-02, 1.115932e-01],
                                                   [8.823320e-03, 9.377640e-03, 9.176566e-03, 9.066092e-03, 8.295163e-03,
                                                    8.248079e-03, 8.743296e-03, 9.580378e-03, 1.019397e-02, 1.086257e-02,
                                                    1.146562e-02, 1.203972e-02, 1.258830e-02, 1.309393e-02, 1.355731e-02,
                                                    1.372562e-02, 1.434499e-02, 1.441241e-02, 1.553963e-02, 2.207609e-02,
                                                    3.092561e-02, 4.280982e-02, 6.558196e-02, 1.115932e-01],
                                                ],
       'Analysis_CSS_FragNone_UENone.yoda.gz' : [
                                                   [1.194591e-01, 1.008689e-01, 1.036350e-01, 1.026560e-01, 2.102161e-01,
                                                    9.416939e-02, 9.865276e-02, 2.233375e-01, 1.039340e-01, 1.052096e-01,
                                                    1.011923e-01, 1.850024e-01, 2.794215e-01, 1.989566e-01, 2.183340e-01,
                                                    3.212615e-01, 3.629181e-01, 1.531581e-01, 9.293043e-02, 1.921233e-01,
                                                    5.530261e+00, 5.208101e-01, 2.907228e-01, 7.245123e-01],
                                                   [1.194591e-01, 1.008689e-01, 1.036350e-01, 1.026560e-01, 2.102161e-01,
                                                    9.416939e-02, 9.865276e-02, 2.233375e-01, 1.039340e-01, 1.052096e-01,
                                                    1.011923e-01, 1.850024e-01, 2.794215e-01, 1.989566e-01, 2.183340e-01,
                                                    3.212615e-01, 3.629181e-01, 1.531581e-01, 9.293043e-02, 1.921233e-01,
                                                    5.530261e+00, 5.208101e-01, 2.907228e-01, 7.245123e-01],
                                                ],
    'Analysis_Alaric_FragNone_UENone.yoda.gz' : [
                                                   [1.372899e-01, 1.354336e-01, 1.580302e-01, 1.255633e-01, 1.261451e-01,
                                                    1.799831e-01, 1.261170e-01, 1.204773e-01, 1.078178e-01, 1.960683e-01,
                                                    2.119265e-01, 1.389970e-01, 1.370504e-01, 2.327998e-01, 1.714162e-01,
                                                    1.119400e-01, 2.968832e-01, 2.239494e-01, 1.641622e-01, 2.551250e-01,
                                                    5.010751e-01, 1.805881e-01, 3.684513e-01, 0.000000e+00],
                                                   [1.372899e-01, 1.354336e-01, 1.580302e-01, 1.255633e-01, 1.261451e-01,
                                                    1.799831e-01, 1.261170e-01, 1.204773e-01, 1.078178e-01, 1.960683e-01,
                                                    2.119265e-01, 1.389970e-01, 1.370504e-01, 2.327998e-01, 1.714162e-01,
                                                    1.119400e-01, 2.968832e-01, 2.239494e-01, 1.641622e-01, 2.551250e-01,
                                                    5.010751e-01, 1.805881e-01, 3.684513e-01, 0.000000e+00],
                                                ],
}

ratio0_variation_vals = {
}

ratio_band_edges = {
}
