CMS 3D CMS Logo

HLTJetMETValidation.cc
Go to the documentation of this file.
1 // Migrated to use DQMEDAnalyzer by: Jyothsna Rani Komaragiri, Oct 2014
2 
5 #include "Math/GenVector/VectorUtil.h"
6 
7 using namespace std;
8 using namespace edm;
9 using namespace reco;
10 using namespace l1extra;
11 using namespace trigger;
12 
14  : triggerEventObject_(
15  consumes<TriggerEventWithRefs>(ps.getUntrackedParameter<edm::InputTag>("triggerEventObject"))),
16  PFJetAlgorithm(consumes<PFJetCollection>(ps.getUntrackedParameter<edm::InputTag>("PFJetAlgorithm"))),
17  GenJetAlgorithm(consumes<GenJetCollection>(ps.getUntrackedParameter<edm::InputTag>("GenJetAlgorithm"))),
18  CaloMETColl(consumes<CaloMETCollection>(ps.getUntrackedParameter<edm::InputTag>("CaloMETCollection"))),
19  GenMETColl(consumes<GenMETCollection>(ps.getUntrackedParameter<edm::InputTag>("GenMETCollection"))),
20  HLTriggerResults(consumes<edm::TriggerResults>(ps.getParameter<edm::InputTag>("HLTriggerResults"))),
21  triggerTag_(ps.getUntrackedParameter<std::string>("DQMFolder", "SingleJet")),
22  patternJetTrg_(ps.getUntrackedParameter<std::string>("PatternJetTrg", "")),
23  patternMetTrg_(ps.getUntrackedParameter<std::string>("PatternMetTrg", "")),
24  patternMuTrg_(ps.getUntrackedParameter<std::string>("PatternMuTrg", "")),
25  HLTinit_(false) {
26  evtCnt = 0;
27 }
28 
30 
31 //
32 // member functions
33 //
34 
35 // ------------ method called when starting to processes a run ------------
36 void HLTJetMETValidation::dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup) {
37  bool foundMuTrg = false;
38  std::string trgMuNm;
39  bool changedConfig = true;
40 
41  //--define search patterns
42  TPRegexp patternJet(patternJetTrg_);
43  TPRegexp patternMet(patternMetTrg_);
44  TPRegexp patternMu(patternMuTrg_);
45 
46  if (!hltConfig_.init(iRun, iSetup, "HLT", changedConfig)) {
47  edm::LogError("HLTJetMETValidation") << "Initialization of HLTConfigProvider failed!!";
48  return;
49  }
50 
51  std::vector<std::string> validTriggerNames = hltConfig_.triggerNames();
52  for (size_t j = 0; j < validTriggerNames.size(); j++) {
53  //---find the muon path
54  if (TString(validTriggerNames[j]).Contains(patternMu)) {
55  // std::cout <<validTriggerNames[j].c_str()<<std::endl;
56  if (!foundMuTrg)
57  trgMuNm = validTriggerNames[j];
58  foundMuTrg = true;
59  }
60  //---find the jet paths
61  if (TString(validTriggerNames[j]).Contains(patternJet)) {
62  hltTrgJet.push_back(validTriggerNames[j]);
63  }
64  //---find the met paths
65  if (TString(validTriggerNames[j]).Contains(patternMet)) {
66  hltTrgMet.push_back(validTriggerNames[j]);
67  }
68  }
69 
70  //----set the denominator paths
71  for (size_t it = 0; it < hltTrgJet.size(); it++) {
72  if (it == 0 && foundMuTrg)
73  hltTrgJetLow.push_back(trgMuNm); //--lowest threshold uses muon path
74  if (it == 0 && !foundMuTrg)
75  hltTrgJetLow.push_back(hltTrgJet[it]); //---if no muon then itself
76  if (it != 0)
77  hltTrgJetLow.push_back(hltTrgJet[it - 1]);
78  // std::cout<<hltTrgJet[it].c_str()<<"
79  // "<<hltTrgJetLow[it].c_str()<<std::endl;
80  }
81  int itm(0), itpm(0), itmh(0), itpmh(0);
82  for (size_t it = 0; it < hltTrgMet.size(); it++) {
83  if (TString(hltTrgMet[it]).Contains("PF")) {
84  if (TString(hltTrgMet[it]).Contains("MHT")) {
85  if (0 == itpmh) {
86  if (foundMuTrg)
87  hltTrgMetLow.push_back(trgMuNm);
88  else
89  hltTrgMetLow.push_back(hltTrgMet[it]);
90  } else
91  hltTrgMetLow.push_back(hltTrgMet[it - 1]);
92  itpmh++;
93  }
94  if (TString(hltTrgMet[it]).Contains("MET")) {
95  if (0 == itpm) {
96  if (foundMuTrg)
97  hltTrgMetLow.push_back(trgMuNm);
98  else
99  hltTrgMetLow.push_back(hltTrgMet[it]);
100  } else
101  hltTrgMetLow.push_back(hltTrgMet[it - 1]);
102  itpm++;
103  }
104  } else {
105  if (TString(hltTrgMet[it]).Contains("MHT")) {
106  if (0 == itmh) {
107  if (foundMuTrg)
108  hltTrgMetLow.push_back(trgMuNm);
109  else
110  hltTrgMetLow.push_back(hltTrgMet[it]);
111  } else
112  hltTrgMetLow.push_back(hltTrgMet[it - 1]);
113  itmh++;
114  }
115  if (TString(hltTrgMet[it]).Contains("MET")) {
116  if (0 == itm) {
117  if (foundMuTrg)
118  hltTrgMetLow.push_back(trgMuNm);
119  else
120  hltTrgMetLow.push_back(hltTrgMet[it]);
121  } else
122  hltTrgMetLow.push_back(hltTrgMet[it - 1]);
123  itm++;
124  }
125  }
126  // std::cout<<hltTrgMet[it].c_str()<<"
127  // "<<hltTrgMetLow[it].c_str()<<std::endl;
128  }
129 }
130 
131 // ------------ method called to book histograms before starting event loop
132 // ------------
134  edm::Run const &iRun,
135  edm::EventSetup const &iSetup) {
136  //----define DQM folders and elements
137  for (size_t it = 0; it < hltTrgJet.size(); it++) {
138  // std::cout<<hltTrgJet[it].c_str()<<"
139  // "<<hltTrgJetLow[it].c_str()<<std::endl;
141  // std::cout << "str = " << triggerTag_+hltTrgJet[it].c_str() << std::endl;
142  // std::cout << "trgPathName = " << trgPathName << std::endl;
143  iBooker.setCurrentFolder(trgPathName);
144  _meHLTJetPt.push_back(iBooker.book1D("_meHLTJetPt", "Single HLT Jet Pt", 100, 0, 500));
145  _meHLTJetPtTrgMC.push_back(iBooker.book1D("_meHLTJetPtTrgMC", "Single HLT Jet Pt - HLT Triggered", 100, 0, 500));
146  _meHLTJetPtTrg.push_back(iBooker.book1D("_meHLTJetPtTrg", "Single HLT Jet Pt - HLT Triggered", 100, 0, 500));
147  _meHLTJetPtTrgLow.push_back(
148  iBooker.book1D("_meHLTJetPtTrgLow", "Single HLT Jet Pt - HLT Triggered Low", 100, 0, 500));
149 
150  _meHLTJetEta.push_back(iBooker.book1D("_meHLTJetEta", "Single HLT Jet Eta", 100, -10, 10));
151  _meHLTJetEtaTrgMC.push_back(
152  iBooker.book1D("_meHLTJetEtaTrgMC", "Single HLT Jet Eta - HLT Triggered", 100, -10, 10));
153  _meHLTJetEtaTrg.push_back(iBooker.book1D("_meHLTJetEtaTrg", "Single HLT Jet Eta - HLT Triggered", 100, -10, 10));
154  _meHLTJetEtaTrgLow.push_back(
155  iBooker.book1D("_meHLTJetEtaTrgLow", "Single HLT Jet Eta - HLT Triggered Low", 100, -10, 10));
156 
157  _meHLTJetPhi.push_back(iBooker.book1D("_meHLTJetPhi", "Single HLT Jet Phi", 100, -4., 4.));
158  _meHLTJetPhiTrgMC.push_back(
159  iBooker.book1D("_meHLTJetPhiTrgMC", "Single HLT Jet Phi - HLT Triggered", 100, -4., 4.));
160  _meHLTJetPhiTrg.push_back(iBooker.book1D("_meHLTJetPhiTrg", "Single HLT Jet Phi - HLT Triggered", 100, -4., 4.));
161  _meHLTJetPhiTrgLow.push_back(
162  iBooker.book1D("_meHLTJetPhiTrgLow", "Single HLT Jet Phi - HLT Triggered Low", 100, -4., 4.));
163 
164  _meGenJetPt.push_back(iBooker.book1D("_meGenJetPt", "Single Generated Jet Pt", 100, 0, 500));
165  _meGenJetPtTrgMC.push_back(
166  iBooker.book1D("_meGenJetPtTrgMC", "Single Generated Jet Pt - HLT Triggered", 100, 0, 500));
167  _meGenJetPtTrg.push_back(iBooker.book1D("_meGenJetPtTrg", "Single Generated Jet Pt - HLT Triggered", 100, 0, 500));
168  _meGenJetPtTrgLow.push_back(
169  iBooker.book1D("_meGenJetPtTrgLow", "Single Generated Jet Pt - HLT Triggered Low", 100, 0, 500));
170 
171  _meGenJetEta.push_back(iBooker.book1D("_meGenJetEta", "Single Generated Jet Eta", 100, -10, 10));
172  _meGenJetEtaTrgMC.push_back(
173  iBooker.book1D("_meGenJetEtaTrgMC", "Single Generated Jet Eta - HLT Triggered", 100, -10, 10));
174  _meGenJetEtaTrg.push_back(
175  iBooker.book1D("_meGenJetEtaTrg", "Single Generated Jet Eta - HLT Triggered", 100, -10, 10));
176  _meGenJetEtaTrgLow.push_back(
177  iBooker.book1D("_meGenJetEtaTrgLow", "Single Generated Jet Eta - HLT Triggered Low", 100, -10, 10));
178 
179  _meGenJetPhi.push_back(iBooker.book1D("_meGenJetPhi", "Single Generated Jet Phi", 100, -4., 4.));
180  _meGenJetPhiTrgMC.push_back(
181  iBooker.book1D("_meGenJetPhiTrgMC", "Single Generated Jet Phi - HLT Triggered", 100, -4., 4.));
182  _meGenJetPhiTrg.push_back(
183  iBooker.book1D("_meGenJetPhiTrg", "Single Generated Jet Phi - HLT Triggered", 100, -4., 4.));
184  _meGenJetPhiTrgLow.push_back(
185  iBooker.book1D("_meGenJetPhiTrgLow", "Single Generated Jet Phi - HLT Triggered Low", 100, -4., 4.));
186  }
187  for (size_t it = 0; it < hltTrgMet.size(); it++) {
188  // std::cout<<hltTrgMet[it].c_str()<<"
189  // "<<hltTrgMetLow[it].c_str()<<std::endl;
191  iBooker.setCurrentFolder(trgPathName);
192  _meHLTMET.push_back(iBooker.book1D("_meHLTMET", "HLT Missing ET", 100, 0, 500));
193  _meHLTMETTrgMC.push_back(iBooker.book1D("_meHLTMETTrgMC", "HLT Missing ET - HLT Triggered", 100, 0, 500));
194  _meHLTMETTrg.push_back(iBooker.book1D("_meHLTMETTrg", "HLT Missing ET - HLT Triggered", 100, 0, 500));
195  _meHLTMETTrgLow.push_back(iBooker.book1D("_meHLTMETTrgLow", "HLT Missing ET - HLT Triggered Low", 100, 0, 500));
196 
197  _meGenMET.push_back(iBooker.book1D("_meGenMET", "Generated Missing ET", 100, 0, 500));
198  _meGenMETTrgMC.push_back(iBooker.book1D("_meGenMETTrgMC", "Generated Missing ET - HLT Triggered", 100, 0, 500));
199  _meGenMETTrg.push_back(iBooker.book1D("_meGenMETTrg", "Generated Missing ET - HLT Triggered", 100, 0, 500));
200  _meGenMETTrgLow.push_back(
201  iBooker.book1D("_meGenMETTrgLow", "Generated Missing ET - HLT Triggered Low", 100, 0, 500));
202  }
203 }
204 
205 // ------------ method called for each event ------------
207  using namespace std;
208  using namespace edm;
209  using namespace reco;
210  using namespace l1extra;
211  using namespace trigger;
212 
213  evtCnt++;
214 
215  // get The triggerEvent
217  iEvent.getByToken(triggerEventObject_, trigEv);
218 
219  // get TriggerResults object
220  bool gotHLT = true;
221  std::vector<bool> myTrigJ;
222  for (size_t it = 0; it < hltTrgJet.size(); it++)
223  myTrigJ.push_back(false);
224  std::vector<bool> myTrigJLow;
225  for (size_t it = 0; it < hltTrgJetLow.size(); it++)
226  myTrigJLow.push_back(false);
227  std::vector<bool> myTrigM;
228  for (size_t it = 0; it < hltTrgMet.size(); it++)
229  myTrigM.push_back(false);
230  std::vector<bool> myTrigMLow;
231  for (size_t it = 0; it < hltTrgMetLow.size(); it++)
232  myTrigMLow.push_back(false);
233 
235  iEvent.getByToken(HLTriggerResults, hltresults);
236  if (!hltresults.isValid()) {
237  // if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No
238  // HLTRESULTS";
239  gotHLT = false;
240  }
241 
242  if (gotHLT) {
243  const edm::TriggerNames &triggerNames = iEvent.triggerNames(*hltresults);
245 
246  //---pick-up the jet trigger decisions
247  for (size_t it = 0; it < hltTrgJet.size(); it++) {
249  if (trig_iter == hltTriggerMap.end()) {
250  // std::cout << "Could not find trigger path with name: " <<
251  // _probefilter.label() << std::endl; if (evtCnt==1)
252  // edm::LogWarning("HLTJetMETValidation") << "Could not find trigger
253  // path with name: " << _probefilter.label();
254  } else {
255  myTrigJ[it] = trig_iter->second;
256  }
257  // std::cout<<hltTrgJet[it].c_str()<<" "<<myTrigJ[it]<<std::endl;
258  }
259  for (size_t it = 0; it < hltTrgJetLow.size(); it++) {
261  if (trig_iter == hltTriggerMap.end()) {
262  // std::cout << "Could not find trigger path with name: " <<
263  // _probefilter.label() << std::endl; if (evtCnt==1)
264  // edm::LogWarning("HLTJetMETValidation") << "Could not find trigger
265  // path with name: " << _probefilter.label();
266  } else {
267  myTrigJLow[it] = trig_iter->second;
268  }
269  // std::cout<<hltTrgJetLow[it].c_str()<<" "<<myTrigJLow[it]<<std::endl;
270  }
271  //---pick-up the met trigger decisions
272  for (size_t it = 0; it < hltTrgMet.size(); it++) {
274  if (trig_iter == hltTriggerMap.end()) {
275  // std::cout << "Could not find trigger path with name: " <<
276  // _probefilter.label() << std::endl; if (evtCnt==1)
277  // edm::LogWarning("HLTJetMETValidation") << "Could not find trigger
278  // path with name: " << _probefilter.label();
279  } else {
280  myTrigM[it] = trig_iter->second;
281  }
282  // std::cout<<hltTrgMet[it].c_str()<<" "<<myTrigM[it]<<std::endl;
283  }
284  for (size_t it = 0; it < hltTrgMetLow.size(); it++) {
286  if (trig_iter == hltTriggerMap.end()) {
287  // std::cout << "Could not find trigger path with name: " <<
288  // _probefilter.label() << std::endl; if (evtCnt==1)
289  // edm::LogWarning("HLTJetMETValidation") << "Could not find trigger
290  // path with name: " << _probefilter.label();
291  } else {
292  myTrigMLow[it] = trig_iter->second;
293  }
294  // std::cout<<hltTrgMetLow[it].c_str()<<" "<<myTrigMLow[it]<<std::endl;
295  }
296  }
297 
298  // --- Fill histos for PFJet paths ---
299  // HLT jets namely hltAK4PFJets
301  iEvent.getByToken(PFJetAlgorithm, pfJets);
302  double pfJetPt = -1.;
303  double pfJetEta = -999.;
304  double pfJetPhi = -999.;
305 
306  if (pfJets.isValid()) {
307  // Loop over the PFJets and fill some histograms
308  int jetInd = 0;
309  for (PFJetCollection::const_iterator pf = pfJets->begin(); pf != pfJets->end(); ++pf) {
310  // std::cout << "PF JET #" << jetInd << std::endl << pf->print() <<
311  // std::endl;
312  if (jetInd == 0) {
313  pfJetPt = pf->pt();
314  pfJetEta = pf->eta();
315  pfJetPhi = pf->phi();
316  for (size_t it = 0; it < hltTrgJet.size(); it++) {
317  _meHLTJetPt[it]->Fill(pfJetPt);
318  _meHLTJetEta[it]->Fill(pfJetEta);
319  _meHLTJetPhi[it]->Fill(pfJetPhi);
320  if (myTrigJ[it])
321  _meHLTJetPtTrgMC[it]->Fill(pfJetPt);
322  if (myTrigJ[it])
323  _meHLTJetEtaTrgMC[it]->Fill(pfJetEta);
324  if (myTrigJ[it])
325  _meHLTJetPhiTrgMC[it]->Fill(pfJetPhi);
326  if (myTrigJ[it] && myTrigJLow[it])
327  _meHLTJetPtTrg[it]->Fill(pfJetPt);
328  if (myTrigJ[it] && myTrigJLow[it])
329  _meHLTJetEtaTrg[it]->Fill(pfJetEta);
330  if (myTrigJ[it] && myTrigJLow[it])
331  _meHLTJetPhiTrg[it]->Fill(pfJetPhi);
332  if (myTrigJLow[it])
333  _meHLTJetPtTrgLow[it]->Fill(pfJetPt);
334  if (myTrigJLow[it])
335  _meHLTJetEtaTrgLow[it]->Fill(pfJetEta);
336  if (myTrigJLow[it])
337  _meHLTJetPhiTrgLow[it]->Fill(pfJetPhi);
338  }
339  jetInd++;
340  }
341  } // loop over pfjets
342  } else {
343  // std::cout << " -- No PFJets" << std::endl;
344  // if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No
345  // PFJets";
346  }
347 
348  // GenJets
350  iEvent.getByToken(GenJetAlgorithm, genJets);
351  double genJetPt = -1.;
352  double genJetEta = -999.;
353  double genJetPhi = -999.;
354 
355  if (genJets.isValid()) {
356  // Loop over the GenJets and fill some histograms
357  int jetInd = 0;
358  for (GenJetCollection::const_iterator gen = genJets->begin(); gen != genJets->end(); ++gen) {
359  if (jetInd == 0) {
360  genJetPt = gen->pt();
361  genJetEta = gen->eta();
362  genJetPhi = gen->phi();
363  for (size_t it = 0; it < hltTrgJet.size(); it++) {
364  _meGenJetPt[it]->Fill(genJetPt);
365  _meGenJetEta[it]->Fill(genJetEta);
366  _meGenJetPhi[it]->Fill(genJetPhi);
367  if (myTrigJ[it])
368  _meGenJetPtTrgMC[it]->Fill(genJetPt);
369  if (myTrigJ[it])
370  _meGenJetEtaTrgMC[it]->Fill(genJetEta);
371  if (myTrigJ[it])
372  _meGenJetPhiTrgMC[it]->Fill(genJetPhi);
373  if (myTrigJ[it] && myTrigJLow[it])
374  _meGenJetPtTrg[it]->Fill(genJetPt);
375  if (myTrigJ[it] && myTrigJLow[it])
376  _meGenJetEtaTrg[it]->Fill(genJetEta);
377  if (myTrigJ[it] && myTrigJLow[it])
378  _meGenJetPhiTrg[it]->Fill(genJetPhi);
379  if (myTrigJLow[it])
380  _meGenJetPtTrgLow[it]->Fill(genJetPt);
381  if (myTrigJLow[it])
382  _meGenJetEtaTrgLow[it]->Fill(genJetEta);
383  if (myTrigJLow[it])
384  _meGenJetPhiTrgLow[it]->Fill(genJetPhi);
385  }
386  jetInd++;
387  }
388  }
389  } else {
390  // std::cout << " -- No GenJets" << std::endl;
391  // if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No
392  // GenJets";
393  }
394 
395  // --- Fill histos for PFMET paths ---
396  // HLT MET namely hltmet
398  iEvent.getByToken(CaloMETColl, recmet);
399 
400  double calMet = -1;
401  if (recmet.isValid()) {
402  typedef CaloMETCollection::const_iterator cmiter;
403  // std::cout << "Size of MET collection" << recmet.size() << std::endl;
404  for (cmiter i = recmet->begin(); i != recmet->end(); i++) {
405  calMet = i->pt();
406  for (size_t it = 0; it < hltTrgMet.size(); it++) {
407  _meHLTMET[it]->Fill(calMet);
408  if (myTrigM.size() > it && myTrigM[it])
409  _meHLTMETTrgMC[it]->Fill(calMet);
410  if (myTrigM.size() > it && myTrigMLow.size() > it && myTrigM[it] && myTrigMLow[it])
411  _meHLTMETTrg[it]->Fill(calMet);
412  if (myTrigMLow.size() > it && myTrigMLow[it])
413  _meHLTMETTrgLow[it]->Fill(calMet);
414  }
415  }
416  } else {
417  // std::cout << " -- No MET Collection with name: " << CaloMETColl <<
418  // std::endl; if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " --
419  // No MET Collection with name: "<< CaloMETColl;
420  }
421 
423  iEvent.getByToken(GenMETColl, genmet);
424 
425  double genMet = -1;
426  if (genmet.isValid()) {
427  typedef GenMETCollection::const_iterator cmiter;
428  for (cmiter i = genmet->begin(); i != genmet->end(); i++) {
429  genMet = i->pt();
430  for (size_t it = 0; it < hltTrgMet.size(); it++) {
431  _meGenMET[it]->Fill(genMet);
432  if (myTrigM.size() > it && myTrigM[it])
434  if (myTrigM.size() > it && myTrigMLow.size() > it && myTrigM[it] && myTrigMLow[it])
436  if (myTrigMLow.size() > it && myTrigMLow[it])
438  }
439  }
440  } else {
441  // std::cout << " -- No GenMET Collection with name: " << GenMETColl <<
442  // std::endl; if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " --
443  // No GenMET Collection with name: "<< GenMETColl;
444  }
445 }
446 
448  int ntrigs = hltresults.size();
449  if (!HLTinit_) {
450  HLTinit_ = true;
451 
452  for (int itrig = 0; itrig != ntrigs; ++itrig) {
453  // std::cout << "trigger " << itrig << ": " << trigName << std::endl;
454  }
455  }
456 
457  for (int itrig = 0; itrig != ntrigs; ++itrig) {
458  std::string trigName = triggerNames.triggerName(itrig);
459  bool accept = hltresults.accept(itrig);
460 
461  // if (accept) _triggerResults->Fill(float(itrig));
462 
463  // fill the trigger map
466  if (trig_iter == hltTriggerMap.end())
467  hltTriggerMap.insert(valType(trigName, accept));
468  else
469  trig_iter->second = accept;
470  }
471 }
std::vector< std::string > hltTrgMet
std::vector< MonitorElement * > _meHLTMETTrgMC
Collection of Gen MET.
std::vector< MonitorElement * > _meGenJetPhiTrgLow
std::vector< MonitorElement * > _meHLTJetPtTrgLow
std::vector< MonitorElement * > _meHLTJetPhiTrg
std::vector< std::string > hltTrgJet
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
void bookHistograms(DQMStore::IBooker &, edm::Run const &iRun, edm::EventSetup const &iSetup) override
genmet
do same things for GEN
std::vector< GenJet > GenJetCollection
collection of GenJet objects
std::vector< MonitorElement * > _meHLTMETTrg
std::vector< MonitorElement * > _meHLTJetEta
std::vector< MonitorElement * > _meHLTJetEtaTrg
std::vector< MonitorElement * > _meGenJetEta
void dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup) override
std::vector< MonitorElement * > _meGenMETTrg
std::vector< std::string > hltTrgMetLow
std::vector< MonitorElement * > _meGenJetEtaTrg
edm::EDGetTokenT< reco::GenMETCollection > GenMETColl
Log< level::Error, false > LogError
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
HLTJetMETValidation(const edm::ParameterSet &)
static const std::string removeVersion(const std::string &trigger)
std::vector< MonitorElement * > _meHLTJetPt
std::vector< MonitorElement * > _meGenJetPtTrg
Collection of Calo MET.
std::vector< MonitorElement * > _meGenJetPt
std::vector< MonitorElement * > _meHLTJetPhi
std::vector< MonitorElement * > _meHLTJetPtTrg
int iEvent
Definition: GenABIO.cc:224
std::vector< MonitorElement * > _meGenJetPhiTrg
edm::EDGetTokenT< edm::TriggerResults > HLTriggerResults
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< MonitorElement * > _meGenMETTrgMC
std::vector< MonitorElement * > _meHLTJetPtTrgMC
std::vector< MonitorElement * > _meGenJetPtTrgMC
std::vector< MonitorElement * > _meGenMET
std::vector< MonitorElement * > _meHLTMETTrgLow
def gen(fragment, howMuch)
Event to runs.
std::vector< MonitorElement * > _meHLTJetEtaTrgLow
edm::EDGetTokenT< reco::PFJetCollection > PFJetAlgorithm
void getHLTResults(const edm::TriggerResults &, const edm::TriggerNames &triggerNames)
std::vector< MonitorElement * > _meHLTJetPhiTrgMC
edm::EDGetTokenT< reco::GenJetCollection > GenJetAlgorithm
std::vector< MonitorElement * > _meHLTJetPhiTrgLow
std::vector< MonitorElement * > _meGenJetEtaTrgLow
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
TLorentzVector genMet(const HepMC::GenEvent *all, double etamin=-9999., double etamax=9999.)
HLTConfigProvider hltConfig_
std::vector< MonitorElement * > _meGenJetPtTrgLow
std::map< std::string, bool > hltTriggerMap
const std::vector< std::string > & triggerNames() const
names of trigger paths
bool isValid() const
Definition: HandleBase.h:70
std::map< std::string, bool >::iterator trig_iter
std::vector< PFJet > PFJetCollection
collection of PFJet objects
fixed size matrix
HLT enums.
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > _meGenMETTrgLow
std::vector< MonitorElement * > _meHLTMET
edm::EDGetTokenT< trigger::TriggerEventWithRefs > triggerEventObject_
InputTag of TriggerEventWithRefs to analyze.
std::vector< std::string > hltTrgJetLow
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
std::vector< MonitorElement * > _meHLTJetEtaTrgMC
std::vector< MonitorElement * > _meGenJetEtaTrgMC
std::vector< MonitorElement * > _meGenJetPhi
edm::EDGetTokenT< reco::CaloMETCollection > CaloMETColl
Definition: Run.h:45
std::vector< MonitorElement * > _meGenJetPhiTrgMC