64 if (verbose_)
std::cout <<
">>> Constructor (DataCertificationJetMET) <<<" << std::endl;
75 if (
verbose_)
std::cout <<
">>> Deconstructor (DataCertificationJetMET) <<<" << std::endl;
85 std::vector<std::string> subDirVecMET;
89 bool found_METreco_dir=
false;
90 bool found_METminiaod_dir=
false;
92 for (
int i=0;
i<int(subDirVecMET.size());
i++) {
95 found_METreco_dir=
true;
98 found_METminiaod_dir=
true;
101 if(found_METreco_dir && found_METminiaod_dir){
110 MonitorElement* mChargedHadronEtFraction_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfChargedHadronEtFraction");
111 MonitorElement* mNeutralHadronEtFraction_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfNeutralHadronEtFraction");
112 MonitorElement* mPhotonEtFraction_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfPhotonEtFraction");
113 MonitorElement* mHFHadronEtFraction_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfHFHadronEtFraction");
114 MonitorElement* mHFEMEtFraction_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfHFEMEtFraction");
115 MonitorElement* mMET_nVtx_profile_Reco=iget_.
get(rundirMET_reco+
"/"+
"MET_profile");
116 MonitorElement* mSumET_nVtx_profile_Reco=iget_.
get(rundirMET_reco+
"/"+
"SumET_profile");
117 MonitorElement* mChargedHadronEtFraction_nVtx_profile_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfChargedHadronEtFraction_profile");
118 MonitorElement* mNeutralHadronEtFraction_nVtx_profile_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfNeutralHadronEtFraction_profile");
119 MonitorElement* mPhotonEtFraction_nVtx_profile_Reco=iget_.
get(rundirMET_reco+
"/"+
"PfPhotonEtFraction_profile");
121 std::vector<MonitorElement*> me_MET_Reco;
122 me_MET_Reco.push_back(mMET_Reco);
123 me_MET_Reco.push_back(mMEy_Reco);
124 me_MET_Reco.push_back(mSumET_Reco);
125 me_MET_Reco.push_back(mMETPhi_Reco);
126 me_MET_Reco.push_back(mMET_logx_Reco);
127 me_MET_Reco.push_back(mSumET_logx_Reco);
128 me_MET_Reco.push_back(mChargedHadronEtFraction_Reco);
129 me_MET_Reco.push_back(mNeutralHadronEtFraction_Reco);
130 me_MET_Reco.push_back(mPhotonEtFraction_Reco);
131 me_MET_Reco.push_back(mHFHadronEtFraction_Reco);
132 me_MET_Reco.push_back(mHFEMEtFraction_Reco);
133 me_MET_Reco.push_back(mMET_nVtx_profile_Reco);
134 me_MET_Reco.push_back(mSumET_nVtx_profile_Reco);
135 me_MET_Reco.push_back(mChargedHadronEtFraction_nVtx_profile_Reco);
136 me_MET_Reco.push_back(mNeutralHadronEtFraction_nVtx_profile_Reco);
137 me_MET_Reco.push_back(mPhotonEtFraction_nVtx_profile_Reco);
144 MonitorElement* mSumET_logx_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"SumET_logx");
145 MonitorElement* mChargedHadronEtFraction_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfChargedHadronEtFraction");
146 MonitorElement* mNeutralHadronEtFraction_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfNeutralHadronEtFraction");
147 MonitorElement* mPhotonEtFraction_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfPhotonEtFraction");
148 MonitorElement* mHFHadronEtFraction_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfHFHadronEtFraction");
149 MonitorElement* mHFEMEtFraction_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfHFEMEtFraction");
150 MonitorElement* mMET_nVtx_profile_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"MET_profile");
151 MonitorElement* mSumET_nVtx_profile_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"SumET_profile");
152 MonitorElement* mChargedHadronEtFraction_nVtx_profile_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfChargedHadronEtFraction_profile");
153 MonitorElement* mNeutralHadronEtFraction_nVtx_profile_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfNeutralHadronEtFraction_profile");
154 MonitorElement* mPhotonEtFraction_nVtx_profile_MiniAOD=iget_.
get(rundirMET_miniaod+
"/"+
"PfPhotonEtFraction_profile");
156 std::vector<MonitorElement*> me_MET_MiniAOD;
157 me_MET_MiniAOD.push_back(mMET_MiniAOD);
158 me_MET_MiniAOD.push_back(mMEy_MiniAOD);
159 me_MET_MiniAOD.push_back(mSumET_MiniAOD);
160 me_MET_MiniAOD.push_back(mMETPhi_MiniAOD);
161 me_MET_MiniAOD.push_back(mMET_logx_MiniAOD);
162 me_MET_MiniAOD.push_back(mSumET_logx_MiniAOD);
163 me_MET_MiniAOD.push_back(mChargedHadronEtFraction_MiniAOD);
164 me_MET_MiniAOD.push_back(mNeutralHadronEtFraction_MiniAOD);
165 me_MET_MiniAOD.push_back(mPhotonEtFraction_MiniAOD);
166 me_MET_MiniAOD.push_back(mHFHadronEtFraction_MiniAOD);
167 me_MET_MiniAOD.push_back(mHFEMEtFraction_MiniAOD);
168 me_MET_MiniAOD.push_back(mMET_nVtx_profile_MiniAOD);
169 me_MET_MiniAOD.push_back(mSumET_nVtx_profile_MiniAOD);
170 me_MET_MiniAOD.push_back(mChargedHadronEtFraction_nVtx_profile_MiniAOD);
171 me_MET_MiniAOD.push_back(mNeutralHadronEtFraction_nVtx_profile_MiniAOD);
172 me_MET_MiniAOD.push_back(mPhotonEtFraction_nVtx_profile_MiniAOD);
193 std::vector<MonitorElement*> me_MET_MiniAOD_over_Reco;
211 for(
unsigned int j=0;
j<me_MET_MiniAOD_over_Reco.size();
j++){
214 MonitorElement* monMETMiniAOD_over_RECO=me_MET_MiniAOD_over_Reco[
j];
if(monMETMiniAOD_over_RECO && monMETMiniAOD_over_RECO->
getRootObject()){
215 for(
int i=0;
i<=(monMETMiniAOD_over_RECO->
getNbinsX()+1);
i++){
229 std::vector<std::string> subDirVecJet;
234 bool found_Jetreco_dir=
false;
235 bool found_Jetminiaod_dir=
false;
236 for (
int i=0;
i<int(subDirVecJet.size());
i++) {
239 found_Jetreco_dir=
true;
242 found_Jetminiaod_dir=
true;
245 if(found_Jetreco_dir && found_Jetminiaod_dir){
256 MonitorElement* mJetEnergyCorr_Reco=iget_.
get(rundirJet_reco+
"/"+
"JetEnergyCorr");
257 MonitorElement* mJetEnergyCorrVSeta_Reco=iget_.
get(rundirJet_reco+
"/"+
"JetEnergyCorrVSEta");
259 MonitorElement* mLooseJIDPassFractionVSeta_Reco=iget_.
get(rundirJet_reco+
"/"+
"JetIDPassFractionVSeta");
263 MonitorElement* mMVAPUJIDDiscriminant_lowPt_Barrel_Reco=iget_.
get(rundirJet_reco+
"/"+
"MVAPUJIDDiscriminant_lowPt_Barrel");
264 MonitorElement* mMVAPUJIDDiscriminant_lowPt_EndCap_Reco=iget_.
get(rundirJet_reco+
"/"+
"MVAPUJIDDiscriminant_lowPt_EndCap");
265 MonitorElement* mMVAPUJIDDiscriminant_lowPt_Forward_Reco=iget_.
get(rundirJet_reco+
"/"+
"MVAPUJIDDiscriminant_lowPt_Forward");
266 MonitorElement* mMVAPUJIDDiscriminant_mediumPt_EndCap_Reco=iget_.
get(rundirJet_reco+
"/"+
"MVAPUJIDDiscriminant_mediumPt_EndCap");
267 MonitorElement* mMVAPUJIDDiscriminant_highPt_Barrel_Reco=iget_.
get(rundirJet_reco+
"/"+
"MVAPUJIDDiscriminant_highPt_Barrel");
268 MonitorElement* mCHFracVSpT_Barrel_Reco=iget_.
get(rundirJet_reco+
"/"+
"CHFracVSpT_Barrel");
269 MonitorElement* mNHFracVSpT_EndCap_Reco=iget_.
get(rundirJet_reco+
"/"+
"NHFracVSpT_EndCap");
270 MonitorElement* mPhFracVSpT_Barrel_Reco=iget_.
get(rundirJet_reco+
"/"+
"PhFracVSpT_Barrel");
271 MonitorElement* mHFHFracVSpT_Forward_Reco=iget_.
get(rundirJet_reco+
"/"+
"HFHFracVSpT_Forward");
272 MonitorElement* mHFEFracVSpT_Forward_Reco=iget_.
get(rundirJet_reco+
"/"+
"HFEFracVSpT_Forward");
276 MonitorElement* mChargedMultiplicity_Reco=iget_.
get(rundirJet_reco+
"/DiJet/"+
"ChargedMultiplicity");
277 MonitorElement* mNeutralMultiplicity_Reco=iget_.
get(rundirJet_reco+
"/DiJet/"+
"NeutralMultiplicity");
278 MonitorElement* mMuonMultiplicity_Reco=iget_.
get(rundirJet_reco+
"/DiJet/"+
"MuonMultiplicity");
279 MonitorElement* mNeutralFraction_Reco=iget_.
get(rundirJet_reco+
"/DiJet/"+
"NeutralConstituentsFraction");
281 std::vector<MonitorElement*> me_Jet_Reco;
282 me_Jet_Reco.push_back(mPt_Reco);
283 me_Jet_Reco.push_back(mEta_Reco);
284 me_Jet_Reco.push_back(mPhi_Reco);
285 me_Jet_Reco.push_back(mNjets_Reco);
286 me_Jet_Reco.push_back(mPt_uncor_Reco);
287 me_Jet_Reco.push_back(mEta_uncor_Reco);
288 me_Jet_Reco.push_back(mPhi_uncor_Reco);
289 me_Jet_Reco.push_back(mJetEnergyCorr_Reco);
290 me_Jet_Reco.push_back(mJetEnergyCorrVSeta_Reco);
291 me_Jet_Reco.push_back(mDPhi_Reco);
292 me_Jet_Reco.push_back(mLooseJIDPassFractionVSeta_Reco);
293 me_Jet_Reco.push_back(mPt_Barrel_Reco);
294 me_Jet_Reco.push_back(mPt_EndCap_Reco);
295 me_Jet_Reco.push_back(mPt_Forward_Reco);
296 me_Jet_Reco.push_back(mMVAPUJIDDiscriminant_lowPt_Barrel_Reco);
297 me_Jet_Reco.push_back(mMVAPUJIDDiscriminant_lowPt_EndCap_Reco);
298 me_Jet_Reco.push_back(mMVAPUJIDDiscriminant_lowPt_Forward_Reco);
299 me_Jet_Reco.push_back(mMVAPUJIDDiscriminant_mediumPt_EndCap_Reco);
300 me_Jet_Reco.push_back(mMVAPUJIDDiscriminant_highPt_Barrel_Reco);
301 me_Jet_Reco.push_back(mCHFracVSpT_Barrel_Reco);
302 me_Jet_Reco.push_back(mNHFracVSpT_EndCap_Reco);
303 me_Jet_Reco.push_back(mPhFracVSpT_Barrel_Reco);
304 me_Jet_Reco.push_back(mHFHFracVSpT_Forward_Reco);
305 me_Jet_Reco.push_back(mHFEFracVSpT_Forward_Reco);
306 me_Jet_Reco.push_back(mCHFrac_Reco);
307 me_Jet_Reco.push_back(mNHFrac_Reco);
308 me_Jet_Reco.push_back(mPhFrac_Reco);
309 me_Jet_Reco.push_back(mChargedMultiplicity_Reco);
310 me_Jet_Reco.push_back(mNeutralMultiplicity_Reco);
311 me_Jet_Reco.push_back(mMuonMultiplicity_Reco);
312 me_Jet_Reco.push_back(mNeutralFraction_Reco);
321 MonitorElement* mJetEnergyCorr_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"JetEnergyCorr");
322 MonitorElement* mJetEnergyCorrVSeta_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"JetEnergyCorrVSEta");
324 MonitorElement* mLooseJIDPassFractionVSeta_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"JetIDPassFractionVSeta");
327 MonitorElement* mPt_Forward_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"Pt_Forward");
328 MonitorElement* mMVAPUJIDDiscriminant_lowPt_Barrel_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"MVAPUJIDDiscriminant_lowPt_Barrel");
329 MonitorElement* mMVAPUJIDDiscriminant_lowPt_EndCap_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"MVAPUJIDDiscriminant_lowPt_EndCap");
330 MonitorElement* mMVAPUJIDDiscriminant_lowPt_Forward_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"MVAPUJIDDiscriminant_lowPt_Forward");
331 MonitorElement* mMVAPUJIDDiscriminant_mediumPt_EndCap_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"MVAPUJIDDiscriminant_mediumPt_EndCap");
332 MonitorElement* mMVAPUJIDDiscriminant_highPt_Barrel_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"MVAPUJIDDiscriminant_highPt_Barrel");
333 MonitorElement* mCHFracVSpT_Barrel_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"CHFracVSpT_Barrel");
334 MonitorElement* mNHFracVSpT_EndCap_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"NHFracVSpT_EndCap");
335 MonitorElement* mPhFracVSpT_Barrel_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"PhFracVSpT_Barrel");
336 MonitorElement* mHFHFracVSpT_Forward_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"HFHFracVSpT_Forward");
337 MonitorElement* mHFEFracVSpT_Forward_MiniAOD=iget_.
get(rundirJet_miniaod+
"/"+
"HFEFracVSpT_Forward");
341 MonitorElement* mChargedMultiplicity_MiniAOD=iget_.
get(rundirJet_miniaod+
"/DiJet/"+
"ChargedMultiplicity");
342 MonitorElement* mNeutralMultiplicity_MiniAOD=iget_.
get(rundirJet_miniaod+
"/DiJet/"+
"NeutralMultiplicity");
343 MonitorElement* mMuonMultiplicity_MiniAOD=iget_.
get(rundirJet_miniaod+
"/DiJet/"+
"MuonMultiplicity");
344 MonitorElement* mNeutralFraction_MiniAOD=iget_.
get(rundirJet_miniaod+
"/DiJet/"+
"NeutralConstituentsFraction");
346 std::vector<MonitorElement*> me_Jet_MiniAOD;
347 me_Jet_MiniAOD.push_back(mPt_MiniAOD);
348 me_Jet_MiniAOD.push_back(mEta_MiniAOD);
349 me_Jet_MiniAOD.push_back(mPhi_MiniAOD);
350 me_Jet_MiniAOD.push_back(mNjets_MiniAOD);
351 me_Jet_MiniAOD.push_back(mPt_uncor_MiniAOD);
352 me_Jet_MiniAOD.push_back(mEta_uncor_MiniAOD);
353 me_Jet_MiniAOD.push_back(mPhi_uncor_MiniAOD);
354 me_Jet_MiniAOD.push_back(mJetEnergyCorr_MiniAOD);
355 me_Jet_MiniAOD.push_back(mJetEnergyCorrVSeta_MiniAOD);
356 me_Jet_MiniAOD.push_back(mDPhi_MiniAOD);
357 me_Jet_MiniAOD.push_back(mLooseJIDPassFractionVSeta_MiniAOD);
358 me_Jet_MiniAOD.push_back(mPt_Barrel_MiniAOD);
359 me_Jet_MiniAOD.push_back(mPt_EndCap_MiniAOD);
360 me_Jet_MiniAOD.push_back(mPt_Forward_MiniAOD);
361 me_Jet_MiniAOD.push_back(mMVAPUJIDDiscriminant_lowPt_Barrel_MiniAOD);
362 me_Jet_MiniAOD.push_back(mMVAPUJIDDiscriminant_lowPt_EndCap_MiniAOD);
363 me_Jet_MiniAOD.push_back(mMVAPUJIDDiscriminant_lowPt_Forward_MiniAOD);
364 me_Jet_MiniAOD.push_back(mMVAPUJIDDiscriminant_mediumPt_EndCap_MiniAOD);
365 me_Jet_MiniAOD.push_back(mMVAPUJIDDiscriminant_highPt_Barrel_MiniAOD);
366 me_Jet_MiniAOD.push_back(mCHFracVSpT_Barrel_MiniAOD);
367 me_Jet_MiniAOD.push_back(mNHFracVSpT_EndCap_MiniAOD);
368 me_Jet_MiniAOD.push_back(mPhFracVSpT_Barrel_MiniAOD);
369 me_Jet_MiniAOD.push_back(mHFHFracVSpT_Forward_MiniAOD);
370 me_Jet_MiniAOD.push_back(mHFEFracVSpT_Forward_MiniAOD);
371 me_Jet_MiniAOD.push_back(mCHFrac_MiniAOD);
372 me_Jet_MiniAOD.push_back(mNHFrac_MiniAOD);
373 me_Jet_MiniAOD.push_back(mPhFrac_MiniAOD);
374 me_Jet_MiniAOD.push_back(mChargedMultiplicity_MiniAOD);
375 me_Jet_MiniAOD.push_back(mNeutralMultiplicity_MiniAOD);
376 me_Jet_MiniAOD.push_back(mMuonMultiplicity_MiniAOD);
377 me_Jet_MiniAOD.push_back(mNeutralFraction_MiniAOD);
413 std::vector<MonitorElement*> me_Jet_MiniAOD_over_Reco;
446 for(
unsigned int j=0;
j<me_Jet_MiniAOD_over_Reco.size();
j++){
449 MonitorElement* monJetMiniAOD_over_RECO=me_Jet_MiniAOD_over_Reco[
j];
if(monJetMiniAOD_over_RECO && monJetMiniAOD_over_RECO->
getRootObject()){
450 for(
int i=0;
i<=(monJetMiniAOD_over_RECO->
getNbinsX()+1);
i++){
463 if (
verbose_)
std::cout <<
">>> EndRun (DataCertificationJetMET) <<<" << std::endl;
465 std::vector<std::string> subDirVec;
504 if (RunDir==
"Reference") RunDir=
"";
522 if (RunDir ==
"") newHistoName =
"JetMET/Jet/";
523 else newHistoName = RunDir+
"/JetMET/Runsummary/Jet/";
525 cleaningdir =
"Cleaned";
528 meJetPhi[0] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Phi_Barrel");
529 meJetPhi[1] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Phi_EndCap");
530 meJetPhi[2] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Phi_Forward");
531 meJetPhi[3] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"CaloJets/Phi");
535 meJetEta[0] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Eta");
536 meJetEta[1] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Eta");
537 meJetEta[2] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/EtaFirst");
538 meJetEta[3] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"CaloJets/Eta");
542 meJetPt[0] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Pt_Barrel");
543 meJetPt[1] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Pt_EndCap");
544 meJetPt[2] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Pt_Forward");
545 meJetPt[3] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"CaloJets/Pt_2");
548 meJetConstituents[0] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Constituents_Barrel");
549 meJetConstituents[1] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Constituents_EndCap");
550 meJetConstituents[2] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/Constituents_Forward");
551 meJetConstituents[3] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"CaloJets/Constituents");
554 meJetEMFrac[0] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/EFrac_Barrel");
555 meJetEMFrac[1] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/EFrac_EndCap");
556 meJetEMFrac[2] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"PFJets/EFrac_Forward");
557 meJetEMFrac[3] = iget_.
get(newHistoName+cleaningdir+
jetAlgo+
"CaloJets/EFrac");
575 const QReport* QReport_JetEta[4] = {0};
576 const QReport* QReport_JetPhi[4] = {0};
578 const QReport* QReport_JetConstituents[4][2] = {{0}};
579 const QReport* QReport_JetEFrac[4][2] = {{0}};
580 const QReport* QReport_JetPt[4][2] = {{0}};
584 float qr_Jet_Eta[4] = {-1};
585 float qr_Jet_Phi[4] = {-1};
586 float dc_Jet[4] = {-1};
588 float qr_Jet_Constituents[4][2] = {{-1}};
589 float qr_Jet_EFrac[4][2] = {{-1}};
590 float qr_Jet_Pt[4][2] = {{-1}};
595 for (
int jtyp=0; jtyp<4; ++jtyp) {
598 if (meJetConstituents[jtyp] && meJetConstituents[jtyp]->getRootObject() ) {
599 QReport_JetConstituents[jtyp][0] = meJetConstituents[jtyp]->
getQReport(
"meanJetConstituentsTest");
600 QReport_JetConstituents[jtyp][1] = meJetConstituents[jtyp]->
getQReport(
"KolmogorovTest");
602 if (meJetEMFrac[jtyp]&& meJetEMFrac[jtyp]->getRootObject() ) {
603 QReport_JetEFrac[jtyp][0] = meJetEMFrac[jtyp]->
getQReport(
"meanEMFractionTest");
604 QReport_JetEFrac[jtyp][1] = meJetEMFrac[jtyp]->
getQReport(
"KolmogorovTest");
606 if (meJetPt[jtyp] && meJetPt[jtyp]->getRootObject() ) {
607 QReport_JetPt[jtyp][0] = meJetPt[jtyp]->
getQReport(
"meanJetPtTest");
608 QReport_JetPt[jtyp][1] = meJetPt[jtyp]->
getQReport(
"KolmogorovTest");
610 if (meJetPhi[jtyp] && meJetPhi[jtyp]->getRootObject()){
611 QReport_JetPhi[jtyp] = meJetPhi[jtyp]->
getQReport(
"KolmogorovTest");
613 if (meJetEta[jtyp] && meJetEta[jtyp]->getRootObject()){
614 QReport_JetEta[jtyp] = meJetEta[jtyp]->
getQReport(
"KolmogorovTest");
618 if (QReport_JetPt[jtyp][0]){
620 if (QReport_JetPt[jtyp][0]->getStatus()==100 ||
621 QReport_JetPt[jtyp][0]->getStatus()==200)
622 qr_Jet_Pt[jtyp][0] = 1;
623 else if (QReport_JetPt[jtyp][0]->getStatus()==300)
624 qr_Jet_Pt[jtyp][0] = 0;
626 qr_Jet_Pt[jtyp][0] = -1;
628 else{ qr_Jet_Pt[jtyp][0] = -2;
631 if (QReport_JetPt[jtyp][1]){
632 if (QReport_JetPt[jtyp][1]->getStatus()==100 ||
633 QReport_JetPt[jtyp][1]->getStatus()==200)
634 qr_Jet_Pt[jtyp][1] = 1;
635 else if (QReport_JetPt[jtyp][1]->getStatus()==300)
636 qr_Jet_Pt[jtyp][1] = 0;
638 qr_Jet_Pt[jtyp][1] = -1;
640 else{ qr_Jet_Pt[jtyp][1] = -2;
644 if (QReport_JetPhi[jtyp]){
645 if (QReport_JetPhi[jtyp]->getStatus()==100 ||
646 QReport_JetPhi[jtyp]->getStatus()==200)
647 qr_Jet_Phi[jtyp] = 1;
648 else if (QReport_JetPhi[jtyp]->getStatus()==300)
649 qr_Jet_Phi[jtyp] = 0;
651 qr_Jet_Phi[jtyp] = -1;
653 else{ qr_Jet_Phi[jtyp] = -2;
656 if (QReport_JetEta[jtyp]){
657 if (QReport_JetEta[jtyp]->getStatus()==100 ||
658 QReport_JetEta[jtyp]->getStatus()==200)
659 qr_Jet_Eta[jtyp] = 1;
660 else if (QReport_JetEta[jtyp]->getStatus()==300)
661 qr_Jet_Eta[jtyp] = 0;
663 qr_Jet_Eta[jtyp] = -1;
666 qr_Jet_Eta[jtyp] = -2;
669 if (QReport_JetConstituents[jtyp][0]){
670 if (QReport_JetConstituents[jtyp][0]->getStatus()==100 ||
671 QReport_JetConstituents[jtyp][0]->getStatus()==200)
672 qr_Jet_Constituents[jtyp][0] = 1;
673 else if (QReport_JetConstituents[jtyp][0]->getStatus()==300)
674 qr_Jet_Constituents[jtyp][0] = 0;
676 qr_Jet_Constituents[jtyp][0] = -1;
678 else{ qr_Jet_Constituents[jtyp][0] = -2;
681 if (QReport_JetConstituents[jtyp][1]){
682 if (QReport_JetConstituents[jtyp][1]->getStatus()==100 ||
683 QReport_JetConstituents[jtyp][1]->getStatus()==200)
684 qr_Jet_Constituents[jtyp][1] = 1;
685 else if (QReport_JetConstituents[jtyp][1]->getStatus()==300)
686 qr_Jet_Constituents[jtyp][1] = 0;
688 qr_Jet_Constituents[jtyp][1] = -1;
690 else{ qr_Jet_Constituents[jtyp][1] = -2;
693 if (QReport_JetEFrac[jtyp][0]){
694 if (QReport_JetEFrac[jtyp][0]->getStatus()==100 ||
695 QReport_JetEFrac[jtyp][0]->getStatus()==200)
696 qr_Jet_EFrac[jtyp][0] = 1;
697 else if (QReport_JetEFrac[jtyp][0]->getStatus()==300)
698 qr_Jet_EFrac[jtyp][0] = 0;
700 qr_Jet_EFrac[jtyp][0] = -1;
702 else{ qr_Jet_EFrac[jtyp][0] = -2;
705 if (QReport_JetEFrac[jtyp][1]){
706 if (QReport_JetEFrac[jtyp][1]->getStatus()==100 ||
707 QReport_JetEFrac[jtyp][1]->getStatus()==200)
708 qr_Jet_EFrac[jtyp][1] = 1;
709 else if (QReport_JetEFrac[jtyp][1]->getStatus()==300)
710 qr_Jet_EFrac[jtyp][1] = 0;
712 qr_Jet_EFrac[jtyp][1] = -1;
714 else{ qr_Jet_EFrac[jtyp][1] = -2;
718 printf(
"====================Jet Type %d QTest Report Summary========================\n",jtyp);
719 printf(
"Eta: Phi: Pt 1: 2: Const/Ntracks 1: 2: EFrac/tracknhits 1: 2:\n");
721 printf(
"%2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f %2.2f\n", \
724 qr_Jet_Pt[jtyp][0], \
725 qr_Jet_Pt[jtyp][1], \
726 qr_Jet_Constituents[jtyp][0], \
727 qr_Jet_Constituents[jtyp][1], \
728 qr_Jet_EFrac[jtyp][0], \
729 qr_Jet_EFrac[jtyp][1]);
735 for (
int ttyp = 0; ttyp < 2; ++ttyp) {
737 qr_Jet_Pt[jtyp][ttyp] = 1;
739 qr_Jet_Eta[jtyp] = 1;
740 qr_Jet_Phi[jtyp] = 1;
742 qr_Jet_EFrac[jtyp][ttyp] = 1;
743 qr_Jet_Constituents[jtyp][ttyp] = 1;
749 if ( (qr_Jet_EFrac[jtyp][0] == 0) ||
750 (qr_Jet_EFrac[jtyp][1] == 0) ||
751 (qr_Jet_Constituents[jtyp][1] == 0) ||
752 (qr_Jet_Constituents[jtyp][0] == 0) ||
753 (qr_Jet_Eta[jtyp] == 0) ||
754 (qr_Jet_Phi[jtyp] == 0) ||
755 (qr_Jet_Pt[jtyp][0] == 0) ||
756 (qr_Jet_Pt[jtyp][1] == 0)
759 else if ( (qr_Jet_EFrac[jtyp][0] == -1) &&
760 (qr_Jet_EFrac[jtyp][1] == -1) &&
761 (qr_Jet_Constituents[jtyp][1] == -1) &&
762 (qr_Jet_Constituents[jtyp][0] == -1) &&
763 (qr_Jet_Eta[jtyp] == -1) &&
764 (qr_Jet_Phi[jtyp] == -1) &&
765 (qr_Jet_Pt[jtyp][0] == -1) &&
766 (qr_Jet_Pt[jtyp][1] == -1 )
769 else if ( (qr_Jet_EFrac[jtyp][0] == -2) &&
770 (qr_Jet_EFrac[jtyp][1] == -2) &&
771 (qr_Jet_Constituents[jtyp][1] == -2) &&
772 (qr_Jet_Constituents[jtyp][0] == -2) &&
773 (qr_Jet_Eta[jtyp] == -2) &&
774 (qr_Jet_Phi[jtyp] == -2) &&
775 (qr_Jet_Pt[jtyp][0] == -2) &&
776 (qr_Jet_Pt[jtyp][1] == -2)
782 if (
verbose_)
std::cout<<
"Certifying Jet algo: "<<jtyp<<
" with value: "<<dc_Jet[jtyp]<<std::endl;
801 if (RunDir ==
"") newHistoName =
"JetMET/MET/";
802 else newHistoName = RunDir+
"/JetMET/Runsummary/MET/";
807 meMExy[0][0] = iget_.
get(newHistoName+
"met/"+
metFolder+
"/MEx");
808 meMExy[0][1] = iget_.
get(newHistoName+
"met/"+
metFolder+
"/MEy");
809 meMExy[1][0] = iget_.
get(newHistoName+
"pfMet/"+
metFolder+
"/MEx");
810 meMExy[1][1] = iget_.
get(newHistoName+
"pfMet/"+
metFolder+
"/MEy");
813 meMETPhi[0] = iget_.
get(newHistoName+
"met/"+
metFolder+
"/METPhi");
814 meMETPhi[1] = iget_.
get(newHistoName+
"pfMet/"+
metFolder+
"/METPhi");
816 meMEt[0] = iget_.
get(newHistoName+
"met/"+
metFolder+
"/MET");
817 meMEt[1] = iget_.
get(newHistoName+
"pfMet/"+
metFolder+
"/MET");
819 meSumEt[0] = iget_.
get(newHistoName+
"met/"+
metFolder+
"/SumET");
820 meSumEt[1] = iget_.
get(newHistoName+
"pfMet/"+
metFolder+
"/SumET");
829 const QReport * QReport_MExy[2][2][2]={{{0}}};
830 const QReport * QReport_MEt[2][2]={{0}};
831 const QReport * QReport_SumEt[2][2]={{0}};
833 const QReport * QReport_METPhi[2][2]={{0}};
836 float qr_MET_MExy[2][2][2] = {{{-999.}}};
837 float qr_MET_MEt[2][2] = {{-999.}};
838 float qr_MET_SumEt[2][2] = {{-999.}};
839 float qr_MET_METPhi[2][2] = {{-999.}};
840 float dc_MET[2] = {-999.};
845 for (
int mtyp = 0; mtyp < 2; ++mtyp){
847 if (meMExy[mtyp][0] && meMExy[mtyp][0]->getRootObject()) {
848 QReport_MExy[mtyp][0][0] = meMExy[mtyp][0]->
getQReport(
"meanMExyTest");
849 QReport_MExy[mtyp][1][0] = meMExy[mtyp][0]->
getQReport(
"KolmogorovTest");
851 if (meMExy[mtyp][1]&& meMExy[mtyp][1]->getRootObject()) {
852 QReport_MExy[mtyp][0][1] = meMExy[mtyp][1]->
getQReport(
"meanMExyTest");
853 QReport_MExy[mtyp][1][1] = meMExy[mtyp][1]->
getQReport(
"KolmogorovTest");
855 if (meMEt[mtyp] && meMEt[mtyp]->getRootObject()) {
856 QReport_MEt[mtyp][0] = meMEt[mtyp]->
getQReport(
"meanMETTest");
857 QReport_MEt[mtyp][1] = meMEt[mtyp]->
getQReport(
"KolmogorovTest");
860 if (meSumEt[mtyp] && meSumEt[mtyp]->getRootObject()) {
861 QReport_SumEt[mtyp][0] = meSumEt[mtyp]->
getQReport(
"meanSumETTest");
862 QReport_SumEt[mtyp][1] = meSumEt[mtyp]->
getQReport(
"KolmogorovTest");
865 if (meMETPhi[mtyp] && meMETPhi[mtyp]->getRootObject()) {
866 QReport_METPhi[mtyp][0] = meMETPhi[mtyp]->
getQReport(
"phiQTest");
867 QReport_METPhi[mtyp][1] = meMETPhi[mtyp]->
getQReport(
"KolmogorovTest");
869 for (
int testtyp = 0; testtyp < 2; ++testtyp) {
871 if (QReport_MExy[mtyp][testtyp][0]){
872 if (QReport_MExy[mtyp][testtyp][0]->getStatus()==100 ||
873 QReport_MExy[mtyp][testtyp][0]->getStatus()==200)
874 qr_MET_MExy[mtyp][testtyp][0] = 1;
875 else if (QReport_MExy[mtyp][testtyp][0]->getStatus()==300)
876 qr_MET_MExy[mtyp][testtyp][0] = 0;
878 qr_MET_MExy[mtyp][testtyp][0] = -1;
880 else qr_MET_MExy[mtyp][testtyp][0] = -2;
882 if (QReport_MExy[mtyp][testtyp][1]){
883 if (QReport_MExy[mtyp][testtyp][1]->getStatus()==100 ||
884 QReport_MExy[mtyp][testtyp][1]->getStatus()==200)
885 qr_MET_MExy[mtyp][testtyp][1] = 1;
886 else if (QReport_MExy[mtyp][testtyp][1]->getStatus()==300)
887 qr_MET_MExy[mtyp][testtyp][1] = 0;
889 qr_MET_MExy[mtyp][testtyp][1] = -1;
891 else qr_MET_MExy[mtyp][testtyp][1] = -2;
894 if (QReport_MEt[mtyp][testtyp]){
895 if (QReport_MEt[mtyp][testtyp]->getStatus()==100 ||
896 QReport_MEt[mtyp][testtyp]->getStatus()==200)
897 qr_MET_MEt[mtyp][testtyp] = 1;
898 else if (QReport_MEt[mtyp][testtyp]->getStatus()==300)
899 qr_MET_MEt[mtyp][testtyp] = 0;
901 qr_MET_MEt[mtyp][testtyp] = -1;
904 qr_MET_MEt[mtyp][testtyp] = -2;
907 if (QReport_SumEt[mtyp][testtyp]){
908 if (QReport_SumEt[mtyp][testtyp]->getStatus()==100 ||
909 QReport_SumEt[mtyp][testtyp]->getStatus()==200)
910 qr_MET_SumEt[mtyp][testtyp] = 1;
911 else if (QReport_SumEt[mtyp][testtyp]->getStatus()==300)
912 qr_MET_SumEt[mtyp][testtyp] = 0;
914 qr_MET_SumEt[mtyp][testtyp] = -1;
917 qr_MET_SumEt[mtyp][testtyp] = -2;
920 if (QReport_METPhi[mtyp][testtyp]){
921 if (QReport_METPhi[mtyp][testtyp]->getStatus()==100 ||
922 QReport_METPhi[mtyp][testtyp]->getStatus()==200)
923 qr_MET_METPhi[mtyp][testtyp] = 1;
924 else if (QReport_METPhi[mtyp][testtyp]->getStatus()==300)
925 qr_MET_METPhi[mtyp][testtyp] = 0;
927 qr_MET_METPhi[mtyp][testtyp] = -1;
930 qr_MET_METPhi[mtyp][testtyp] = -2;
937 printf(
"====================MET Type %d QTest Report Summary========================\n",mtyp);
938 printf(
"MEx test MEy test MEt test: SumEt test: METPhi test:\n");
939 for (
int tt = 0;
tt < 2; ++
tt) {
940 printf(
"%2.2f %2.2f %2.2f %2.2f %2.2f\n",qr_MET_MExy[mtyp][
tt][0], \
941 qr_MET_MExy[mtyp][tt][1], \
942 qr_MET_MEt[mtyp][tt], \
943 qr_MET_SumEt[mtyp][tt], \
944 qr_MET_METPhi[mtyp][tt]);
946 printf(
"===========================================================================\n");
951 for (
int ttyp = 0; ttyp < 2; ++ttyp) {
953 qr_MET_MExy[mtyp][ttyp][0] = 1;
954 qr_MET_MExy[mtyp][ttyp][1] = 1;
955 qr_MET_MEt[mtyp][ttyp] = 1;
956 qr_MET_SumEt[mtyp][ttyp] = 1;
957 qr_MET_METPhi[mtyp][ttyp] = 1;
963 (qr_MET_MExy[mtyp][0][0] == 0) ||
964 (qr_MET_MExy[mtyp][0][1] == 0) ||
965 (qr_MET_MEt[mtyp][0] == 0) ||
966 (qr_MET_SumEt[mtyp][0] == 0) ||
967 (qr_MET_METPhi[mtyp][0] == 0) ||
968 (qr_MET_MExy[mtyp][1][0] == 0) ||
969 (qr_MET_MExy[mtyp][1][1] == 0) ||
970 (qr_MET_MEt[mtyp][1] == 0) ||
971 (qr_MET_SumEt[mtyp][1] == 0) ||
972 (qr_MET_METPhi[mtyp][1] == 0)
976 (qr_MET_MExy[mtyp][0][0] == -1) &&
977 (qr_MET_MExy[mtyp][0][1] == -1) &&
978 (qr_MET_MEt[mtyp][0] == -1) &&
979 (qr_MET_SumEt[mtyp][0] == -1) &&
980 (qr_MET_METPhi[mtyp][0] == -1) &&
981 (qr_MET_MExy[mtyp][1][0] == -1) &&
982 (qr_MET_MExy[mtyp][1][1] == -1) &&
983 (qr_MET_MEt[mtyp][1] == -1) &&
984 (qr_MET_SumEt[mtyp][1] == -1) &&
985 (qr_MET_METPhi[mtyp][1] == -1)
989 (qr_MET_MExy[mtyp][0][0] == -2) &&
990 (qr_MET_MExy[mtyp][0][1] == -2) &&
991 (qr_MET_MEt[mtyp][0] == -2) &&
992 (qr_MET_SumEt[mtyp][0] == -2) &&
993 (qr_MET_METPhi[mtyp][0] == -2) &&
994 (qr_MET_MExy[mtyp][1][0] == -2) &&
995 (qr_MET_MExy[mtyp][1][1] == -2) &&
996 (qr_MET_MEt[mtyp][1] == -2) &&
997 (qr_MET_SumEt[mtyp][1] == -2) &&
998 (qr_MET_METPhi[mtyp][1] == -2)
1004 if (
verbose_)
std::cout<<
"Certifying MET algo: "<<mtyp<<
" with value: "<<dc_MET[mtyp]<<std::endl;
1014 float dc_CT[3] = {-2.};
1019 for (
int cttyp = 0; cttyp < 3; ++cttyp) {
1021 if (
verbose_)
std::cout<<
"Certifying CaloTowers with value: "<<dc_CT[cttyp]<<std::endl;
MonitorElement * mMVAPUJIDDiscriminant_lowPt_Forward_MiniAOD_over_Reco
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * mMET_nVtx_profile_MiniAOD_over_Reco
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
MonitorElement * mMVAPUJIDDiscriminant_lowPt_EndCap_MiniAOD_over_Reco
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * mPt_MiniAOD_over_Reco
MonitorElement * mMuonMultiplicity_MiniAOD_over_Reco
MonitorElement * CertificationSummaryMap
MonitorElement * get(const std::string &path)
MonitorElement * mMVAPUJIDDiscriminant_mediumPt_EndCap_MiniAOD_over_Reco
MonitorElement * reportSummary
MonitorElement * mNeutralHadronEtFraction_MiniAOD_over_Reco
MonitorElement * mHFEFracVSpT_Forward_MiniAOD_over_Reco
MonitorElement * mPt_Barrel_MiniAOD_over_Reco
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * mMET_MiniAOD_over_Reco
MonitorElement * mChargedHadronEtFraction_MiniAOD_over_Reco
MonitorElement * mSumET_logx_MiniAOD_over_Reco
MonitorElement * mDPhi_MiniAOD_over_Reco
MonitorElement * mHFHadronEtFraction_MiniAOD_over_Reco
MonitorElement * mLooseJIDPassFractionVSeta_MiniAOD_over_Reco
MonitorElement * mMVAPUJIDDiscriminant_highPt_Barrel_MiniAOD_over_Reco
MonitorElement * mCHFrac_MiniAOD_over_Reco
MonitorElement * mPt_uncor_MiniAOD_over_Reco
MonitorElement * mNjets_MiniAOD_over_Reco
MonitorElement * mPt_EndCap_MiniAOD_over_Reco
MonitorElement * mPhotonEtFraction_MiniAOD_over_Reco
MonitorElement * mMETPhi_MiniAOD_over_Reco
MonitorElement * mNHFrac_MiniAOD_over_Reco
MonitorElement * mEta_MiniAOD_over_Reco
MonitorElement * mPhi_MiniAOD_over_Reco
MonitorElement * book1D(Args &&...args)
MonitorElement * reportSummaryMap
MonitorElement * mNeutralFraction_MiniAOD_over_Reco
edm::InputTag inputJetLabelRECO_
edm::InputTag inputJetLabelMiniAOD_
MonitorElement * mHFEMEtFraction_MiniAOD_over_Reco
MonitorElement * CertificationSummary
TObject * getRootObject(void) const
void setCurrentFolder(const std::string &fullpath)
MonitorElement * mPhFracVSpT_Barrel_MiniAOD_over_Reco
MonitorElement * mSumET_MiniAOD_over_Reco
MonitorElement * mPt_Forward_MiniAOD_over_Reco
MonitorElement * book2D(Args &&...args)
MonitorElement * mCHFracVSpT_Barrel_MiniAOD_over_Reco
MonitorElement * mJetEnergyCorrVSeta_MiniAOD_over_Reco
MonitorElement * mJetEnergyCorr_MiniAOD_over_Reco
virtual void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &)
MonitorElement * mPhi_uncor_MiniAOD_over_Reco
MonitorElement * mNeutralMultiplicity_MiniAOD_over_Reco
MonitorElement * mPhFrac_MiniAOD_over_Reco
std::vector< std::string > getSubdirs(void)
MonitorElement * mMVAPUJIDDiscriminant_lowPt_Barrel_MiniAOD_over_Reco
void setCurrentFolder(const std::string &fullpath)
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * mMEy_MiniAOD_over_Reco
MonitorElement * mChargedMultiplicity_MiniAOD_over_Reco
edm::InputTag inputMETLabelRECO_
int getNbinsX(void) const
get # of bins in X-axis
MonitorElement * bookFloat(Args &&...args)
MonitorElement * mSumET_nVtx_profile_MiniAOD_over_Reco
TH2F * getTH2F(void) const
MonitorElement * mPhotonEtFraction_nVtx_profile_MiniAOD_over_Reco
MonitorElement * mNHFracVSpT_EndCap_MiniAOD_over_Reco
MonitorElement * mNeutralHadronEtFraction_nVtx_profile_MiniAOD_over_Reco
MonitorElement * mChargedHadronEtFraction_nVtx_profile_MiniAOD_over_Reco
MonitorElement * mEta_uncor_MiniAOD_over_Reco
MonitorElement * mHFHFracVSpT_Forward_MiniAOD_over_Reco
edm::InputTag inputMETLabelMiniAOD_
~DataCertificationJetMET()
MonitorElement * mMET_logx_MiniAOD_over_Reco
DataCertificationJetMET(const edm::ParameterSet &)