CMS 3D CMS Logo

JetTesterPostProcessor.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Validation/RecoMET
4 // Class: METTesterPostProcessor
5 //
6 // Original Author: "Matthias Weber"
7 // Created: Sun Feb 22 14:35:25 CET 2015
8 //
9 
13 
14 // Some switches
15 //
16 // constructors and destructor
17 //
19  inputJetLabelRECO_ = iConfig.getParameter<edm::InputTag>("JetTypeRECO");
20  inputJetLabelMiniAOD_ = iConfig.getParameter<edm::InputTag>("JetTypeMiniAOD");
21 }
22 
24 
25 // ------------ method called right after a run ends ------------
27  std::vector<std::string> subDirVec;
28  std::string RunDir = "JetMET/JetValidation/";
29  iget_.setCurrentFolder(RunDir);
30  jet_dirs = iget_.getSubdirs();
31  bool found_reco_dir = false;
32  bool found_miniaod_dir = false;
33  // loop over jet subdirectories
34  for (int i = 0; i < int(jet_dirs.size()); i++) {
35  ibook_.setCurrentFolder(jet_dirs[i]);
36  if (jet_dirs[i] == (RunDir + inputJetLabelRECO_.label())) {
37  found_reco_dir = true;
38  }
39  if (jet_dirs[i] == (RunDir + inputJetLabelMiniAOD_.label())) {
40  found_miniaod_dir = true;
41  }
42  }
43  if (found_miniaod_dir && found_reco_dir) {
44  std::string rundir_reco = RunDir + inputJetLabelRECO_.label();
45  std::string rundir_miniaod = RunDir + inputJetLabelMiniAOD_.label();
46 
47  MonitorElement *mGenPt_Reco = iget_.get(rundir_reco + "/" + "GenPt");
48  MonitorElement *mGenPhi_Reco = iget_.get(rundir_reco + "/" + "GenPhi");
49  MonitorElement *mGenEta_Reco = iget_.get(rundir_reco + "/" + "GenEta");
50  MonitorElement *mPt_Reco = iget_.get(rundir_reco + "/" + "Pt");
51  MonitorElement *mPhi_Reco = iget_.get(rundir_reco + "/" + "Phi");
52  MonitorElement *mEta_Reco = iget_.get(rundir_reco + "/" + "Eta");
53  MonitorElement *mCorrJetPt_Reco = iget_.get(rundir_reco + "/" + "CorrJetPt");
54  MonitorElement *mCorrJetPhi_Reco = iget_.get(rundir_reco + "/" + "CorrJetPhi");
55  MonitorElement *mCorrJetEta_Reco = iget_.get(rundir_reco + "/" + "CorrJetEta");
56  /*
57  map_string_vec.push_back("Pt");
58  map_string_vec.push_back("Phi");
59  map_string_vec.push_back("Eta");
60  map_string_vec.push_back("CorrJetPt");
61  map_string_vec.push_back("CorrJetPhi");
62  map_string_vec.push_back("CorrJetEta");
63  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Pt"
64  ,mPt_Reco));
65  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Phi"
66  ,mPhi_Reco));
67  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"Eta"
68  ,mEta_Reco));
69  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPt"
70  ,mCorrJetPt_Reco));
71  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetPhi"
72  ,mCorrJetPhi_Reco));
73  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(rundir_reco+"/"+"CorrJetEta"
74  ,mCorrJetEta_Reco));
75  */
76  MonitorElement *mPtCorrOverReco_Eta_20_40_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_20_40");
77  MonitorElement *mPtCorrOverReco_Eta_200_600_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_200_600");
78  MonitorElement *mPtCorrOverReco_Eta_1500_3500_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverReco_Eta_1500_3500");
79  MonitorElement *mPtCorrOverGen_GenEta_40_200_Reco = iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_40_200");
80  MonitorElement *mPtCorrOverGen_GenEta_600_1500_Reco =
81  iget_.get(rundir_reco + "/" + "PtCorrOverGen_GenEta_600_1500");
82  MonitorElement *mDeltaEta_Reco = iget_.get(rundir_reco + "/" + "DeltaEta");
83  MonitorElement *mDeltaPhi_Reco = iget_.get(rundir_reco + "/" + "DeltaPhi");
84  MonitorElement *mDeltaPt_Reco = iget_.get(rundir_reco + "/" + "DeltaPt");
85  MonitorElement *mMjj_Reco = iget_.get(rundir_reco + "/" + "Mjj");
86  MonitorElement *mNJets40_Reco = iget_.get(rundir_reco + "/" + "NJets");
87  MonitorElement *mchargedHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "chargedHadronMultiplicity");
88  MonitorElement *mneutralHadronMultiplicity_Reco = iget_.get(rundir_reco + "/" + "neutralHadronMultiplicity");
89  MonitorElement *mphotonMultiplicity_Reco = iget_.get(rundir_reco + "/" + "photonMultiplicity");
90  MonitorElement *mphotonEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "photonEnergyFraction");
91  MonitorElement *mneutralHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "neutralHadronEnergyFraction");
92  MonitorElement *mchargedHadronEnergyFraction_Reco = iget_.get(rundir_reco + "/" + "chargedHadronEnergyFraction");
93 
94  std::vector<MonitorElement *> ME_Reco;
95  ME_Reco.push_back(mGenPt_Reco);
96  ME_Reco.push_back(mGenPhi_Reco);
97  ME_Reco.push_back(mGenEta_Reco);
98  ME_Reco.push_back(mPt_Reco);
99  ME_Reco.push_back(mPhi_Reco);
100  ME_Reco.push_back(mEta_Reco);
101  ME_Reco.push_back(mCorrJetPt_Reco);
102  ME_Reco.push_back(mCorrJetPhi_Reco);
103  ME_Reco.push_back(mCorrJetEta_Reco);
104  ME_Reco.push_back(mPtCorrOverReco_Eta_20_40_Reco);
105  ME_Reco.push_back(mPtCorrOverReco_Eta_200_600_Reco);
106  ME_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_Reco);
107  ME_Reco.push_back(mPtCorrOverGen_GenEta_40_200_Reco);
108  ME_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_Reco);
109  ME_Reco.push_back(mDeltaEta_Reco);
110  ME_Reco.push_back(mDeltaPhi_Reco);
111  ME_Reco.push_back(mDeltaPt_Reco);
112  ME_Reco.push_back(mMjj_Reco);
113  ME_Reco.push_back(mNJets40_Reco);
114  ME_Reco.push_back(mchargedHadronMultiplicity_Reco);
115  ME_Reco.push_back(mneutralHadronMultiplicity_Reco);
116  ME_Reco.push_back(mphotonMultiplicity_Reco);
117  ME_Reco.push_back(mphotonEnergyFraction_Reco);
118  ME_Reco.push_back(mneutralHadronEnergyFraction_Reco);
119  ME_Reco.push_back(mchargedHadronEnergyFraction_Reco);
120 
121  MonitorElement *mGenPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPt");
122  MonitorElement *mGenPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenPhi");
123  MonitorElement *mGenEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "GenEta");
124  MonitorElement *mPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "Pt");
125  MonitorElement *mPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "Phi");
126  MonitorElement *mEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "Eta");
127  MonitorElement *mCorrJetPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPt");
128  MonitorElement *mCorrJetPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetPhi");
129  MonitorElement *mCorrJetEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "CorrJetEta");
130  MonitorElement *mPtCorrOverReco_Eta_20_40_MiniAOD = iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_20_40");
131  MonitorElement *mPtCorrOverReco_Eta_200_600_MiniAOD =
132  iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_200_600");
133  MonitorElement *mPtCorrOverReco_Eta_1500_3500_MiniAOD =
134  iget_.get(rundir_miniaod + "/" + "PtCorrOverReco_Eta_1500_3500");
135  MonitorElement *mPtCorrOverGen_GenEta_40_200_MiniAOD =
136  iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_40_200");
137  MonitorElement *mPtCorrOverGen_GenEta_600_1500_MiniAOD =
138  iget_.get(rundir_miniaod + "/" + "PtCorrOverGen_GenEta_600_1500");
139  MonitorElement *mDeltaEta_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaEta");
140  MonitorElement *mDeltaPhi_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPhi");
141  MonitorElement *mDeltaPt_MiniAOD = iget_.get(rundir_miniaod + "/" + "DeltaPt");
142  MonitorElement *mMjj_MiniAOD = iget_.get(rundir_miniaod + "/" + "Mjj");
143  MonitorElement *mNJets40_MiniAOD = iget_.get(rundir_miniaod + "/" + "NJets");
144  MonitorElement *mchargedHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "chargedHadronMultiplicity");
145  MonitorElement *mneutralHadronMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "neutralHadronMultiplicity");
146  MonitorElement *mphotonMultiplicity_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonMultiplicity");
147  MonitorElement *mphotonEnergyFraction_MiniAOD = iget_.get(rundir_miniaod + "/" + "photonEnergyFraction");
148  MonitorElement *mneutralHadronEnergyFraction_MiniAOD =
149  iget_.get(rundir_miniaod + "/" + "neutralHadronEnergyFraction");
150  MonitorElement *mchargedHadronEnergyFraction_MiniAOD =
151  iget_.get(rundir_miniaod + "/" + "chargedHadronEnergyFraction");
152 
153  std::vector<MonitorElement *> ME_MiniAOD;
154  ME_MiniAOD.push_back(mGenPt_MiniAOD);
155  ME_MiniAOD.push_back(mGenPhi_MiniAOD);
156  ME_MiniAOD.push_back(mGenEta_MiniAOD);
157  ME_MiniAOD.push_back(mPt_MiniAOD);
158  ME_MiniAOD.push_back(mPhi_MiniAOD);
159  ME_MiniAOD.push_back(mEta_MiniAOD);
160  ME_MiniAOD.push_back(mCorrJetPt_MiniAOD);
161  ME_MiniAOD.push_back(mCorrJetPhi_MiniAOD);
162  ME_MiniAOD.push_back(mCorrJetEta_MiniAOD);
163  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD);
164  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD);
165  ME_MiniAOD.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD);
166  ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD);
167  ME_MiniAOD.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD);
168  ME_MiniAOD.push_back(mDeltaEta_MiniAOD);
169  ME_MiniAOD.push_back(mDeltaPhi_MiniAOD);
170  ME_MiniAOD.push_back(mDeltaPt_MiniAOD);
171  ME_MiniAOD.push_back(mMjj_MiniAOD);
172  ME_MiniAOD.push_back(mNJets40_MiniAOD);
173  ME_MiniAOD.push_back(mchargedHadronMultiplicity_MiniAOD);
174  ME_MiniAOD.push_back(mneutralHadronMultiplicity_MiniAOD);
175  ME_MiniAOD.push_back(mphotonMultiplicity_MiniAOD);
176  ME_MiniAOD.push_back(mphotonEnergyFraction_MiniAOD);
177  ME_MiniAOD.push_back(mneutralHadronEnergyFraction_MiniAOD);
178  ME_MiniAOD.push_back(mchargedHadronEnergyFraction_MiniAOD);
179 
180  ibook_.setCurrentFolder(RunDir + "MiniAOD_over_RECO");
181  mGenPt_MiniAOD_over_Reco = ibook_.book1D("GenPt_MiniAOD_over_RECO", (TH1F *)mGenPt_Reco->getRootObject());
182  mGenPhi_MiniAOD_over_Reco = ibook_.book1D("GenPhi_MiniAOD_over_RECO", (TH1F *)mGenPhi_Reco->getRootObject());
183  mGenEta_MiniAOD_over_Reco = ibook_.book1D("GenEta_MiniAOD_over_RECO", (TH1F *)mGenEta_Reco->getRootObject());
184  mPt_MiniAOD_over_Reco = ibook_.book1D("Pt_MiniAOD_over_RECO", (TH1F *)mPt_Reco->getRootObject());
185  mPhi_MiniAOD_over_Reco = ibook_.book1D("Phi_MiniAOD_over_RECO", (TH1F *)mPhi_Reco->getRootObject());
186  mEta_MiniAOD_over_Reco = ibook_.book1D("Eta_MiniAOD_over_RECO", (TH1F *)mEta_Reco->getRootObject());
188  ibook_.book1D("CorrJetPt_MiniAOD_over_RECO", (TH1F *)mCorrJetPt_Reco->getRootObject());
190  ibook_.book1D("CorrJetPhi_MiniAOD_over_RECO", (TH1F *)mCorrJetPhi_Reco->getRootObject());
192  ibook_.book1D("CorrJetEta_MiniAOD_over_RECO", (TH1F *)mCorrJetEta_Reco->getRootObject());
193 
194  // if eta range changed here need change in JetTester as well
195  float etarange[91] = {-6.0, -5.8, -5.6, -5.4, -5.2, -5.0, -4.8, -4.6, -4.4, -4.2, -4.0, -3.8, -3.6,
196  -3.4, -3.2, -3.0, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2.0,
197  -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1.0, -0.9, -0.8, -0.7,
198  -0.6, -0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6,
199  0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9,
200  2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.2, 3.4,
201  3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0};
202 
204  ibook_.book1D("PtCorrOverReco_Eta_20_40_MiniAOD_over_RECO", "20<genpt<40", 90, etarange);
206  ibook_.book1D("PtCorrOverReco_Eta_200_600_MiniAOD_over_RECO", "200<genpt<600", 90, etarange);
208  ibook_.book1D("PtCorrOverReco_Eta_1500_3500_MiniAOD_over_RECO", "1500<genpt<3500", 90, etarange);
210  ibook_.book1D("PtCorrOverGen_GenEta_40_200_MiniAOD_over_RECO", "40<genpt<200", 90, etarange);
212  ibook_.book1D("PtCorrOverGen_GenEta_600_1500_MiniAOD_over_RECO", "600<genpt<1500", 90, etarange);
213  mDeltaPt_MiniAOD_over_Reco = ibook_.book1D("DeltaPt_MiniAOD_over_RECO", (TH1F *)mDeltaPt_Reco->getRootObject());
214  mDeltaPhi_MiniAOD_over_Reco = ibook_.book1D("DeltaPhi_MiniAOD_over_RECO", (TH1F *)mDeltaPhi_Reco->getRootObject());
215  mDeltaEta_MiniAOD_over_Reco = ibook_.book1D("DeltaEta_MiniAOD_over_RECO", (TH1F *)mDeltaEta_Reco->getRootObject());
216  mMjj_MiniAOD_over_Reco = ibook_.book1D("Mjj_MiniAOD_over_RECO", (TH1F *)mMjj_Reco->getRootObject());
217  mNJets40_MiniAOD_over_Reco = ibook_.book1D("NJets_MiniAOD_over_RECO", (TH1F *)mNJets40_Reco->getRootObject());
219  "chargedHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mchargedHadronMultiplicity_Reco->getRootObject());
221  "neutralHadronMultiplicity_MiniAOD_over_RECO", (TH1F *)mneutralHadronMultiplicity_Reco->getRootObject());
223  ibook_.book1D("photonMultiplicity_MiniAOD_over_RECO", (TH1F *)mphotonMultiplicity_Reco->getRootObject());
225  "chargedHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mchargedHadronEnergyFraction_Reco->getRootObject());
227  "neutralHadronEnergyFraction_MiniAOD_over_RECO", (TH1F *)mneutralHadronEnergyFraction_Reco->getRootObject());
229  ibook_.book1D("photonEnergyFraction_MiniAOD_over_RECO", (TH1F *)mphotonEnergyFraction_Reco->getRootObject());
230 
231  std::vector<MonitorElement *> ME_MiniAOD_over_Reco;
232  ME_MiniAOD_over_Reco.push_back(mGenPt_MiniAOD_over_Reco);
233  ME_MiniAOD_over_Reco.push_back(mGenPhi_MiniAOD_over_Reco);
234  ME_MiniAOD_over_Reco.push_back(mGenEta_MiniAOD_over_Reco);
235  ME_MiniAOD_over_Reco.push_back(mPt_MiniAOD_over_Reco);
236  ME_MiniAOD_over_Reco.push_back(mPhi_MiniAOD_over_Reco);
237  ME_MiniAOD_over_Reco.push_back(mEta_MiniAOD_over_Reco);
238  ME_MiniAOD_over_Reco.push_back(mCorrJetPt_MiniAOD_over_Reco);
239  ME_MiniAOD_over_Reco.push_back(mCorrJetPhi_MiniAOD_over_Reco);
240  ME_MiniAOD_over_Reco.push_back(mCorrJetEta_MiniAOD_over_Reco);
241  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco);
242  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco);
243  ME_MiniAOD_over_Reco.push_back(mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco);
244  ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco);
245  ME_MiniAOD_over_Reco.push_back(mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco);
246  ME_MiniAOD_over_Reco.push_back(mDeltaEta_MiniAOD_over_Reco);
247  ME_MiniAOD_over_Reco.push_back(mDeltaPhi_MiniAOD_over_Reco);
248  ME_MiniAOD_over_Reco.push_back(mDeltaPt_MiniAOD_over_Reco);
249  ME_MiniAOD_over_Reco.push_back(mMjj_MiniAOD_over_Reco);
250  ME_MiniAOD_over_Reco.push_back(mNJets40_MiniAOD_over_Reco);
251  ME_MiniAOD_over_Reco.push_back(mchargedHadronMultiplicity_MiniAOD_over_Reco);
252  ME_MiniAOD_over_Reco.push_back(mneutralHadronMultiplicity_MiniAOD_over_Reco);
253  ME_MiniAOD_over_Reco.push_back(mphotonMultiplicity_MiniAOD_over_Reco);
254  ME_MiniAOD_over_Reco.push_back(mphotonEnergyFraction_MiniAOD_over_Reco);
255  ME_MiniAOD_over_Reco.push_back(mneutralHadronEnergyFraction_MiniAOD_over_Reco);
256  ME_MiniAOD_over_Reco.push_back(mchargedHadronEnergyFraction_MiniAOD_over_Reco);
257  for (unsigned int j = 0; j < ME_MiniAOD_over_Reco.size(); j++) {
258  MonitorElement *monReco = ME_Reco[j];
259  if (monReco && monReco->getRootObject()) {
260  MonitorElement *monMiniAOD = ME_MiniAOD[j];
261  if (monMiniAOD && monMiniAOD->getRootObject()) {
262  MonitorElement *monMiniAOD_over_RECO = ME_MiniAOD_over_Reco[j];
263  if (monMiniAOD_over_RECO && monMiniAOD_over_RECO->getRootObject()) {
264  for (int i = 0; i <= (monMiniAOD_over_RECO->getNbinsX() + 1); i++) {
265  if (monReco->getBinContent(i) != 0) {
266  monMiniAOD_over_RECO->setBinContent(i, monMiniAOD->getBinContent(i) / monReco->getBinContent(i));
267  } else if (monMiniAOD->getBinContent(i) != 0) {
268  monMiniAOD_over_RECO->setBinContent(i, -0.5);
269  }
270  }
271  }
272  }
273  }
274  }
275  }
276 }
MonitorElement * mDeltaPhi_MiniAOD_over_Reco
MonitorElement * mneutralHadronMultiplicity_MiniAOD_over_Reco
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * mDeltaEta_MiniAOD_over_Reco
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * mPtCorrOverGen_GenEta_40_200_MiniAOD_over_Reco
std::vector< std::string > jet_dirs
MonitorElement * mCorrJetPhi_MiniAOD_over_Reco
std::string const & label() const
Definition: InputTag.h:36
MonitorElement * mPtCorrOverGen_GenEta_600_1500_MiniAOD_over_Reco
MonitorElement * mEta_MiniAOD_over_Reco
MonitorElement * mchargedHadronMultiplicity_MiniAOD_over_Reco
MonitorElement * mGenEta_MiniAOD_over_Reco
MonitorElement * mDeltaPt_MiniAOD_over_Reco
MonitorElement * mneutralHadronEnergyFraction_MiniAOD_over_Reco
MonitorElement * mCorrJetPt_MiniAOD_over_Reco
MonitorElement * mchargedHadronEnergyFraction_MiniAOD_over_Reco
MonitorElement * mphotonEnergyFraction_MiniAOD_over_Reco
MonitorElement * mPhi_MiniAOD_over_Reco
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * mPtCorrOverReco_Eta_1500_3500_MiniAOD_over_Reco
MonitorElement * mMjj_MiniAOD_over_Reco
JetTesterPostProcessor(const edm::ParameterSet &)
MonitorElement * mGenPt_MiniAOD_over_Reco
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * mphotonMultiplicity_MiniAOD_over_Reco
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:712
MonitorElement * mNJets40_MiniAOD_over_Reco
MonitorElement * mCorrJetEta_MiniAOD_over_Reco
MonitorElement * mPt_MiniAOD_over_Reco
virtual int getNbinsX() const
get # of bins in X-axis
TObject * getRootObject() const override
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * mPtCorrOverReco_Eta_200_600_MiniAOD_over_Reco
MonitorElement * mPtCorrOverReco_Eta_20_40_MiniAOD_over_Reco
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * mGenPhi_MiniAOD_over_Reco
virtual DQM_DEPRECATED std::vector< std::string > getSubdirs() const
Definition: DQMStore.cc:739