CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ValHcalIsoTrackHLT.cc
Go to the documentation of this file.
1 //code for Hcal IsoTrack HLT MC validation
2 //
3 // Original Author: Grigory SAFRONOV
4 
5 
6 // system include files
7 #include <memory>
8 
9 // user include files
10 
12 
15 
18 
20 
24 
30 
33 
37 
41 
43 
46 
47 #include "TH1F.h"
48 #include "TH2F.h"
49 
50 #include <fstream>
51 
53 public:
54  explicit ValHcalIsoTrackHLT(const edm::ParameterSet&);
56  double getDist(double,double,double,double);
57 
58 private:
59 
60  int evtBuf;
61 
63 
64  virtual void beginJob() ;
65  virtual void analyze(const edm::Event&, const edm::EventSetup&);
66  virtual void endJob() ;
67 
69  double sampleXsec_;
70  double lumi_;
71  std::string outTxtFileName_;
72  std::string folderName_;
74  std::string outRootFileName_;
77  std::vector<edm::InputTag> l1extraJetTag_;
78  std::vector<std::string> l1seedNames_;
80  bool useReco_;
82  bool checkL2_;
84 
87 
89 
91 
105 
107 
110 
117 
126 
128 
131 
132  std::vector<int> l1counter;
133 
134  std::ofstream txtout;
135 
136  int nTotal;
141 
142  int nl3_0005;
143  int nl3_0510;
144  int nl3_1015;
145  int nl3_1520;
146 
151 
152  double hltPThr_;
153 };
154 
155 double ValHcalIsoTrackHLT::getDist(double eta1, double phi1, double eta2, double phi2)
156 {
157  double dphi = fabs(phi1 - phi2);
158  if(dphi>acos(-1)) dphi = 2*acos(-1)-dphi;
159  double dr = sqrt(dphi*dphi + pow(eta1-eta2,2));
160  return dr;
161 }
162 
164 
165 {
166  produceRates_=iConfig.getParameter<bool>("produceRates");
167  sampleXsec_=iConfig.getParameter<double>("sampleCrossSection");
168  lumi_=iConfig.getParameter<double>("luminosity");
169  outTxtFileName_=iConfig.getParameter<std::string>("outputTxtFileName");
170 
171  folderName_ = iConfig.getParameter<std::string>("folderName");
172  saveToRootFile_=iConfig.getParameter<bool>("SaveToRootFile");
173  outRootFileName_=iConfig.getParameter<std::string>("outputRootFileName");
174 
175  hltEventTag_=iConfig.getParameter<edm::InputTag>("hltTriggerEventLabel");
176  hltFilterTag_=iConfig.getParameter<edm::InputTag>("hltL3FilterLabel");
177 
178  l1extraJetTag_=iConfig.getParameter<std::vector<edm::InputTag> >("hltL1extraJetLabel");
179  gtDigiLabel_=iConfig.getParameter<edm::InputTag>("gtDigiLabel");
180  checkL1eff_=iConfig.getParameter<bool>("CheckL1TurnOn");
181  genJetsLabel_=iConfig.getParameter<edm::InputTag>("genJetsLabel");
182  l1seedNames_=iConfig.getParameter<std::vector<std::string> >("l1seedNames");
183  useReco_=iConfig.getParameter<bool>("useReco");
184  recoTracksLabel_=iConfig.getParameter<edm::InputTag>("recoTracksLabel");
185  checkL2_=iConfig.getParameter<bool>("DebugL2");
186  l2colLabel_=iConfig.getParameter<edm::InputTag>("L2producerLabel");
187 
188  produceRatePdep_=iConfig.getParameter<bool>("produceRatePdep");
189 
190  hltPThr_=iConfig.getUntrackedParameter<double>("l3momThreshold",10);
191 
192  doL1Prescaling_=iConfig.getParameter<bool>("doL1Prescaling");
193 
194  for (unsigned int i=0; i<l1seedNames_.size(); i++)
195  {
196  l1counter.push_back(0);
197  }
198 
199  if (produceRates_) txtout.open(outTxtFileName_.c_str());
200 
201  nTotal=0;
202  nL1accepts=0;
203  nHLTL2accepts=0;
204  nHLTL3accepts=0;
206 
207  nl3_0005=0;
208  nl3_0510=0;
209  nl3_1015=0;
210  nl3_1520=0;
211 
212  purnl3_0005=0;
213  purnl3_0510=0;
214  purnl3_1015=0;
215  purnl3_1520=0;
216 }
217 
218 
220 {
221  if (produceRates_)
222  {
223  double sampleRate=(lumi_)*(sampleXsec_*1E-36);
224  double l1Rate=nL1accepts*pow(nTotal,-1)*sampleRate;
225  double hltRate=nHLTL3accepts*pow(nL1accepts,-1)*l1Rate;
226  double hltRatePure=nHLTL3acceptsPure*pow(nL1accepts,-1)*l1Rate;
227 
228  double l1rateError=l1Rate/sqrt(nL1accepts);
229  double hltRateError=hltRate/sqrt(nHLTL3accepts);
230  double hltRatePureError=hltRatePure/sqrt(nHLTL3acceptsPure);
231 
232  double rate_0005=nl3_0005*pow(nL1accepts,-1)*l1Rate;
233  double rate_0510=nl3_0510*pow(nL1accepts,-1)*l1Rate;
234  double rate_1015=nl3_1015*pow(nL1accepts,-1)*l1Rate;
235  double rate_1520=nl3_1520*pow(nL1accepts,-1)*l1Rate;
236 
237  double prate_0005=purnl3_0005*pow(nL1accepts,-1)*l1Rate;
238  double prate_0510=purnl3_0510*pow(nL1accepts,-1)*l1Rate;
239  double prate_1015=purnl3_1015*pow(nL1accepts,-1)*l1Rate;
240  double prate_1520=purnl3_1520*pow(nL1accepts,-1)*l1Rate;
241 
242  txtout<<std::setw(50)<<std::left<<"sample xsec(pb)"<<sampleXsec_<<std::endl;
243  txtout<<std::setw(50)<<std::left<<"lumi(cm^-2*s^-1)"<<lumi_<<std::endl;
244  txtout<<std::setw(50)<<std::left<<"Events processed/rate(Hz)"<<nTotal<<"/"<<sampleRate<<std::endl;
245  txtout<<std::setw(50)<<std::left<<"L1 accepts/(rate+-error (Hz))"<<nL1accepts<<"/("<<l1Rate<<"+-"<<l1rateError<<")"<<std::endl;
246  txtout<<std::setw(50)<<std::left<<"HLTL3accepts/(rate+-error (Hz))"<<nHLTL3accepts<<"/("<<hltRate<<"+-"<<hltRateError<<")"<<std::endl;
247  txtout<<std::setw(50)<<std::left<<"L3 acc. |eta|<0.5 / rate"<<nl3_0005<<" / "<<rate_0005<<std::endl;
248  txtout<<std::setw(50)<<std::left<<"L3 acc. |eta|>0.5 && |eta|<1.0 / rate"<<nl3_0510<<" / "<<rate_0510<<std::endl;
249  txtout<<std::setw(50)<<std::left<<"L3 acc. |eta|>1.0 && |eta|<1.5 / rate"<<nl3_1015<<" / "<<rate_1015<<std::endl;
250  txtout<<std::setw(50)<<std::left<<"L3 acc. |eta|>1.5 && |eta|<2.0 / rate"<<nl3_1520<<" / "<<rate_1520<<std::endl;
251  txtout<<"\n"<<std::endl;
252  txtout<<std::setw(50)<<std::left<<"HLTL3acceptsPure/(rate+-error (Hz))"<<nHLTL3acceptsPure<<"/("<<hltRatePure<<"+-"<<hltRatePureError<<")"<<std::endl;
253  txtout<<std::setw(50)<<std::left<<"pure L3 acc. |eta|<0.5 / rate"<<purnl3_0005<<" / "<<prate_0005<<std::endl;
254  txtout<<std::setw(50)<<std::left<<"pure L3 acc. |eta|>0.5 && |eta|<1.0 / rate"<<purnl3_0510<<" / "<<prate_0510<<std::endl;
255  txtout<<std::setw(50)<<std::left<<"pure L3 acc. |eta|>1.0 && |eta|<1.5 / rate"<<purnl3_1015<<" / "<<prate_1015<<std::endl;
256  txtout<<std::setw(50)<<std::left<<"pure L3 acc. |eta|>1.5 && |eta|<2.0 / rate"<<purnl3_1520<<" / "<<prate_1520<<std::endl;
257  }
258 }
259 
261 {
262  nTotal++;
263  haccepts->Fill(0.0001,1);
264 
265  double phiGJLead=-10000;
266  double etaGJLead=-10000;
267 
268  bool l1pass=false;
269 
271  iSetup.get<L1GtTriggerMenuRcd>().get(menuRcd) ;
272  const L1GtTriggerMenu* menu = menuRcd.product();
273  const AlgorithmMap& bitMap = menu->gtAlgorithmMap();
274 
276  iSetup.get<L1GtPrescaleFactorsAlgoTrigRcd>().get(l1GtPfAlgo);
277  const L1GtPrescaleFactors* preFac = l1GtPfAlgo.product();
278  const std::vector< std::vector< int > > prescaleSet=preFac->gtPrescaleFactors();
279 
281  iEvent.getByLabel(gtDigiLabel_ ,gtRecord);
282  const DecisionWord dWord = gtRecord->decisionWord();
283 
284  for (unsigned int i=0; i<l1seedNames_.size(); i++)
285  {
286  int l1seedBitNumber=-10;
287  for (CItAlgo itAlgo = bitMap.begin(); itAlgo != bitMap.end(); itAlgo++)
288  {
289  if (itAlgo->first==l1seedNames_[i]) l1seedBitNumber = (itAlgo->second).algoBitNumber();
290  }
291  int prescale=prescaleSet[0][l1seedBitNumber];
292  // std::cout<<l1seedNames_[i]<<" "<<prescale<<std::endl;
293  if (menu->gtAlgorithmResult( l1seedNames_[i], dWord))
294  {
295  l1counter[i]++;
296  if ((doL1Prescaling_&&l1counter[i]%prescale==0)||(!doL1Prescaling_))
297  {
298  l1pass=true;
299  break;
300  }
301  }
302  }
303  if (checkL1eff_)
304  {
306  iEvent.getByLabel(genJetsLabel_,gjcol);
307 
308  reco::GenJetCollection::const_iterator gjit=gjcol->begin();
309  if (gjit!=gjcol->end())
310  {
311  etaGJLead=gjit->eta();
312  phiGJLead=gjit->phi();
313  hpTgenLead->Fill(gjit->pt(),1);
314  if (l1pass) hpTgenLeadL1->Fill(gjit->pt(),1);
315  gjit++;
316  }
317  if (gjit!=gjcol->end())
318  {
319  hpTgenNext->Fill(gjit->pt(),1);
320  if (l1pass) hpTgenNextL1->Fill(gjit->pt(),1);
321  }
322  }
323 
324  if (!l1pass) return;
325  else haccepts->Fill(1+0.0001,1);
326 
327  nL1accepts++;
328 
330  if (checkL2_)
331  {
332  iEvent.getByLabel(l2colLabel_,l2col);
333  }
334 
336  iEvent.getByLabel(hltEventTag_,trEv);
337 
339 
340  if (useReco_)
341  {
342  iEvent.getByLabel(recoTracksLabel_,recoTr);
343  }
344 
345  const trigger::TriggerObjectCollection& TOCol(trEv->getObjects());
346 
347  trigger::Keys KEYS;
348  const trigger::size_type nFilt(trEv->sizeFilters());
349 
350  int nFired=0;
351 
352  bool passl3=false;
353 
354  for (trigger::size_type iFilt=0; iFilt!=nFilt; iFilt++)
355  {
356  trigger::Keys KEYS1=trEv->filterKeys(iFilt);
357  if (KEYS1.size()>0) nFired++;
358  if (trEv->filterTag(iFilt)==hltFilterTag_) KEYS=trEv->filterKeys(iFilt);
359  }
360 
361  trigger::size_type nReg=KEYS.size();
362 
363  if (nFired==2&&nReg>0)
364  {
366  for (trigger::size_type iReg=0; iReg<nReg; iReg++)
367  {
368  const trigger::TriggerObject& TObj(TOCol[KEYS[iReg]]);
369  if (TObj.pt()*cosh(TObj.eta())<10) continue;
370  if (fabs(TObj.eta())<0.5) purnl3_0005++;
371  if (fabs(TObj.eta())>0.5&&fabs(TObj.eta())<1.0) purnl3_0510++;
372  if (fabs(TObj.eta())>1.0&&fabs(TObj.eta())<1.5) purnl3_1015++;
373  if (fabs(TObj.eta())<2.0&&fabs(TObj.eta())>1.5) purnl3_1520++;
374  }
375  }
376 
377  for (trigger::size_type iReg=0; iReg<nReg; iReg++)
378  {
379  const trigger::TriggerObject& TObj(TOCol[KEYS[iReg]]);
380 
381  if (produceRatePdep_){
382  for (int i=0; i<50; i++)
383  {
384  double pthr=5+i;
385  if (TObj.pt()*cosh(TObj.eta())>pthr&&fabs(TObj.eta())<1.0) hRateVsThr->Fill(pthr+0.001,1);
386  }
387  }
388 
389  if (TObj.pt()*cosh(TObj.eta())<hltPThr_) continue;
390 
391  passl3=true;
392 
393  double dphiGJ=fabs(TObj.phi()-phiGJLead);
394  if (dphiGJ>acos(-1)) dphiGJ=2*acos(-1)-dphiGJ;
395  double dR=sqrt(dphiGJ*dphiGJ+pow(TObj.eta()-etaGJLead,2));
396  hPhiToGJ->Fill(dphiGJ,1);
397  hDistToGJ->Fill(dR,1);
398 
399  hl3eta->Fill(TObj.eta(),1);
400  hl3phi->Fill(TObj.phi(),1);
401  if (fabs(TObj.eta())<0.5)
402  {
403  hl3P0005->Fill(cosh(TObj.eta())*TObj.pt(),1);
404  hl3Pt0005->Fill(TObj.pt(),1);
405  nl3_0005++;
406  }
407  if (fabs(TObj.eta())>0.5&&fabs(TObj.eta())<1.0)
408  {
409  nl3_0510++;
410  hl3P0510->Fill(cosh(TObj.eta())*TObj.pt(),1);
411  hl3Pt0510->Fill(TObj.pt(),1);
412  }
413  if (fabs(TObj.eta())>1.0&&fabs(TObj.eta())<1.5)
414  {
415  nl3_1015++;
416  hl3P1015->Fill(cosh(TObj.eta())*TObj.pt(),1);
417  hl3Pt1015->Fill(TObj.pt(),1);
418  }
419  if (fabs(TObj.eta())<2.0&&fabs(TObj.eta())>1.5)
420  {
421  nl3_1520++;
422  hl3P1520->Fill(cosh(TObj.eta())*TObj.pt(),1);
423  hl3Pt1520->Fill(TObj.pt(),1);
424  }
425  if (l2col->size()==0) continue;
426  double l2l3d=100;
427  reco::IsolatedPixelTrackCandidateCollection::const_iterator l2match;
428  for (reco::IsolatedPixelTrackCandidateCollection::const_iterator eptit=l2col->begin(); eptit!=l2col->end(); eptit++)
429  {
430  hl2pT->Fill(eptit->track()->pt(),1);
431  hl2eta->Fill(eptit->track()->eta(),1);
432  hl2phi->Fill(eptit->track()->phi(),1);
433  hl2pVsEta->Fill(eptit->track()->eta(),eptit->track()->p(),1);
434  hisopT->Fill(eptit->maxPtPxl(),1);
435  hisopTvsEta->Fill(eptit->track()->eta(),eptit->maxPtPxl(),1);
436 
437  double R=getDist(eptit->eta(), eptit->phi(), TObj.eta(), TObj.phi());
438  if (R<l2l3d)
439  {
440  l2match=eptit;
441  l2l3d=R;
442  }
443  }
444 
445  hL3L2trackMatch->Fill(l2l3d,1);
446  hL3L2pTrat->Fill(l2match->pt()/TObj.pt(),1);
447  hl3Pt->Fill(TObj.pt(),1);
448 
449  if (useReco_&&recoTr->size()>0)
450  {
451  double minRecoL3dist=100;
452  reco::TrackCollection::const_iterator mrtr;
453  for (reco::TrackCollection::const_iterator rtrit=recoTr->begin(); rtrit!=recoTr->end(); rtrit++)
454  {
455  double R=getDist(rtrit->eta(),rtrit->phi(),TObj.eta(),TObj.phi());
456  if (R<minRecoL3dist)
457  {
458  mrtr=rtrit;
459  minRecoL3dist=R;
460  }
461  }
462  hOffL3TrackMatch->Fill(minRecoL3dist,1);
463  hOffL3TrackPtRat->Fill(TObj.pt()/mrtr->pt(),1);
464  hOffPvsEta->Fill(mrtr->eta(),mrtr->p(),1);
465  }
466  }
467 
468 if (passl3) nHLTL3accepts++;
469 if (passl3) haccepts->Fill(2+0.0001,1);
470 
471 if (!l1pass||!passl3) return;
472 
473 }
474 
476 {
479 
480  hRateVsThr=dbe_->book1D("hRatesVsThr","hRateVsThr",100,0,100);
481 
482  hPhiToGJ=dbe_->book1D("hPhiToGJ","hPhiToGJ",100,0,4);
483 
484  hDistToGJ=dbe_->book1D("hDistToGJ","hDistToGJ",100,0,10);
485 
486  hL3L2trackMatch=dbe_->book1D("hL3L2trackMatch","R from L3 object to L2 object ",1000,0,1);
487  hL3L2trackMatch->setAxisTitle("R(eta,phi)",1);
488 
489  hL3L2pTrat=dbe_->book1D("hL3L2pTrat","ratio of L2 to L3 measurement",1000,0,10);
490  hL3L2pTrat->setAxisTitle("pT_L2/pT_L3",1);
491 
492  hl3Pt=dbe_->book1D("hl3Pt","pT of L3 objects",1000,0,100);
493  hl3Pt->setAxisTitle("pT(GeV)",1);
494 
495  hl3Pt0005=dbe_->book1D("hl3Pt0005","hl3Pt0005",1000,0,100);
496  hl3Pt0005->setAxisTitle("pT(GeV)",1);
497 
498  hl3Pt0510=dbe_->book1D("hl3Pt0510","hl3Pt0510",1000,0,100);
499  hl3Pt0510->setAxisTitle("pT(GeV)",1);
500 
501  hl3Pt1015=dbe_->book1D("hl3Pt1015","hl3Pt1015",1000,0,100);
502  hl3Pt1015->setAxisTitle("pT(GeV)",1);
503 
504  hl3Pt1520=dbe_->book1D("hl3Pt1520","hl3Pt1520",1000,0,100);
505  hl3Pt1520->setAxisTitle("pT(GeV)",1);
506 
507  hl3P0005=dbe_->book1D("hl3P0005","hl3P0005",1000,0,100);
508  hl3P0005->setAxisTitle("P(GeV)",1);
509 
510  hl3P0510=dbe_->book1D("hl3P0510","hl3P0510",1000,0,100);
511  hl3P0510->setAxisTitle("P(GeV)",1);
512 
513  hl3P1015=dbe_->book1D("hl3P1015","hl3P1015",1000,0,100);
514  hl3P1015->setAxisTitle("P(GeV)",1);
515 
516  hl3P1520=dbe_->book1D("hl3P1520","hl3P1520",1000,0,100);
517  hl3P1520->setAxisTitle("P(GeV)",1);
518 
519  hl3eta=dbe_->book1D("hl3eta","eta of L3 objects",50,-2.5,2.5);
520  hl3eta->setAxisTitle("eta",1);
521 
522  hl3phi=dbe_->book1D("hl3phi","phi of L3 objects",70,-3.5,3.5);
523  hl3phi->setAxisTitle("phi(rad)",1);
524 
525  hl2pT=dbe_->book1D("hl2pT","pT of L2 objects",1000,0,1000);
526  hl2pT->setAxisTitle("pT(GeV)",1);
527 
528  hl2eta=dbe_->book1D("hl2eta","eta of L2 objects",50,-2.5,2.5);
529  hl2eta->setAxisTitle("eta",1);
530 
531  hl2phi=dbe_->book1D("hl2phi","phi of L2 objects",70,-3.5,3.5);
532  hl2phi->setAxisTitle("phi(rad)",1);
533 
534  hisopT=dbe_->book1D("hisopT","isolation pT",100,0,5.5);
535  hisopT->setAxisTitle("iso pT (GeV)",1);
536 
537  hisopTvsEta=dbe_->book2D("hisopTvsEta","isolation pT vs Eta",8,-2,2,100,0,5.5);
538  hisopTvsEta->setAxisTitle("eta",1);
539  hisopTvsEta->setAxisTitle("iso pT (GeV)",2);
540 
541  hl2pVsEta=dbe_->book2D("hl2pVsEta","Distribution of l2 track energy vs eta",25,-2.5,2.5,100,0,100);
542  hl2pVsEta->setAxisTitle("eta",1);
543  hl2pVsEta->setAxisTitle("E(GeV)",2);
544 
545  haccepts=dbe_->book1D("haccepts","Number of accepts at each level",3,0,3);
546  haccepts->setAxisTitle("selection level",1);
547 
548  hOffL3TrackMatch=dbe_->book1D("hOffL3TrackMatch","Distance from L3 object to offline track",200,0,0.5);
549  hOffL3TrackMatch->setAxisTitle("R(eta,phi)",1);
550 
551  hOffL3TrackPtRat=dbe_->book1D("hOffL3TrackPtRat","Ratio of pT: L3/offline",100,0,10);
552  hOffL3TrackPtRat->setAxisTitle("ratio L3/offline",1);
553 
554  hOffPvsEta=dbe_->book2D("hOffPvsEta","Distribution of offline track energy vs eta",25,-2.5,2.5,100,0,100);
555  hOffPvsEta->setAxisTitle("eta",1);
556  hOffPvsEta->setAxisTitle("E(GeV)",2);
557 
558  hpTgenLead=dbe_->book1D("hpTgenLead","hpTgenLead",100,0,100);
559 
560  hpTgenLeadL1=dbe_->book1D("hpTgenLeadL1","hpTgenLeadL1",100,0,100);
561 
562  hpTgenNext=dbe_->book1D("hpTgenNext","hpTgenNext",100,0,100);
563 
564  hpTgenNextL1=dbe_->book1D("hpTgenNextL1","hpTgenNextL1",100,0,100);
565 }
566 
568 
569 if(dbe_)
570  {
572  }
573 }
574 
MonitorElement * hpTgenLead
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * hl2phi
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
edm::InputTag hltFilterTag_
MonitorElement * hl3pVsEta
MonitorElement * hl2pVsEta
float phi() const
Definition: TriggerObject.h:60
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:1883
MonitorElement * hOffL3TrackPtRat
MonitorElement * hl3Pt0005
MonitorElement * hl3P0005
float eta() const
Definition: TriggerObject.h:59
MonitorElement * hl3P0510
MonitorElement * hL3L2trackMatch
std::vector< std::string > l1seedNames_
std::vector< int > l1counter
uint16_t size_type
double getDist(double, double, double, double)
MonitorElement * hLeadTurnOn
MonitorElement * hOffPvsEta
void Fill(long long x)
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
MonitorElement * hl3Pt1520
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * hRateVsThr
MonitorElement * hisopTvsEta
MonitorElement * hl3P1015
int iEvent
Definition: GenABIO.cc:243
edm::InputTag recoTracksLabel_
std::vector< bool > DecisionWord
typedefs
T sqrt(T t)
Definition: SSEVec.h:28
MonitorElement * hl3phi
edm::InputTag genJetsLabel_
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
MonitorElement * hDistToGJ
MonitorElement * hl3Pt0510
MonitorElement * hl3Pt1015
edm::InputTag hltEventTag_
MonitorElement * hisopT
MonitorElement * hl3eta
MonitorElement * hNextToLeadTurnOn
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
MonitorElement * hl2pT
edm::InputTag gtDigiLabel_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
MonitorElement * haccepts
const std::vector< std::vector< int > > & gtPrescaleFactors() const
get the prescale factors by reference
MonitorElement * hPhiToGJ
MonitorElement * hpTgenNextL1
edm::InputTag l2colLabel_
MonitorElement * hpTgenNext
std::vector< size_type > Keys
MonitorElement * hpTgenLeadL1
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
MonitorElement * hl3P1520
ValHcalIsoTrackHLT(const edm::ParameterSet &)
std::vector< edm::InputTag > l1extraJetTag_
std::string outRootFileName_
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
MonitorElement * hL3L2pTrat
MonitorElement * hl2eta
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * hOffL3TrackMatch
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
MonitorElement * hl3Pt