CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
JetMETHLTOfflineSource.h
Go to the documentation of this file.
1 /*
2  JetMETHLTOffline DQM code
3  Migrated to use DQMEDAnalyzer by: Jyothsna Rani Komaragiri, Oct 2014
4 */
5 
6 #ifndef JetMETHLTOfflineSource_H
7 #define JetMETHLTOfflineSource_H
8 
9 // system include files
10 #include <memory>
11 #include <unistd.h>
12 
13 // user include files
16 
18 
27 
32 
34 
36 
42 
48 
51 
53 
54 #include <iostream>
55 #include <fstream>
56 #include <vector>
57 #include <string>
58 #include <sstream>
59 
60 class PtSorter {
61  public:
62  template <class T> bool operator() ( const T& a, const T& b ) {
63  return ( a.pt() > b.pt() );
64  }
65  };
66 
68  public:
71 
72  private:
73  virtual void analyze(const edm::Event&, const edm::EventSetup&);
74  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const & run, edm::EventSetup const & c) override;
75  virtual void dqmBeginRun(edm::Run const& run, edm::EventSetup const& c) override;
76 
77  //helper functions
78  virtual bool isBarrel(double eta);
79  virtual bool isEndCap(double eta);
80  virtual bool isForward(double eta);
81  virtual bool validPathHLT(std::string path);
84  virtual double TriggerPosition(std::string trigName);
85 
86  virtual void fillMEforMonTriggerSummary(const edm::Event & iEvent, const edm::EventSetup&);
87  virtual void fillMEforMonAllTrigger(const edm::Event & iEvent, const edm::EventSetup&);
88  virtual void fillMEforEffAllTrigger(const edm::Event & iEvent, const edm::EventSetup&);
89  virtual void fillMEforTriggerNTfired();
90 
92 
93  // ----------member data ---------------------------
94  std::vector<std::string> MuonTrigPaths_;
95  std::vector<std::string> MBTrigPaths_;
96  std::vector<int> prescUsed_;
97 
100 
101  // JetID helper
103 
104  bool verbose_;
106  bool plotAll_;
107  bool plotEff_ ;
108 
109  bool isSetup_;
111 
112  double _fEMF;
113  double _feta;
114  double _fHPD;
115  double _n90Hits;
116  double _pfMHT;
117  double _min_NHEF;
118  double _max_NHEF;
119  double _min_CHEF;
120  double _max_CHEF;
121  double _min_NEMF;
122  double _max_NEMF;
123  double _min_CEMF;
124  double _max_CEMF;
125 
137 
142 
145 
146  std::vector<std::string> pathFilter_;
147  std::vector<std::string> pathRejectKeyword_;
148  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
149 
154  edm::TriggerNames triggerNames_; // TriggerNames class
156 
157  double CaloJetPx[2];
158  double CaloJetPy[2];
159  double CaloJetPt[2];
160  double CaloJetEta[2];
161  double CaloJetPhi[2];
162  double CaloJetEMF[2];
163  double CaloJetfHPD[2];
164  double CaloJetn90[2];
165 
166  double PFJetPx[2];
167  double PFJetPy[2];
168  double PFJetPt[2];
169  double PFJetEta[2];
170  double PFJetPhi[2];
171  double PFJetNHEF[2];
172  double PFJetCHEF[2];
173  double PFJetNEMF[2];
174  double PFJetCEMF[2];
175 
176  double pfMHTx_All;
177  double pfMHTy_All;
178 
179  // ----------------- //
180  // helper class to store the data path
181 
182  class PathInfo {
184  prescaleUsed_(-1),
185  denomPathName_("unset"),
186  pathName_("unset"),
187  l1pathName_("unset"),
188  filterName_("unset"),
189  DenomfilterName_("unset"),
190  processName_("unset"),
191  objectType_(-1),
192  triggerType_("unset")
193  {};
194  public:
196  MonitorElement* const Pt,
197  MonitorElement* const PtBarrel,
198  MonitorElement* const PtEndcap,
199  MonitorElement* const PtForward,
200  MonitorElement* const Eta,
201  MonitorElement* const Phi,
202  MonitorElement* const EtaPhi,
203  //
204  MonitorElement* const N_L1,
205  MonitorElement* const Pt_L1,
206  MonitorElement* const PtBarrel_L1,
207  MonitorElement* const PtEndcap_L1,
208  MonitorElement* const PtForward_L1,
209  MonitorElement* const Eta_L1,
210  MonitorElement* const Phi_L1,
211  MonitorElement* const EtaPhi_L1,
212  MonitorElement* const N_HLT,
213  MonitorElement* const Pt_HLT,
214  MonitorElement* const PtBarrel_HLT,
215  MonitorElement* const PtEndcap_HLT,
216  MonitorElement* const PtForward_HLT,
217  MonitorElement* const Eta_HLT,
218  MonitorElement* const Phi_HLT,
219  MonitorElement* const EtaPhi_HLT,
220  //
221  MonitorElement* const PtResolution_L1HLT,
222  MonitorElement* const EtaResolution_L1HLT,
223  MonitorElement* const PhiResolution_L1HLT,
224  MonitorElement* const PtResolution_HLTRecObj,
225  MonitorElement* const EtaResolution_HLTRecObj,
226  MonitorElement* const PhiResolution_HLTRecObj,
227  //
228  MonitorElement* const PtCorrelation_L1HLT,
229  MonitorElement* const EtaCorrelation_L1HLT,
230  MonitorElement* const PhiCorrelation_L1HLT,
231  MonitorElement* const PtCorrelation_HLTRecObj,
232  MonitorElement* const EtaCorrelation_HLTRecObj,
233  MonitorElement* const PhiCorrelation_HLTRecObj,
234  //
235  MonitorElement* const JetAveragePt,
236  MonitorElement* const JetAverageEta,
237  MonitorElement* const JetPhiDifference,
238  MonitorElement* const HLTAveragePt,
239  MonitorElement* const HLTAverageEta,
240  MonitorElement* const HLTPhiDifference,
241  MonitorElement* const L1AveragePt,
242  MonitorElement* const L1AverageEta,
243  MonitorElement* const L1PhiDifference
244  )
245 
246  {
247  N_ = N;
248  Pt_ = Pt;
249  PtBarrel_ = PtBarrel;
250  PtEndcap_ = PtEndcap;
251  PtForward_ = PtForward;
252  Eta_ = Eta;
253  Phi_ = Phi;
254  EtaPhi_ = EtaPhi;
255  N_L1_ = N_L1;
256  Pt_L1_ = Pt_L1;
257  PtBarrel_L1_ = PtBarrel_L1;
258  PtEndcap_L1_ = PtEndcap_L1;
259  PtForward_L1_ = PtForward_L1;
260  Eta_L1_ = Eta_L1;
261  Phi_L1_ = Phi_L1;
262  EtaPhi_L1_ = EtaPhi_L1 ;
263  N_HLT_ = N_HLT;
264  Pt_HLT_ = Pt_HLT;
265  PtBarrel_HLT_ = PtBarrel_HLT;
266  PtEndcap_HLT_ = PtEndcap_HLT;
267  PtForward_HLT_ = PtForward_HLT;
268  Eta_HLT_ = Eta_HLT;
269  Phi_HLT_ = Phi_HLT;
270  EtaPhi_HLT_ = EtaPhi_HLT ;
271  //
272  PtResolution_L1HLT_ = PtResolution_L1HLT;
273  EtaResolution_L1HLT_ = EtaResolution_L1HLT;
274  PhiResolution_L1HLT_ = PhiResolution_L1HLT;
275  PtResolution_HLTRecObj_ = PtResolution_HLTRecObj;
276  EtaResolution_HLTRecObj_ = EtaResolution_HLTRecObj;
277  PhiResolution_HLTRecObj_ = PhiResolution_HLTRecObj;
278  //
279  PtCorrelation_L1HLT_ = PtCorrelation_L1HLT;
280  EtaCorrelation_L1HLT_ = EtaCorrelation_L1HLT;
281  PhiCorrelation_L1HLT_ = PhiCorrelation_L1HLT;
282  PtCorrelation_HLTRecObj_ = PtCorrelation_HLTRecObj;
283  EtaCorrelation_HLTRecObj_ = EtaCorrelation_HLTRecObj;
284  PhiCorrelation_HLTRecObj_ = PhiCorrelation_HLTRecObj;
285  //
286  JetAveragePt_ = JetAveragePt;
287  JetAverageEta_ = JetAverageEta;
288  JetPhiDifference_ = JetPhiDifference;
289  HLTAveragePt_ = HLTAveragePt;
290  HLTAverageEta_ = HLTAverageEta;
291  HLTPhiDifference_ = HLTPhiDifference;
292  L1AveragePt_ = L1AveragePt;
293  L1AverageEta_ = L1AverageEta;
294  L1PhiDifference_ = L1PhiDifference;
295  };
296 
297  void setDgnsHistos(MonitorElement* const TriggerSummary,
298  MonitorElement* const JetSize,
299  MonitorElement* const JetPt,
300  MonitorElement* const EtavsPt,
301  MonitorElement* const PhivsPt,
302  MonitorElement* const Pt12,
303  MonitorElement* const Eta12,
304  MonitorElement* const Phi12,
305  MonitorElement* const Pt3,
306  MonitorElement* const Pt12Pt3,
307  MonitorElement* const Pt12Phi12
308  )
309  {
310  TriggerSummary_ = TriggerSummary;
311  JetSize_ = JetSize;
312  JetPt_ = JetPt;
313  EtavsPt_ = EtavsPt;
314  PhivsPt_ = PhivsPt;
315  Pt12_ = Pt12;
316  Eta12_ = Eta12;
317  Phi12_ = Phi12;
318  Pt3_ = Pt3;
319  Pt12Pt3_ = Pt12Pt3;
320  Pt12Phi12_ = Pt12Phi12;
321  };
322 
323  void setEffHistos(MonitorElement* const NumeratorPt,
324  MonitorElement* const NumeratorPtBarrel,
325  MonitorElement* const NumeratorPtEndcap,
326  MonitorElement* const NumeratorPtForward,
327  MonitorElement* const NumeratorEta,
328  MonitorElement* const NumeratorPhi,
329  MonitorElement* const NumeratorEtaPhi,
330  //
331  MonitorElement* const NumeratorEtaBarrel,
332  MonitorElement* const NumeratorPhiBarrel,
333  MonitorElement* const NumeratorEtaEndcap,
334  MonitorElement* const NumeratorPhiEndcap,
335  MonitorElement* const NumeratorEtaForward,
336  MonitorElement* const NumeratorPhiForward,
337  MonitorElement* const NumeratorEta_LowpTcut,
338  MonitorElement* const NumeratorPhi_LowpTcut,
339  MonitorElement* const NumeratorEtaPhi_LowpTcut,
340  MonitorElement* const NumeratorEta_MedpTcut,
341  MonitorElement* const NumeratorPhi_MedpTcut,
342  MonitorElement* const NumeratorEtaPhi_MedpTcut,
343  MonitorElement* const NumeratorEta_HighpTcut,
344  MonitorElement* const NumeratorPhi_HighpTcut,
345  MonitorElement* const NumeratorEtaPhi_HighpTcut,
346  //
347  MonitorElement* const DenominatorPt,
348  MonitorElement* const DenominatorPtBarrel,
349  MonitorElement* const DenominatorPtEndcap,
350  MonitorElement* const DenominatorPtForward,
351  MonitorElement* const DenominatorEta,
352  MonitorElement* const DenominatorPhi,
353  MonitorElement* const DenominatorEtaPhi,
354  //
355  MonitorElement* const DenominatorEtaBarrel,
356  MonitorElement* const DenominatorPhiBarrel,
357  MonitorElement* const DenominatorEtaEndcap,
358  MonitorElement* const DenominatorPhiEndcap,
359  MonitorElement* const DenominatorEtaForward,
360  MonitorElement* const DenominatorPhiForward,
361  MonitorElement* const DenominatorEta_LowpTcut,
362  MonitorElement* const DenominatorPhi_LowpTcut,
363  MonitorElement* const DenominatorEtaPhi_LowpTcut,
364  MonitorElement* const DenominatorEta_MedpTcut,
365  MonitorElement* const DenominatorPhi_MedpTcut,
366  MonitorElement* const DenominatorEtaPhi_MedpTcut,
367  MonitorElement* const DenominatorEta_HighpTcut,
368  MonitorElement* const DenominatorPhi_HighpTcut,
369  MonitorElement* const DenominatorEtaPhi_HighpTcut,
370  //
371  MonitorElement* const DeltaR,
372  MonitorElement* const DeltaPhi,
373  //
374  MonitorElement* const NumeratorPFPt,
375  MonitorElement* const NumeratorPFMHT,
376  MonitorElement* const NumeratorPFPtBarrel,
377  MonitorElement* const NumeratorPFPtEndcap,
378  MonitorElement* const NumeratorPFPtForward,
379  MonitorElement* const NumeratorPFEta,
380  MonitorElement* const NumeratorPFPhi,
381  MonitorElement* const NumeratorPFEtaPhi,
382  //
383  MonitorElement* const NumeratorPFEtaBarrel,
384  MonitorElement* const NumeratorPFPhiBarrel,
385  MonitorElement* const NumeratorPFEtaEndcap,
386  MonitorElement* const NumeratorPFPhiEndcap,
387  MonitorElement* const NumeratorPFEtaForward,
388  MonitorElement* const NumeratorPFPhiForward,
389  MonitorElement* const NumeratorPFEta_LowpTcut,
390  MonitorElement* const NumeratorPFPhi_LowpTcut,
391  MonitorElement* const NumeratorPFEtaPhi_LowpTcut,
392  MonitorElement* const NumeratorPFEta_MedpTcut,
393  MonitorElement* const NumeratorPFPhi_MedpTcut,
394  MonitorElement* const NumeratorPFEtaPhi_MedpTcut,
395  MonitorElement* const NumeratorPFEta_HighpTcut,
396  MonitorElement* const NumeratorPFPhi_HighpTcut,
397  MonitorElement* const NumeratorPFEtaPhi_HighpTcut,
398  //
399  MonitorElement* const DenominatorPFPt,
400  MonitorElement* const DenominatorPFMHT,
401  MonitorElement* const DenominatorPFPtBarrel,
402  MonitorElement* const DenominatorPFPtEndcap,
403  MonitorElement* const DenominatorPFPtForward,
404  MonitorElement* const DenominatorPFEta,
405  MonitorElement* const DenominatorPFPhi,
406  MonitorElement* const DenominatorPFEtaPhi,
407  //
408  MonitorElement* const DenominatorPFEtaBarrel,
409  MonitorElement* const DenominatorPFPhiBarrel,
410  MonitorElement* const DenominatorPFEtaEndcap,
411  MonitorElement* const DenominatorPFPhiEndcap,
412  MonitorElement* const DenominatorPFEtaForward,
413  MonitorElement* const DenominatorPFPhiForward,
414  MonitorElement* const DenominatorPFEta_LowpTcut,
415  MonitorElement* const DenominatorPFPhi_LowpTcut,
416  MonitorElement* const DenominatorPFEtaPhi_LowpTcut,
417  MonitorElement* const DenominatorPFEta_MedpTcut,
418  MonitorElement* const DenominatorPFPhi_MedpTcut,
419  MonitorElement* const DenominatorPFEtaPhi_MedpTcut,
420  MonitorElement* const DenominatorPFEta_HighpTcut,
421  MonitorElement* const DenominatorPFPhi_HighpTcut,
422  MonitorElement* const DenominatorPFEtaPhi_HighpTcut,
423  //
424  MonitorElement* const PFDeltaR,
425  MonitorElement* const PFDeltaPhi
426  )
427  {
428  NumeratorPt_ = NumeratorPt;
429  NumeratorPtBarrel_ = NumeratorPtBarrel;
430  NumeratorPtEndcap_ = NumeratorPtEndcap;
431  NumeratorPtForward_ = NumeratorPtForward;
432  NumeratorEta_ = NumeratorEta;
433  NumeratorPhi_ = NumeratorPhi;
434  NumeratorEtaPhi_ = NumeratorEtaPhi;
435  //
436  NumeratorEtaBarrel_ = NumeratorEtaBarrel;
437  NumeratorPhiBarrel_ = NumeratorPhiBarrel;
438  NumeratorEtaEndcap_ = NumeratorEtaEndcap;
439  NumeratorPhiEndcap_ = NumeratorPhiEndcap;
440  NumeratorEtaForward_ = NumeratorEtaForward;
441  NumeratorPhiForward_ = NumeratorPhiForward;
442  NumeratorEta_LowpTcut_ = NumeratorEta_LowpTcut;
443  NumeratorPhi_LowpTcut_ = NumeratorPhi_LowpTcut;
444  NumeratorEtaPhi_LowpTcut_ = NumeratorEtaPhi_LowpTcut;
445  NumeratorEta_MedpTcut_ = NumeratorEta_MedpTcut;
446  NumeratorPhi_MedpTcut_ = NumeratorPhi_MedpTcut;
447  NumeratorEtaPhi_MedpTcut_ = NumeratorEtaPhi_MedpTcut;
448  NumeratorEta_HighpTcut_ = NumeratorEta_HighpTcut;
449  NumeratorPhi_HighpTcut_ = NumeratorPhi_HighpTcut;
450  NumeratorEtaPhi_HighpTcut_ = NumeratorEtaPhi_HighpTcut;
451  //
452  DenominatorPt_ = DenominatorPt;
453  DenominatorPtBarrel_ = DenominatorPtBarrel;
454  DenominatorPtEndcap_ = DenominatorPtEndcap;
455  DenominatorPtForward_ = DenominatorPtForward;
456  DenominatorEta_ = DenominatorEta;
457  DenominatorPhi_ = DenominatorPhi;
458  DenominatorEtaPhi_ = DenominatorEtaPhi;
459  //
460  DenominatorEtaBarrel_ = DenominatorEtaBarrel;
461  DenominatorPhiBarrel_ = DenominatorPhiBarrel;
462  DenominatorEtaEndcap_ = DenominatorEtaEndcap;
463  DenominatorPhiEndcap_ = DenominatorPhiEndcap;
464  DenominatorEtaForward_ = DenominatorEtaForward;
465  DenominatorPhiForward_ = DenominatorPhiForward;
466  DenominatorEta_LowpTcut_ = DenominatorEta_LowpTcut;
467  DenominatorPhi_LowpTcut_ = DenominatorPhi_LowpTcut;
468  DenominatorEtaPhi_LowpTcut_ = DenominatorEtaPhi_LowpTcut;
469  DenominatorEta_MedpTcut_ = DenominatorEta_MedpTcut;
470  DenominatorPhi_MedpTcut_ = DenominatorPhi_MedpTcut;
471  DenominatorEtaPhi_MedpTcut_ = DenominatorEtaPhi_MedpTcut;
472  DenominatorEta_HighpTcut_ = DenominatorEta_HighpTcut;
473  DenominatorPhi_HighpTcut_ = DenominatorPhi_HighpTcut;
474  DenominatorEtaPhi_HighpTcut_ = DenominatorEtaPhi_HighpTcut;
475  //
476  DeltaR_ = DeltaR;
477  DeltaPhi_ = DeltaPhi;
478  //
479  NumeratorPFPt_ = NumeratorPFPt;
480  NumeratorPFMHT_ = NumeratorPFMHT;
481  NumeratorPFPtBarrel_ = NumeratorPFPtBarrel;
482  NumeratorPFPtEndcap_ = NumeratorPFPtEndcap;
483  NumeratorPFPtForward_ = NumeratorPFPtForward;
484  NumeratorPFEta_ = NumeratorPFEta;
485  NumeratorPFPhi_ = NumeratorPFPhi;
486  NumeratorPFEtaPhi_ = NumeratorPFEtaPhi;
487  //
488  NumeratorPFEtaBarrel_ = NumeratorPFEtaBarrel;
489  NumeratorPFPhiBarrel_ = NumeratorPFPhiBarrel;
490  NumeratorPFEtaEndcap_ = NumeratorPFEtaEndcap;
491  NumeratorPFPhiEndcap_ = NumeratorPFPhiEndcap;
492  NumeratorPFEtaForward_ = NumeratorPFEtaForward;
493  NumeratorPFPhiForward_ = NumeratorPFPhiForward;
494  NumeratorPFEta_LowpTcut_ = NumeratorPFEta_LowpTcut;
495  NumeratorPFPhi_LowpTcut_ = NumeratorPFPhi_LowpTcut;
496  NumeratorPFEtaPhi_LowpTcut_ = NumeratorPFEtaPhi_LowpTcut;
497  NumeratorPFEta_MedpTcut_ = NumeratorPFEta_MedpTcut;
498  NumeratorPFPhi_MedpTcut_ = NumeratorPFPhi_MedpTcut;
499  NumeratorPFEtaPhi_MedpTcut_ = NumeratorPFEtaPhi_MedpTcut;
500  NumeratorPFEta_HighpTcut_ = NumeratorPFEta_HighpTcut;
501  NumeratorPFPhi_HighpTcut_ = NumeratorPFPhi_HighpTcut;
502  NumeratorPFEtaPhi_HighpTcut_ = NumeratorPFEtaPhi_HighpTcut;
503  //
504  DenominatorPFPt_ = DenominatorPFPt;
505  DenominatorPFMHT_ = DenominatorPFMHT;
506  DenominatorPFPtBarrel_ = DenominatorPFPtBarrel;
507  DenominatorPFPtEndcap_ = DenominatorPFPtEndcap;
508  DenominatorPFPtForward_ = DenominatorPFPtForward;
509  DenominatorPFEta_ = DenominatorPFEta;
510  DenominatorPFPhi_ = DenominatorPFPhi;
511  DenominatorPFEtaPhi_ = DenominatorPFEtaPhi;
512  //
513  DenominatorPFEtaBarrel_ = DenominatorPFEtaBarrel;
514  DenominatorPFPhiBarrel_ = DenominatorPFPhiBarrel;
515  DenominatorPFEtaEndcap_ = DenominatorPFEtaEndcap;
516  DenominatorPFPhiEndcap_ = DenominatorPFPhiEndcap;
517  DenominatorPFEtaForward_ = DenominatorPFEtaForward;
518  DenominatorPFPhiForward_ = DenominatorPFPhiForward;
519  DenominatorPFEta_LowpTcut_ = DenominatorPFEta_LowpTcut;
520  DenominatorPFPhi_LowpTcut_ = DenominatorPFPhi_LowpTcut;
521  DenominatorPFEtaPhi_LowpTcut_ = DenominatorPFEtaPhi_LowpTcut;
522  DenominatorPFEta_MedpTcut_ = DenominatorPFEta_MedpTcut;
523  DenominatorPFPhi_MedpTcut_ = DenominatorPFPhi_MedpTcut;
524  DenominatorPFEtaPhi_MedpTcut_ = DenominatorPFEtaPhi_MedpTcut;
525  DenominatorPFEta_HighpTcut_ = DenominatorPFEta_HighpTcut;
526  DenominatorPFPhi_HighpTcut_ = DenominatorPFPhi_HighpTcut;
527  DenominatorPFEtaPhi_HighpTcut_ = DenominatorPFEtaPhi_HighpTcut;
528  //
529  PFDeltaR_ = PFDeltaR;
530  PFDeltaPhi_ = PFDeltaPhi;
531 
532 
533  };
534  ~PathInfo() {};
535  PathInfo(int prescaleUsed,
536  std::string denomPathName,
537  std::string pathName,
538  std::string l1pathName,
540  std::string DenomfilterName,
542  size_t type,
544  prescaleUsed_(prescaleUsed),
545  denomPathName_(denomPathName),
546  pathName_(pathName),
547  l1pathName_(l1pathName),
548  filterName_(filterName),
549  DenomfilterName_(DenomfilterName),
550  processName_(processName),
551  objectType_(type),
552  triggerType_(triggerType){};
553 
562 
571 
580 
587 
594 
604 
612 
613  //ml
616 
632  //ml
633 
641 
642  //ml
649 
659  //adding PF histos SJ
662 
669 
693 
700 
710 
715 
727 
728  const std::string getLabel(void ) const {
729  return filterName_;
730  }
731  const std::string getDenomLabel(void ) const {
732  return DenomfilterName_;
733  }
734 
735  void setLabel(std::string labelName){
736  filterName_ = labelName;
737  return;
738  }
739  void setDenomLabel(std::string labelName){
740  DenomfilterName_ = labelName;
741  return;
742  }
743  const std::string getPath(void ) const {
744  return pathName_;
745  }
746  const std::string getl1Path(void ) const {
747  return l1pathName_;
748  }
749  const std::string getDenomPath(void ) const {
750  return denomPathName_;
751  }
752  const int getprescaleUsed(void) const {
753  return prescaleUsed_;
754  }
755  const std::string getProcess(void ) const {
756  return processName_;
757  }
758  const int getObjectType(void ) const {
759  return objectType_;
760  }
761  const std::string getTriggerType(void ) const {
762  return triggerType_;
763  }
764  const edm::InputTag getTag(void) const{
766  return tagName;
767  }
768  const edm::InputTag getDenomTag(void) const{
770  return tagName;
771  }
773  {
774  return v==pathName_;
775  }
776 
777  private:
787 
812 
825 
835 
843 
844  //ml
847 
854 
864  //ml
865 
873  //ml
880 
890 
893 
894  //adding PF histos SJ:
909 
919 
928 
935 
947 
959  };
960 
961  // simple collection
962  class PathInfoCollection: public std::vector<PathInfo> {
963  public:
964  PathInfoCollection(): std::vector<PathInfo>()
965  {};
966  std::vector<PathInfo>::iterator find(std::string pathName) {
967  return std::find(begin(), end(), pathName);
968  }
969  };
973 
977 
983 };
984 #endif
MonitorElement * getMEhisto_NumeratorEtaPhi_HighpTcut()
type
Definition: HCALResponse.h:21
MonitorElement * getMEhisto_DenominatorPhi_LowpTcut()
MonitorElement * getMEhisto_NumeratorPFPhi_MedpTcut()
const std::string getProcess(void) const
bool operator()(const T &a, const T &b)
Definition: QcdUeDQM.h:49
const std::string getPath(void) const
void setDenomLabel(std::string labelName)
MonitorElement * getMEhisto_DenominatorPFEtaPhi_LowpTcut()
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
MonitorElement * getMEhisto_DenominatorPFPhiBarrel()
edm::EDGetTokenT< reco::VertexCollection > vertexToken
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken
MonitorElement * getMEhisto_DenominatorPFEta_HighpTcut()
MonitorElement * getMEhisto_NumeratorPFEtaBarrel()
MonitorElement * getMEhisto_DenominatorPhiForward()
MonitorElement * getMEhisto_NumeratorPFEta_HighpTcut()
virtual bool isEndCap(double eta)
PathInfo(int prescaleUsed, std::string denomPathName, std::string pathName, std::string l1pathName, std::string filterName, std::string DenomfilterName, std::string processName, size_t type, std::string triggerType)
const std::string getLabel(void) const
JetMETHLTOfflineSource(const edm::ParameterSet &)
MonitorElement * getMEhisto_PhiResolution_HLTRecObj()
Definition: deltaR.h:79
edm::Handle< reco::PFJetCollection > pfjetColl_
MonitorElement * getMEhisto_DenominatorPFPhi_MedpTcut()
MonitorElement * getMEhisto_DenominatorPFPtBarrel()
MonitorElement * getMEhisto_NumeratorPFEta_LowpTcut()
virtual double TriggerPosition(std::string trigName)
MonitorElement * getMEhisto_DenominatorPFEta_LowpTcut()
MonitorElement * getMEhisto_DenominatorEtaPhi_HighpTcut()
std::vector< int > prescUsed_
MonitorElement * getMEhisto_DenominatorPhiBarrel()
MonitorElement * getMEhisto_DenominatorPFPtEndcap()
edm::Handle< edm::TriggerResults > triggerResults_
MonitorElement * getMEhisto_NumeratorPFPhiForward()
reco::PFJetCollection pfjet
MonitorElement * getMEhisto_DenominatorEtaPhi_LowpTcut()
edm::Handle< reco::PFMETCollection > pfmetColl_
PathInfoCollection hltPathsAllTriggerSummary_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
virtual bool validPathHLT(std::string path)
MonitorElement * getMEhisto_NumeratorPFPhiBarrel()
MonitorElement * getMEhisto_NumeratorEta_LowpTcut()
void setHistos(MonitorElement *const N, MonitorElement *const Pt, MonitorElement *const PtBarrel, MonitorElement *const PtEndcap, MonitorElement *const PtForward, MonitorElement *const Eta, MonitorElement *const Phi, MonitorElement *const EtaPhi, MonitorElement *const N_L1, MonitorElement *const Pt_L1, MonitorElement *const PtBarrel_L1, MonitorElement *const PtEndcap_L1, MonitorElement *const PtForward_L1, MonitorElement *const Eta_L1, MonitorElement *const Phi_L1, MonitorElement *const EtaPhi_L1, MonitorElement *const N_HLT, MonitorElement *const Pt_HLT, MonitorElement *const PtBarrel_HLT, MonitorElement *const PtEndcap_HLT, MonitorElement *const PtForward_HLT, MonitorElement *const Eta_HLT, MonitorElement *const Phi_HLT, MonitorElement *const EtaPhi_HLT, MonitorElement *const PtResolution_L1HLT, MonitorElement *const EtaResolution_L1HLT, MonitorElement *const PhiResolution_L1HLT, MonitorElement *const PtResolution_HLTRecObj, MonitorElement *const EtaResolution_HLTRecObj, MonitorElement *const PhiResolution_HLTRecObj, MonitorElement *const PtCorrelation_L1HLT, MonitorElement *const EtaCorrelation_L1HLT, MonitorElement *const PhiCorrelation_L1HLT, MonitorElement *const PtCorrelation_HLTRecObj, MonitorElement *const EtaCorrelation_HLTRecObj, MonitorElement *const PhiCorrelation_HLTRecObj, MonitorElement *const JetAveragePt, MonitorElement *const JetAverageEta, MonitorElement *const JetPhiDifference, MonitorElement *const HLTAveragePt, MonitorElement *const HLTAverageEta, MonitorElement *const HLTPhiDifference, MonitorElement *const L1AveragePt, MonitorElement *const L1AverageEta, MonitorElement *const L1PhiDifference)
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &run, edm::EventSetup const &c) override
MonitorElement * getMEhisto_NumeratorPFEtaForward()
virtual void fillMEforMonAllTrigger(const edm::Event &iEvent, const edm::EventSetup &)
MonitorElement * getMEhisto_NumeratorPhi_LowpTcut()
const std::string getl1Path(void) const
virtual bool isBarrel(double eta)
MonitorElement * getMEhisto_DenominatorPFPhi_LowpTcut()
MonitorElement * getMEhisto_NumeratorPFEtaPhi_LowpTcut()
std::vector< std::string > pathFilter_
int iEvent
Definition: GenABIO.cc:230
const std::string getDenomPath(void) const
MonitorElement * getMEhisto_NumeratorPFEtaEndcap()
const edm::InputTag getTag(void) const
MonitorElement * getMEhisto_NumeratorPhi_MedpTcut()
edm::EDGetTokenT< reco::JetCorrector > CaloJetCorToken_
const std::string getTriggerType(void) const
std::vector< std::string > MBTrigPaths_
MonitorElement * getMEhisto_DenominatorEta_MedpTcut()
std::vector< PathInfo >::iterator find(std::string pathName)
MonitorElement * getMEhisto_DenominatorPFPhi_HighpTcut()
MonitorElement * getMEhisto_NumeratorEta_HighpTcut()
virtual bool isTriggerObjectFound(std::string objectName)
virtual bool isForward(double eta)
MonitorElement * getMEhisto_DenominatorPFEtaBarrel()
MonitorElement * correlation_AllWrtMu
std::vector< std::string > pathRejectKeyword_
MonitorElement * getMEhisto_DenominatorEta_HighpTcut()
MonitorElement * getMEhisto_EtaCorrelation_HLTRecObj()
MonitorElement * getMEhisto_DenominatorPFPtForward()
#define end
Definition: vmac.h:37
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken
reco::CaloJetCollection calojet
std::vector< std::string > MuonTrigPaths_
virtual bool isHLTPathAccepted(std::string pathName)
MonitorElement * getMEhisto_DenominatorEtaEndcap()
MonitorElement * getMEhisto_NumeratorPFEtaPhi_MedpTcut()
edm::Handle< reco::CaloJetCollection > calojetColl_
MonitorElement * getMEhisto_NumeratorPFPhi_HighpTcut()
MonitorElement * getMEhisto_NumeratorPFEta_MedpTcut()
virtual void dqmBeginRun(edm::Run const &run, edm::EventSetup const &c) override
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryFUToken
MonitorElement * getMEhisto_DenominatorPFEtaPhi_HighpTcut()
void setEffHistos(MonitorElement *const NumeratorPt, MonitorElement *const NumeratorPtBarrel, MonitorElement *const NumeratorPtEndcap, MonitorElement *const NumeratorPtForward, MonitorElement *const NumeratorEta, MonitorElement *const NumeratorPhi, MonitorElement *const NumeratorEtaPhi, MonitorElement *const NumeratorEtaBarrel, MonitorElement *const NumeratorPhiBarrel, MonitorElement *const NumeratorEtaEndcap, MonitorElement *const NumeratorPhiEndcap, MonitorElement *const NumeratorEtaForward, MonitorElement *const NumeratorPhiForward, MonitorElement *const NumeratorEta_LowpTcut, MonitorElement *const NumeratorPhi_LowpTcut, MonitorElement *const NumeratorEtaPhi_LowpTcut, MonitorElement *const NumeratorEta_MedpTcut, MonitorElement *const NumeratorPhi_MedpTcut, MonitorElement *const NumeratorEtaPhi_MedpTcut, MonitorElement *const NumeratorEta_HighpTcut, MonitorElement *const NumeratorPhi_HighpTcut, MonitorElement *const NumeratorEtaPhi_HighpTcut, MonitorElement *const DenominatorPt, MonitorElement *const DenominatorPtBarrel, MonitorElement *const DenominatorPtEndcap, MonitorElement *const DenominatorPtForward, MonitorElement *const DenominatorEta, MonitorElement *const DenominatorPhi, MonitorElement *const DenominatorEtaPhi, MonitorElement *const DenominatorEtaBarrel, MonitorElement *const DenominatorPhiBarrel, MonitorElement *const DenominatorEtaEndcap, MonitorElement *const DenominatorPhiEndcap, MonitorElement *const DenominatorEtaForward, MonitorElement *const DenominatorPhiForward, MonitorElement *const DenominatorEta_LowpTcut, MonitorElement *const DenominatorPhi_LowpTcut, MonitorElement *const DenominatorEtaPhi_LowpTcut, MonitorElement *const DenominatorEta_MedpTcut, MonitorElement *const DenominatorPhi_MedpTcut, MonitorElement *const DenominatorEtaPhi_MedpTcut, MonitorElement *const DenominatorEta_HighpTcut, MonitorElement *const DenominatorPhi_HighpTcut, MonitorElement *const DenominatorEtaPhi_HighpTcut, MonitorElement *const DeltaR, MonitorElement *const DeltaPhi, MonitorElement *const NumeratorPFPt, MonitorElement *const NumeratorPFMHT, MonitorElement *const NumeratorPFPtBarrel, MonitorElement *const NumeratorPFPtEndcap, MonitorElement *const NumeratorPFPtForward, MonitorElement *const NumeratorPFEta, MonitorElement *const NumeratorPFPhi, MonitorElement *const NumeratorPFEtaPhi, MonitorElement *const NumeratorPFEtaBarrel, MonitorElement *const NumeratorPFPhiBarrel, MonitorElement *const NumeratorPFEtaEndcap, MonitorElement *const NumeratorPFPhiEndcap, MonitorElement *const NumeratorPFEtaForward, MonitorElement *const NumeratorPFPhiForward, MonitorElement *const NumeratorPFEta_LowpTcut, MonitorElement *const NumeratorPFPhi_LowpTcut, MonitorElement *const NumeratorPFEtaPhi_LowpTcut, MonitorElement *const NumeratorPFEta_MedpTcut, MonitorElement *const NumeratorPFPhi_MedpTcut, MonitorElement *const NumeratorPFEtaPhi_MedpTcut, MonitorElement *const NumeratorPFEta_HighpTcut, MonitorElement *const NumeratorPFPhi_HighpTcut, MonitorElement *const NumeratorPFEtaPhi_HighpTcut, MonitorElement *const DenominatorPFPt, MonitorElement *const DenominatorPFMHT, MonitorElement *const DenominatorPFPtBarrel, MonitorElement *const DenominatorPFPtEndcap, MonitorElement *const DenominatorPFPtForward, MonitorElement *const DenominatorPFEta, MonitorElement *const DenominatorPFPhi, MonitorElement *const DenominatorPFEtaPhi, MonitorElement *const DenominatorPFEtaBarrel, MonitorElement *const DenominatorPFPhiBarrel, MonitorElement *const DenominatorPFEtaEndcap, MonitorElement *const DenominatorPFPhiEndcap, MonitorElement *const DenominatorPFEtaForward, MonitorElement *const DenominatorPFPhiForward, MonitorElement *const DenominatorPFEta_LowpTcut, MonitorElement *const DenominatorPFPhi_LowpTcut, MonitorElement *const DenominatorPFEtaPhi_LowpTcut, MonitorElement *const DenominatorPFEta_MedpTcut, MonitorElement *const DenominatorPFPhi_MedpTcut, MonitorElement *const DenominatorPFEtaPhi_MedpTcut, MonitorElement *const DenominatorPFEta_HighpTcut, MonitorElement *const DenominatorPFPhi_HighpTcut, MonitorElement *const DenominatorPFEtaPhi_HighpTcut, MonitorElement *const PFDeltaR, MonitorElement *const PFDeltaPhi)
virtual void fillMEforMonTriggerSummary(const edm::Event &iEvent, const edm::EventSetup &)
MonitorElement * getMEhisto_DenominatorPhiEndcap()
MonitorElement * getMEhisto_NumeratorPFPhiEndcap()
#define N
Definition: blowfish.cc:9
MonitorElement * getMEhisto_PtCorrelation_HLTRecObj()
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
MonitorElement * getMEhisto_PtResolution_HLTRecObj()
MonitorElement * getMEhisto_DenominatorPtForward()
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken
void setLabel(std::string labelName)
PathInfoCollection hltPathsAll_
MonitorElement * getMEhisto_NumeratorPFPtForward()
const std::string getL1ConditionModuleName(const std::string &pathname)
MonitorElement * getMEhisto_EtaCorrelation_L1HLT()
double b
Definition: hdecay.h:120
edm::Handle< trigger::TriggerEvent > triggerObj_
MonitorElement * correlation_AllWrtMB
const edm::InputTag getDenomTag(void) const
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
MonitorElement * getMEhisto_DenominatorPFEtaForward()
void setDgnsHistos(MonitorElement *const TriggerSummary, MonitorElement *const JetSize, MonitorElement *const JetPt, MonitorElement *const EtavsPt, MonitorElement *const PhivsPt, MonitorElement *const Pt12, MonitorElement *const Eta12, MonitorElement *const Phi12, MonitorElement *const Pt3, MonitorElement *const Pt12Pt3, MonitorElement *const Pt12Phi12)
MonitorElement * getMEhisto_DenominatorEtaBarrel()
const std::string getDenomLabel(void) const
MonitorElement * getMEhisto_NumeratorPFEtaPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorPhi_MedpTcut()
MonitorElement * getMEhisto_NumeratorEtaPhi_MedpTcut()
bool operator==(const std::string v)
std::vector< PFJet > PFJetCollection
collection of PFJet objects
MonitorElement * getMEhisto_DenominatorPFPhiEndcap()
#define begin
Definition: vmac.h:30
double a
Definition: hdecay.h:121
edm::Handle< reco::CaloMETCollection > calometColl_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
MonitorElement * getMEhisto_DenominatorPFEta_MedpTcut()
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
MonitorElement * getMEhisto_DenominatorPFEtaEndcap()
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * getMEhisto_DenominatorPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorPFPhiForward()
virtual void fillMEforEffAllTrigger(const edm::Event &iEvent, const edm::EventSetup &)
MonitorElement * getMEhisto_DenominatorEta_LowpTcut()
MonitorElement * getMEhisto_PhiCorrelation_L1HLT()
MonitorElement * getMEhisto_DenominatorPFEtaPhi_MedpTcut()
MonitorElement * getMEhisto_NumeratorEtaPhi_LowpTcut()
MonitorElement * getMEhisto_EtaResolution_HLTRecObj()
MonitorElement * getMEhisto_NumeratorEta_MedpTcut()
long double T
MonitorElement * getMEhisto_NumeratorPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorEtaPhi_MedpTcut()
reco::helper::JetIDHelper * jetID
MonitorElement * getMEhisto_NumeratorPFPhi_LowpTcut()
MonitorElement * getMEhisto_PhiCorrelation_HLTRecObj()
edm::EDGetTokenT< reco::JetCorrector > PFJetCorToken_
Definition: Run.h:43
MonitorElement * getMEhisto_DenominatorEtaForward()
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PathInfoCollection hltPathsEff_