Dictionary for systematics is used everywhere. However, there are several copies of the same dictionary. My proposal is to have a single systematics dictionary which can be used everywhere. E.g.
syst = { "PrefireWeight" : (["PrefireWeight"], 1),
"WHSF" : (["WHSFSyst0", "WHSFSyst1","WHSFSyst2"], 1),
"alphaS" : (["alphaSUp"], 1),
"ptScale" : (["corrected"], 1) ,
"jme" : (["jesTotalUp", "unclustEnUp"], 1)
"LHEScaleWeight" : (["LHEScaleWeight_muR0p5_muF0p5", "LHEScaleWeight_muR0p5_muF1p0","LHEScaleWeight_muR1p0_muF0p5","LHEScaleWeight_muR1p0_muF2p0","LHEScaleWeight_muR2p0_muF1p0","LHEScaleWeight_muR2p0_muF2p0"], 2),
"LHEPdfWeight" : (["_LHEPdfWeightHess{}".format(i+1) for i in range(60)], 2),
}
Type 1 means for each element in the list we have Up and Down. Since scale and Pdf are treated specially, I add them to a different category.
Dictionary for systematics is used everywhere. However, there are several copies of the same dictionary. My proposal is to have a single systematics dictionary which can be used everywhere. E.g.
syst = { "PrefireWeight" : (["PrefireWeight"], 1), "WHSF" : (["WHSFSyst0", "WHSFSyst1","WHSFSyst2"], 1), "alphaS" : (["alphaSUp"], 1), "ptScale" : (["corrected"], 1) , "jme" : (["jesTotalUp", "unclustEnUp"], 1) "LHEScaleWeight" : (["LHEScaleWeight_muR0p5_muF0p5", "LHEScaleWeight_muR0p5_muF1p0","LHEScaleWeight_muR1p0_muF0p5","LHEScaleWeight_muR1p0_muF2p0","LHEScaleWeight_muR2p0_muF1p0","LHEScaleWeight_muR2p0_muF2p0"], 2), "LHEPdfWeight" : (["_LHEPdfWeightHess{}".format(i+1) for i in range(60)], 2), } Type 1 means for each element in the list we have Up and Down. Since scale and Pdf are treated specially, I add them to a different category.