Skip to content

Missing key in correction JSON files

When I run applyJEScorrections with the new JSON files (created by Daniel to study #55 PUPPI vs CHS) on UL18 DATA, I get the below error:

$ applyJEScorrections 1D_mergeNtuples/RunA/ 2D_applyJEScorrections/RunA/ /eos/user/e/euslan/EL9/DasAnalysisSystem/tables/jsonpog-integration/POG/JME/2018_UL/Daniel/ak4/jet_puppi_jerc.json Summer19UL18_RunA_V6_DATA -f -s
ControlPlots	raw
ControlPlots	nominal
ControlPlots	AbsoluteStatDown
ControlPlots	AbsoluteStatUp
ControlPlots	AbsoluteScaleDown
ControlPlots	AbsoluteScaleUp
ControlPlots	AbsoluteMPFBiasDown
ControlPlots	AbsoluteMPFBiasUp
ControlPlots	FragmentationDown
ControlPlots	FragmentationUp
ControlPlots	SinglePionECALDown
ControlPlots	SinglePionECALUp
ControlPlots	SinglePionHCALDown
ControlPlots	SinglePionHCALUp
ControlPlots	FlavorQCDDown
ControlPlots	FlavorQCDUp
ControlPlots	RelativeJEREC1Down
ControlPlots	RelativeJEREC1Up
ControlPlots	RelativeJEREC2Down
ControlPlots	RelativeJEREC2Up
ControlPlots	RelativeJERHFDown
ControlPlots	RelativeJERHFUp
ControlPlots	RelativePtBBDown
ControlPlots	RelativePtBBUp
ControlPlots	RelativePtEC1Down
ControlPlots	RelativePtEC1Up
ControlPlots	RelativePtEC2Down
ControlPlots	RelativePtEC2Up
ControlPlots	RelativePtHFDown
ControlPlots	RelativePtHFUp
ControlPlots	RelativeBalDown
ControlPlots	RelativeBalUp
ControlPlots	RelativeSampleDown
ControlPlots	RelativeSampleUp
ControlPlots	RelativeFSRDown
ControlPlots	RelativeFSRUp
ControlPlots	RelativeStatFSRDown
ControlPlots	RelativeStatFSRUp
ControlPlots	RelativeStatECDown
ControlPlots	RelativeStatECUp
ControlPlots	RelativeStatHFDown
ControlPlots	RelativeStatHFUp
ControlPlots	PileUpDataMCDown
ControlPlots	PileUpDataMCUp
ControlPlots	PileUpPtRefDown
ControlPlots	PileUpPtRefUp
ControlPlots	PileUpPtBBDown
ControlPlots	PileUpPtBBUp
ControlPlots	PileUpPtEC1Down
ControlPlots	PileUpPtEC1Up
ControlPlots	PileUpPtEC2Down
ControlPlots	PileUpPtEC2Up
ControlPlots	PileUpPtHFDown
ControlPlots	PileUpPtHFUp
terminate called after throwing an instance of 'std::out_of_range'
  what():  map::at

I tried to check where I got the error and found that the below line was throwing error:

varSFs.push_back(cset->at(key));

Then I tried to print the key used here:

key: Summer19UL18_RunA_V6_DATA_AbsoluteStat_AK4PFPuppi

After checking the JSON file provided by Daniel, I see that the we are missing Summer19UL18_RunA_V6_DATA_AbsoluteStat_AK4PFPuppi for DATA. Not only Puppi but also the chs JSON file does not have this key. Note that we have this for MC by the way.