CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTJetMETValidation.cc
Go to the documentation of this file.
2 #include "Math/GenVector/VectorUtil.h"
4 
6  triggerEventObject_(ps.getUntrackedParameter<edm::InputTag>("triggerEventObject")),
7  CaloJetAlgorithm( ps.getUntrackedParameter<edm::InputTag>( "CaloJetAlgorithm" ) ),
8  GenJetAlgorithm( ps.getUntrackedParameter<edm::InputTag>( "GenJetAlgorithm" ) ),
9  CaloMETColl( ps.getUntrackedParameter<edm::InputTag>( "CaloMETCollection" ) ),
10  GenMETColl( ps.getUntrackedParameter<edm::InputTag>( "GenMETCollection" ) ),
11  HLTriggerResults( ps.getParameter<edm::InputTag>( "HLTriggerResults" ) ),
12  triggerTag_(ps.getUntrackedParameter<std::string>("DQMFolder","SingleJet")),
13  patternJetTrg_(ps.getUntrackedParameter<std::string>("PatternJetTrg","")),
14  patternMetTrg_(ps.getUntrackedParameter<std::string>("PatternMetTrg","")),
15  patternMuTrg_(ps.getUntrackedParameter<std::string>("PatternMuTrg","")),
16  outFile_(ps.getUntrackedParameter<std::string>("OutputFileName","")),
17  HLTinit_(false),
18  //JL
19  writeFile_(ps.getUntrackedParameter<bool>("WriteFile",false))
20 {
21  evtCnt=0;
22 
24 
25 }
26 
28 {
29 }
30 
31 //
32 // member functions
33 //
34 
35 
36 void
38 
39 
40  bool foundMuTrg = false;
41  std::string trgMuNm;
42  bool changedConfig;
43  //--define search patterns
44  /*
45  TPRegexp patternJet("HLT_Jet([0-9]*)?(_v[0-9]*)?$");
46  TPRegexp patternMet("HLT_(PF*)?M([E,H]*)?T([0-9]*)?(_v[0-9]*)?$");
47  TPRegexp patternMu("HLT_Mu([0-9]*)?(_v[0-9]*)?$");
48  */
49  TPRegexp patternJet(patternJetTrg_);
50  TPRegexp patternMet(patternMetTrg_);
51  TPRegexp patternMu(patternMuTrg_);
52 
53  if (!hltConfig_.init(iRun, iSetup, "HLT", changedConfig)) {
54  edm::LogError("HLTJetMET") << "Initialization of HLTConfigProvider failed!!";
55  return;
56  }
57  std::vector<std::string> validTriggerNames = hltConfig_.triggerNames();
58  for (size_t j = 0; j < validTriggerNames.size(); j++) {
59  //---find the muon path
60  if (TString(validTriggerNames[j]).Contains(patternMu)) {
61  //std::cout <<validTriggerNames[j].c_str()<<std::endl;
62  if (!foundMuTrg) trgMuNm = validTriggerNames[j].c_str();
63  foundMuTrg = true;
64  }
65  //---find the jet paths
66  if (TString(validTriggerNames[j]).Contains(patternJet)) {
67  hltTrgJet.push_back(validTriggerNames[j]);
68  }
69  //---find the met paths
70  if (TString(validTriggerNames[j]).Contains(patternMet)) {
71  hltTrgMet.push_back(validTriggerNames[j]);
72  }
73  }
74 
75  //----set the denominator paths
76  for (size_t it=0;it<hltTrgJet.size();it++) {
77  if (it==0 && foundMuTrg) hltTrgJetLow.push_back(trgMuNm);//--lowest threshold uses muon path
78  if (it==0 && !foundMuTrg) hltTrgJetLow.push_back(hltTrgJet[it]);//---if no muon then itself
79  if (it!=0) hltTrgJetLow.push_back(hltTrgJet[it-1]);
80  //std::cout<<hltTrgJet[it].c_str()<<" "<<hltTrgJetLow[it].c_str()<<std::endl;
81  }
82  int itm(0), itpm(0), itmh(0), itpmh(0);
83  for (size_t it=0;it<hltTrgMet.size();it++) {
84  if (TString(hltTrgMet[it]).Contains("PF")) {
85  if (TString(hltTrgMet[it]).Contains("MHT")) {
86  if( 0 == itpmh ) {
87  if( foundMuTrg ) hltTrgMetLow.push_back(trgMuNm);
88  else hltTrgMetLow.push_back(hltTrgMet[it]);
89  }
90  else hltTrgMetLow.push_back(hltTrgMet[it-1]);
91  itpmh++;
92  }
93  if (TString(hltTrgMet[it]).Contains("MET")) {
94  if( 0 == itpm ) {
95  if( foundMuTrg ) hltTrgMetLow.push_back(trgMuNm);
96  else hltTrgMetLow.push_back(hltTrgMet[it]);
97  }
98  else hltTrgMetLow.push_back(hltTrgMet[it-1]);
99  itpm++;
100  }
101  }
102  else {
103  if (TString(hltTrgMet[it]).Contains("MHT")) {
104  if( 0 == itmh ) {
105  if( foundMuTrg ) hltTrgMetLow.push_back(trgMuNm);
106  else hltTrgMetLow.push_back(hltTrgMet[it]);
107  }
108  else hltTrgMetLow.push_back(hltTrgMet[it-1]);
109  itmh++;
110  }
111  if (TString(hltTrgMet[it]).Contains("MET")) {
112  if( 0 == itm ) {
113  if( foundMuTrg ) hltTrgMetLow.push_back(trgMuNm);
114  else hltTrgMetLow.push_back(hltTrgMet[it]);
115  }
116  else hltTrgMetLow.push_back(hltTrgMet[it-1]);
117  itm++;
118  }
119  }
120  //std::cout<<hltTrgMet[it].c_str()<<" "<<hltTrgMetLow[it].c_str()<<std::endl;
121  }
122 
123  //----define dqm folders and elements
124  for (size_t it=0;it<hltTrgJet.size();it++) {
125  //std::cout<<hltTrgJet[it].c_str()<<" "<<hltTrgJetLow[it].c_str()<<std::endl;
126  //store->setCurrentFolder(triggerTag_+hltTrgJet[it].c_str());
128  //std::cout << "str = " << triggerTag_+hltTrgJet[it].c_str() << std::endl;
129  //std::cout << "trgPathName = " << trgPathName << std::endl;
130  store->setCurrentFolder(trgPathName);
131  //_meRecoJetPt= store->book1D("_meRecoJetPt","Single Reconstructed Jet Pt",100,0,500);
132  _meRecoJetPt.push_back(store->book1D("_meRecoJetPt","Single Reconstructed Jet Pt",100,0,500));
133  _meRecoJetPtTrgMC.push_back(store->book1D("_meRecoJetPtTrgMC","Single Reconstructed Jet Pt -- HLT Triggered",100,0,500));
134  _meRecoJetPtTrg.push_back(store->book1D("_meRecoJetPtTrg","Single Reconstructed Jet Pt -- HLT Triggered",100,0,500));
135  _meRecoJetPtTrgLow.push_back(store->book1D("_meRecoJetPtTrgLow","Single Reconstructed Jet Pt -- HLT Triggered Low",100,0,500));
136 
137  _meRecoJetEta.push_back(store->book1D("_meRecoJetEta","Single Reconstructed Jet Eta",100,-10,10));
138  _meRecoJetEtaTrgMC.push_back(store->book1D("_meRecoJetEtaTrgMC","Single Reconstructed Jet Eta -- HLT Triggered",100,-10,10));
139  _meRecoJetEtaTrg.push_back(store->book1D("_meRecoJetEtaTrg","Single Reconstructed Jet Eta -- HLT Triggered",100,-10,10));
140  _meRecoJetEtaTrgLow.push_back(store->book1D("_meRecoJetEtaTrgLow","Single Reconstructed Jet Eta -- HLT Triggered Low",100,-10,10));
141 
142  _meRecoJetPhi.push_back(store->book1D("_meRecoJetPhi","Single Reconstructed Jet Phi",100,-4.,4.));
143  _meRecoJetPhiTrgMC.push_back(store->book1D("_meRecoJetPhiTrgMC","Single Reconstructed Jet Phi -- HLT Triggered",100,-4.,4.));
144  _meRecoJetPhiTrg.push_back(store->book1D("_meRecoJetPhiTrg","Single Reconstructed Jet Phi -- HLT Triggered",100,-4.,4.));
145  _meRecoJetPhiTrgLow.push_back(store->book1D("_meRecoJetPhiTrgLow","Single Reconstructed Jet Phi -- HLT Triggered Low",100,-4.,4.));
146 
147  _meGenJetPt.push_back(store->book1D("_meGenJetPt","Single Generated Jet Pt",100,0,500));
148  _meGenJetPtTrgMC.push_back(store->book1D("_meGenJetPtTrgMC","Single Generated Jet Pt -- HLT Triggered",100,0,500));
149  _meGenJetPtTrg.push_back(store->book1D("_meGenJetPtTrg","Single Generated Jet Pt -- HLT Triggered",100,0,500));
150  _meGenJetPtTrgLow.push_back(store->book1D("_meGenJetPtTrgLow","Single Generated Jet Pt -- HLT Triggered Low",100,0,500));
151 
152  _meGenJetEta.push_back(store->book1D("_meGenJetEta","Single Generated Jet Eta",100,-10,10));
153  _meGenJetEtaTrgMC.push_back(store->book1D("_meGenJetEtaTrgMC","Single Generated Jet Eta -- HLT Triggered",100,-10,10));
154  _meGenJetEtaTrg.push_back(store->book1D("_meGenJetEtaTrg","Single Generated Jet Eta -- HLT Triggered",100,-10,10));
155  _meGenJetEtaTrgLow.push_back(store->book1D("_meGenJetEtaTrgLow","Single Generated Jet Eta -- HLT Triggered Low",100,-10,10));
156 
157  _meGenJetPhi.push_back(store->book1D("_meGenJetPhi","Single Generated Jet Phi",100,-4.,4.));
158  _meGenJetPhiTrgMC.push_back(store->book1D("_meGenJetPhiTrgMC","Single Generated Jet Phi -- HLT Triggered",100,-4.,4.));
159  _meGenJetPhiTrg.push_back(store->book1D("_meGenJetPhiTrg","Single Generated Jet Phi -- HLT Triggered",100,-4.,4.));
160  _meGenJetPhiTrgLow.push_back(store->book1D("_meGenJetPhiTrgLow","Single Generated Jet Phi -- HLT Triggered Low",100,-4.,4.));
161 
162  }
163  for (size_t it=0;it<hltTrgMet.size();it++) {
164  //std::cout<<hltTrgMet[it].c_str()<<" "<<hltTrgMetLow[it].c_str()<<std::endl;
165  //store->setCurrentFolder(triggerTag_+hltTrgMet[it].c_str());
167  store->setCurrentFolder(trgPathName);
168  _meRecoMET.push_back(store->book1D("_meRecoMET","Reconstructed Missing ET",100,0,500));
169  _meRecoMETTrgMC.push_back(store->book1D("_meRecoMETTrgMC","Reconstructed Missing ET -- HLT Triggered",100,0,500));
170  _meRecoMETTrg.push_back(store->book1D("_meRecoMETTrg","Reconstructed Missing ET -- HLT Triggered",100,0,500));
171  _meRecoMETTrgLow.push_back(store->book1D("_meRecoMETTrgLow","Reconstructed Missing ET -- HLT Triggered Low",100,0,500));
172 
173  _meGenMET.push_back(store->book1D("_meGenMET","Generated Missing ET",100,0,500));
174  _meGenMETTrgMC.push_back(store->book1D("_meGenMETTrgMC","Generated Missing ET -- HLT Triggered",100,0,500));
175  _meGenMETTrg.push_back(store->book1D("_meGenMETTrg","Generated Missing ET -- HLT Triggered",100,0,500));
176  _meGenMETTrgLow.push_back(store->book1D("_meGenMETTrgLow","Generated Missing ET -- HLT Triggered Low",100,0,500));
177  }
178 }
179 
180 void
182 {
183 
184  //Write DQM thing..
185  if(outFile_.size()>0)
186  if (&*edm::Service<DQMStore>() && writeFile_) {
188  }
189 
190 }
191 
192 void
194 {
195  using namespace std;
196  using namespace edm;
197  using namespace reco;
198  using namespace l1extra;
199  using namespace trigger;
200 
201  evtCnt++;
202  //get The triggerEvent
203 
205  iEvent.getByLabel(triggerEventObject_,trigEv);
206 
207 // get TriggerResults object
208 
209  bool gotHLT=true;
210  //bool myTrig=false;
211  //bool myTrigLow=false;
212  std::vector<bool> myTrigJ;
213  for (size_t it=0;it<hltTrgJet.size();it++) myTrigJ.push_back(false);
214  std::vector<bool> myTrigJLow;
215  for (size_t it=0;it<hltTrgJetLow.size();it++) myTrigJLow.push_back(false);
216  std::vector<bool> myTrigM;
217  for (size_t it=0;it<hltTrgMet.size();it++) myTrigM.push_back(false);
218  std::vector<bool> myTrigMLow;
219  for (size_t it=0;it<hltTrgMetLow.size();it++) myTrigMLow.push_back(false);
220 
221 
222  Handle<TriggerResults> hltresults,hltresultsDummy;
223  iEvent.getByLabel(HLTriggerResults,hltresults);
224  if (! hltresults.isValid() ) {
225  //std::cout << " -- No HLTRESULTS";
226  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No HLTRESULTS";
227  gotHLT=false;
228  }
229 
230  if (gotHLT) {
231  const edm::TriggerNames & triggerNames = iEvent.triggerNames(*hltresults);
232  getHLTResults(*hltresults, triggerNames);
233  // trig_iter=hltTriggerMap.find(MyTrigger);
234  //trig_iter=hltTriggerMap.find(_HLTPath.label());
235 
236  //---pick-up the jet trigger decisions
237  for (size_t it=0;it<hltTrgJet.size();it++) {
239  if (trig_iter==hltTriggerMap.end()){
240  //std::cout << "Could not find trigger path with name: " << _probefilter.label() << std::endl;
241  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << "Could not find trigger path with name: " << _probefilter.label();
242  }else{
243  myTrigJ[it]=trig_iter->second;
244  }
245  //std::cout<<hltTrgJet[it].c_str()<<" "<<myTrigJ[it]<<std::endl;
246  }
247  for (size_t it=0;it<hltTrgJetLow.size();it++) {
249  if (trig_iter==hltTriggerMap.end()){
250  //std::cout << "Could not find trigger path with name: " << _probefilter.label() << std::endl;
251  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << "Could not find trigger path with name: " << _probefilter.label();
252  }else{
253  myTrigJLow[it]=trig_iter->second;
254  }
255  //std::cout<<hltTrgJetLow[it].c_str()<<" "<<myTrigJLow[it]<<std::endl;
256  }
257  //---pick-up the met trigger decisions
258  for (size_t it=0;it<hltTrgMet.size();it++) {
260  if (trig_iter==hltTriggerMap.end()){
261  //std::cout << "Could not find trigger path with name: " << _probefilter.label() << std::endl;
262  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << "Could not find trigger path with name: " << _probefilter.label();
263  }else{
264  myTrigM[it]=trig_iter->second;
265  }
266  //std::cout<<hltTrgMet[it].c_str()<<" "<<myTrigM[it]<<std::endl;
267  }
268  for (size_t it=0;it<hltTrgMetLow.size();it++) {
270  if (trig_iter==hltTriggerMap.end()){
271  //std::cout << "Could not find trigger path with name: " << _probefilter.label() << std::endl;
272  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << "Could not find trigger path with name: " << _probefilter.label();
273  }else{
274  myTrigMLow[it]=trig_iter->second;
275  }
276  //std::cout<<hltTrgMetLow[it].c_str()<<" "<<myTrigMLow[it]<<std::endl;
277  }
278  }
279 
280  Handle<PFJetCollection> caloJets,caloJetsDummy;
282  double calJetPt=-1.;
283  double calJetEta=-999.;
284  double calJetPhi=-999.;
285  //double calHT=0;
286  if (caloJets.isValid()) {
287  //Loop over the CaloJets and fill some histograms
288  int jetInd = 0;
289  for( PFJetCollection::const_iterator cal = caloJets->begin(); cal != caloJets->end(); ++ cal ) {
290  //std::cout << "CALO JET #" << jetInd << std::endl << cal->print() << std::endl;
291  if (jetInd == 0){
292  calJetPt=cal->pt();
293  calJetEta=cal->eta();
294  calJetPhi=cal->phi();
295  for (size_t it=0;it<hltTrgJet.size();it++) {
296  _meRecoJetPt[it]->Fill( calJetPt );
297  _meRecoJetEta[it]->Fill( calJetEta );
298  _meRecoJetPhi[it]->Fill( calJetPhi );
299  if (myTrigJ[it]) _meRecoJetPtTrgMC[it]->Fill( calJetPt );
300  if (myTrigJ[it]) _meRecoJetEtaTrgMC[it]->Fill( calJetEta );
301  if (myTrigJ[it]) _meRecoJetPhiTrgMC[it]->Fill( calJetPhi );
302  if (myTrigJ[it] && myTrigJLow[it]) _meRecoJetPtTrg[it]->Fill( calJetPt );
303  if (myTrigJ[it] && myTrigJLow[it]) _meRecoJetEtaTrg[it]->Fill( calJetEta );
304  if (myTrigJ[it] && myTrigJLow[it]) _meRecoJetPhiTrg[it]->Fill( calJetPhi );
305  if (myTrigJLow[it]) _meRecoJetPtTrgLow[it]->Fill( calJetPt );
306  if (myTrigJLow[it]) _meRecoJetEtaTrgLow[it]->Fill( calJetEta );
307  if (myTrigJLow[it]) _meRecoJetPhiTrgLow[it]->Fill( calJetPhi );
308  }
309  jetInd++;
310  }
311  /*
312  if (cal->pt()>30) {
313  calHT+=cal->pt();
314  }
315  */
316  }
317  /*
318  _meRecoHT->Fill( calHT );
319  if (myTrig) _meRecoHTTrg->Fill( calHT );
320  if (myTrigLow) _meRecoHTTrgLow->Fill( calHT );
321  */
322  }else{
323  //std::cout << " -- No CaloJets" << std::endl;
324  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No CaloJets";
325  }
326 
327  Handle<GenJetCollection> genJets,genJetsDummy;
328  iEvent.getByLabel( GenJetAlgorithm, genJets );
329  double genJetPt=-1.;
330  double genJetEta=-999.;
331  double genJetPhi=-999.;
332  //double genHT=0;
333  if (genJets.isValid()) {
334  //Loop over the GenJets and fill some histograms
335  int jetInd = 0;
336  for( GenJetCollection::const_iterator gen = genJets->begin(); gen != genJets->end(); ++ gen ) {
337  // std::cout << "CALO JET #" << jetInd << std::endl << cal->print() << std::endl;
338  if (jetInd == 0){
339  genJetPt=gen->pt();
340  genJetEta=gen->eta();
341  genJetPhi=gen->phi();
342  for (size_t it=0;it<hltTrgJet.size();it++) {
343  _meGenJetPt[it]->Fill( genJetPt );
344  _meGenJetEta[it]->Fill( genJetEta );
345  _meGenJetPhi[it]->Fill( genJetPhi );
346  if (myTrigJ[it]) _meGenJetPtTrgMC[it]->Fill( genJetPt );
347  if (myTrigJ[it]) _meGenJetEtaTrgMC[it]->Fill( genJetEta );
348  if (myTrigJ[it]) _meGenJetPhiTrgMC[it]->Fill( genJetPhi );
349  if (myTrigJ[it] && myTrigJLow[it]) _meGenJetPtTrg[it]->Fill( genJetPt );
350  if (myTrigJ[it] && myTrigJLow[it]) _meGenJetEtaTrg[it]->Fill( genJetEta );
351  if (myTrigJ[it] && myTrigJLow[it]) _meGenJetPhiTrg[it]->Fill( genJetPhi );
352  if (myTrigJLow[it]) _meGenJetPtTrgLow[it]->Fill( genJetPt );
353  if (myTrigJLow[it]) _meGenJetEtaTrgLow[it]->Fill( genJetEta );
354  if (myTrigJLow[it]) _meGenJetPhiTrgLow[it]->Fill( genJetPhi );
355  }
356  jetInd++;
357  }
358  /*
359  if (gen->pt()>30) {
360  genHT+=gen->pt();
361  }
362  */
363  }
364  /*
365  _meGenHT->Fill( genHT );
366  if (myTrig) _meGenHTTrg->Fill( genHT );
367  if (myTrigLow) _meGenHTTrgLow->Fill( genHT );
368  */
369  }else{
370  //std::cout << " -- No GenJets" << std::endl;
371  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No GenJets";
372  }
373 
374 
375  edm::Handle<CaloMETCollection> recmet, recmetDummy;
376  iEvent.getByLabel(CaloMETColl,recmet);
377 
378  double calMet=-1;
379  if (recmet.isValid()) {
380  typedef CaloMETCollection::const_iterator cmiter;
381  //std::cout << "Size of MET collection" << recmet.size() << std::endl;
382  for ( cmiter i=recmet->begin(); i!=recmet->end(); i++) {
383  calMet = i->pt();
384  for (size_t it=0;it<hltTrgMet.size();it++) {
385  _meRecoMET[it] -> Fill(calMet);
386  if (myTrigM[it]) _meRecoMETTrgMC[it] -> Fill(calMet);
387  if (myTrigM[it] && myTrigMLow[it]) _meRecoMETTrg[it] -> Fill(calMet);
388  if (myTrigMLow[it]) _meRecoMETTrgLow[it] -> Fill(calMet);
389  }
390  }
391  }else{
392  //std::cout << " -- No MET Collection with name: " << CaloMETColl << std::endl;
393  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No MET Collection with name: "<< CaloMETColl;
394  }
395 
396  edm::Handle<GenMETCollection> genmet, genmetDummy;
397  iEvent.getByLabel(GenMETColl,genmet);
398 
399  double genMet=-1;
400  if (genmet.isValid()) {
401  typedef GenMETCollection::const_iterator cmiter;
402  //std::cout << "Size of GenMET collection" << recmet.size() << std::endl;
403  for ( cmiter i=genmet->begin(); i!=genmet->end(); i++) {
404  genMet = i->pt();
405  for (size_t it=0;it<hltTrgMet.size();it++) {
406  _meGenMET[it] -> Fill(genMet);
407  if (myTrigM[it]) _meGenMETTrgMC[it] -> Fill(genMet);
408  if (myTrigM[it] && myTrigMLow[it]) _meGenMETTrg[it] -> Fill(genMet);
409  if (myTrigMLow[it]) _meGenMETTrgLow[it] -> Fill(genMet);
410  }
411  }
412  }else{
413  //std::cout << " -- No GenMET Collection with name: " << GenMETColl << std::endl;
414  //if (evtCnt==1) edm::LogWarning("HLTJetMETValidation") << " -- No GenMET Collection with name: "<< GenMETColl;
415  }
416 
417 }
418 
420  const edm::TriggerNames & triggerNames) {
421 
422  int ntrigs=hltresults.size();
423  if (! HLTinit_){
424  HLTinit_=true;
425 
426  //if (writeFile_) std::cout << "Number of HLT Paths: " << ntrigs << std::endl;
427  for (int itrig = 0; itrig != ntrigs; ++itrig){
428  std::string trigName = triggerNames.triggerName(itrig);
429  // std::cout << "trigger " << itrig << ": " << trigName << std::endl;
430  }
431  }
432 
433  for (int itrig = 0; itrig != ntrigs; ++itrig){
434  std::string trigName = triggerNames.triggerName(itrig);
435  bool accept=hltresults.accept(itrig);
436 
437  //if (accept) _triggerResults->Fill(float(itrig));
438 
439  // fill the trigger map
441  trig_iter=hltTriggerMap.find(trigName);
442  if (trig_iter==hltTriggerMap.end())
443  hltTriggerMap.insert(valType(trigName,accept));
444  else
445  trig_iter->second=accept;
446  }
447 }
std::vector< MonitorElement * > _meRecoMET
std::vector< std::string > hltTrgMet
std::vector< MonitorElement * > _meGenJetEtaTrgMC
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
std::vector< MonitorElement * > _meGenJetPt
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:207
std::vector< MonitorElement * > _meGenJetPhiTrg
std::vector< std::string > hltTrgJet
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
std::map< std::string, bool > hltTriggerMap
bool accept() const
Has at least one path accepted the event?
const std::vector< std::string > & triggerNames() const
names of trigger paths
std::vector< MonitorElement * > _meRecoJetPtTrgMC
std::vector< MonitorElement * > _meGenMET
std::vector< MonitorElement * > _meGenJetPtTrgMC
std::vector< MonitorElement * > _meGenMETTrgMC
std::vector< std::string > hltTrgMetLow
std::vector< MonitorElement * > _meGenJetPhiTrgMC
std::vector< MonitorElement * > _meGenMETTrgLow
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:22
HLTJetMETValidation(const edm::ParameterSet &)
static const std::string removeVersion(const std::string &trigger)
std::vector< MonitorElement * > _meRecoJetPhiTrgLow
edm::InputTag HLTriggerResults
int iEvent
Definition: GenABIO.cc:243
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
unsigned int size() const
Get number of paths stored.
edm::InputTag GenJetAlgorithm
std::vector< MonitorElement * > _meRecoJetPt
int j
Definition: DBlmapReader.cc:9
std::vector< MonitorElement * > _meGenJetEtaTrg
std::vector< MonitorElement * > _meRecoJetEtaTrgMC
std::vector< MonitorElement * > _meRecoMETTrg
std::vector< MonitorElement * > _meGenJetPtTrg
Container::value_type value_type
std::vector< MonitorElement * > _meGenMETTrg
std::vector< MonitorElement * > _meRecoJetPhiTrgMC
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
std::vector< MonitorElement * > _meGenJetEtaTrgLow
void getHLTResults(const edm::TriggerResults &, const edm::TriggerNames &triggerNames)
std::vector< MonitorElement * > _meRecoJetPtTrg
std::vector< MonitorElement * > _meGenJetEta
std::vector< MonitorElement * > _meRecoJetPhiTrg
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
edm::InputTag triggerEventObject_
InputTag of TriggerEventWithRefs to analyze.
std::vector< MonitorElement * > _meRecoMETTrgMC
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::vector< MonitorElement * > _meGenJetPhi
std::vector< MonitorElement * > _meGenJetPtTrgLow
TLorentzVector genMet(const HepMC::GenEvent *all, double etamin=-9999., double etamax=9999.)
std::vector< MonitorElement * > _meRecoJetPtTrgLow
HLTConfigProvider hltConfig_
std::vector< MonitorElement * > _meRecoMETTrgLow
list save
Definition: cuy.py:1163
std::vector< std::string > hltTrgJetLow
std::vector< MonitorElement * > _meRecoJetEta
std::vector< MonitorElement * > _meGenJetPhiTrgLow
std::vector< MonitorElement * > _meRecoJetPhi
std::map< std::string, bool >::iterator trig_iter
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< MonitorElement * > _meRecoJetEtaTrgLow
std::vector< MonitorElement * > _meRecoJetEtaTrg
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
Definition: Run.h:36
edm::InputTag CaloJetAlgorithm