CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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
15 
17 
26 
31 
33 
35 
41 
47 
50 
52 
53 #include <iostream>
54 #include <fstream>
55 #include <utility>
56 #include <utility>
57 #include <vector>
58 #include <string>
59 #include <sstream>
60 
61 class PtSorter {
62 public:
63  template <class T>
64  bool operator()(const T& a, const T& b) {
65  return (a.pt() > b.pt());
66  }
67 };
68 
70 public:
72  ~JetMETHLTOfflineSource() override;
73 
74 private:
75  void analyze(const edm::Event&, const edm::EventSetup&) override;
76  void bookHistograms(DQMStore::IBooker&, edm::Run const& run, edm::EventSetup const& c) override;
77  void dqmBeginRun(edm::Run const& run, edm::EventSetup const& c) override;
78 
79  //helper functions
80  virtual bool isBarrel(double eta);
81  virtual bool isEndCap(double eta);
82  virtual bool isForward(double eta);
83  virtual bool validPathHLT(std::string path);
86  virtual double TriggerPosition(std::string trigName);
87 
88  virtual void fillMEforMonTriggerSummary(const edm::Event& iEvent, const edm::EventSetup&);
89  virtual void fillMEforMonAllTrigger(const edm::Event& iEvent, const edm::EventSetup&);
90  virtual void fillMEforEffAllTrigger(const edm::Event& iEvent, const edm::EventSetup&);
91  virtual void fillMEforTriggerNTfired();
92 
94 
95  // ----------member data ---------------------------
96  std::vector<std::string> MuonTrigPaths_;
97  std::vector<std::string> MBTrigPaths_;
98  std::vector<int> prescUsed_;
99 
102 
103  // JetID helper
105 
106  bool verbose_;
108  bool plotAll_;
109  bool plotEff_;
110 
111  bool isSetup_;
113 
114  double _fEMF;
115  double _feta;
116  double _fHPD;
117  double _n90Hits;
118  double _pfMHT;
119  double _min_NHEF;
120  double _max_NHEF;
121  double _min_CHEF;
122  double _max_CHEF;
123  double _min_NEMF;
124  double _max_NEMF;
125  double _min_CEMF;
126  double _max_CEMF;
127 
139 
144 
147 
148  std::vector<std::string> pathFilter_;
149  std::vector<std::string> pathRejectKeyword_;
150  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
151 
156  edm::TriggerNames triggerNames_; // TriggerNames class
158 
159  double CaloJetPx[2];
160  double CaloJetPy[2];
161  double CaloJetPt[2];
162  double CaloJetEta[2];
163  double CaloJetPhi[2];
164  double CaloJetEMF[2];
165  double CaloJetfHPD[2];
166  double CaloJetn90[2];
167 
168  double PFJetPx[2];
169  double PFJetPy[2];
170  double PFJetPt[2];
171  double PFJetEta[2];
172  double PFJetPhi[2];
173  double PFJetNHEF[2];
174  double PFJetCHEF[2];
175  double PFJetNEMF[2];
176  double PFJetCEMF[2];
177 
178  double pfMHTx_All;
179  double pfMHTy_All;
180 
181  // ----------------- //
182  // helper class to store the data path
183 
184  class PathInfo {
186  : prescaleUsed_(-1),
187  denomPathName_("unset"),
188  pathName_("unset"),
189  l1pathName_("unset"),
190  filterName_("unset"),
191  DenomfilterName_("unset"),
192  processName_("unset"),
193  objectType_(-1),
194  triggerType_("unset"){};
195 
196  public:
198  MonitorElement* const Pt,
199  MonitorElement* const PtBarrel,
200  MonitorElement* const PtEndcap,
201  MonitorElement* const PtForward,
202  MonitorElement* const Eta,
203  MonitorElement* const Phi,
204  MonitorElement* const EtaPhi,
205  //
206  MonitorElement* const N_L1,
207  MonitorElement* const Pt_L1,
208  MonitorElement* const PtBarrel_L1,
209  MonitorElement* const PtEndcap_L1,
210  MonitorElement* const PtForward_L1,
211  MonitorElement* const Eta_L1,
212  MonitorElement* const Phi_L1,
213  MonitorElement* const EtaPhi_L1,
214  MonitorElement* const N_HLT,
215  MonitorElement* const Pt_HLT,
216  MonitorElement* const PtBarrel_HLT,
217  MonitorElement* const PtEndcap_HLT,
218  MonitorElement* const PtForward_HLT,
219  MonitorElement* const Eta_HLT,
220  MonitorElement* const Phi_HLT,
221  MonitorElement* const EtaPhi_HLT,
222  //
223  MonitorElement* const PtResolution_L1HLT,
224  MonitorElement* const EtaResolution_L1HLT,
225  MonitorElement* const PhiResolution_L1HLT,
226  MonitorElement* const PtResolution_HLTRecObj,
227  MonitorElement* const EtaResolution_HLTRecObj,
228  MonitorElement* const PhiResolution_HLTRecObj,
229  //
230  MonitorElement* const PtCorrelation_L1HLT,
231  MonitorElement* const EtaCorrelation_L1HLT,
232  MonitorElement* const PhiCorrelation_L1HLT,
233  MonitorElement* const PtCorrelation_HLTRecObj,
234  MonitorElement* const EtaCorrelation_HLTRecObj,
235  MonitorElement* const PhiCorrelation_HLTRecObj,
236  //
237  MonitorElement* const JetAveragePt,
238  MonitorElement* const JetAverageEta,
239  MonitorElement* const JetPhiDifference,
240  MonitorElement* const HLTAveragePt,
241  MonitorElement* const HLTAverageEta,
242  MonitorElement* const HLTPhiDifference,
243  MonitorElement* const L1AveragePt,
244  MonitorElement* const L1AverageEta,
245  MonitorElement* const L1PhiDifference)
246 
247  {
248  N_ = N;
249  Pt_ = Pt;
250  PtBarrel_ = PtBarrel;
251  PtEndcap_ = PtEndcap;
252  PtForward_ = PtForward;
253  Eta_ = Eta;
254  Phi_ = Phi;
255  EtaPhi_ = EtaPhi;
256  N_L1_ = N_L1;
257  Pt_L1_ = Pt_L1;
258  PtBarrel_L1_ = PtBarrel_L1;
259  PtEndcap_L1_ = PtEndcap_L1;
260  PtForward_L1_ = PtForward_L1;
261  Eta_L1_ = Eta_L1;
262  Phi_L1_ = Phi_L1;
263  EtaPhi_L1_ = EtaPhi_L1;
264  N_HLT_ = N_HLT;
265  Pt_HLT_ = Pt_HLT;
266  PtBarrel_HLT_ = PtBarrel_HLT;
267  PtEndcap_HLT_ = PtEndcap_HLT;
268  PtForward_HLT_ = PtForward_HLT;
269  Eta_HLT_ = Eta_HLT;
270  Phi_HLT_ = Phi_HLT;
271  EtaPhi_HLT_ = EtaPhi_HLT;
272  //
273  PtResolution_L1HLT_ = PtResolution_L1HLT;
274  EtaResolution_L1HLT_ = EtaResolution_L1HLT;
275  PhiResolution_L1HLT_ = PhiResolution_L1HLT;
276  PtResolution_HLTRecObj_ = PtResolution_HLTRecObj;
277  EtaResolution_HLTRecObj_ = EtaResolution_HLTRecObj;
278  PhiResolution_HLTRecObj_ = PhiResolution_HLTRecObj;
279  //
280  PtCorrelation_L1HLT_ = PtCorrelation_L1HLT;
281  EtaCorrelation_L1HLT_ = EtaCorrelation_L1HLT;
282  PhiCorrelation_L1HLT_ = PhiCorrelation_L1HLT;
283  PtCorrelation_HLTRecObj_ = PtCorrelation_HLTRecObj;
284  EtaCorrelation_HLTRecObj_ = EtaCorrelation_HLTRecObj;
285  PhiCorrelation_HLTRecObj_ = PhiCorrelation_HLTRecObj;
286  //
287  JetAveragePt_ = JetAveragePt;
288  JetAverageEta_ = JetAverageEta;
289  JetPhiDifference_ = JetPhiDifference;
290  HLTAveragePt_ = HLTAveragePt;
291  HLTAverageEta_ = HLTAverageEta;
292  HLTPhiDifference_ = HLTPhiDifference;
293  L1AveragePt_ = L1AveragePt;
294  L1AverageEta_ = L1AverageEta;
295  L1PhiDifference_ = L1PhiDifference;
296  };
297 
298  void setDgnsHistos(MonitorElement* const TriggerSummary,
299  MonitorElement* const JetSize,
300  MonitorElement* const JetPt,
301  MonitorElement* const EtavsPt,
302  MonitorElement* const PhivsPt,
303  MonitorElement* const Pt12,
304  MonitorElement* const Eta12,
305  MonitorElement* const Phi12,
306  MonitorElement* const Pt3,
307  MonitorElement* const Pt12Pt3,
308  MonitorElement* const Pt12Phi12) {
309  TriggerSummary_ = TriggerSummary;
310  JetSize_ = JetSize;
311  JetPt_ = JetPt;
312  EtavsPt_ = EtavsPt;
313  PhivsPt_ = PhivsPt;
314  Pt12_ = Pt12;
315  Eta12_ = Eta12;
316  Phi12_ = Phi12;
317  Pt3_ = Pt3;
318  Pt12Pt3_ = Pt12Pt3;
319  Pt12Phi12_ = Pt12Phi12;
320  };
321 
322  void setEffHistos(MonitorElement* const NumeratorPt,
323  MonitorElement* const NumeratorPtBarrel,
324  MonitorElement* const NumeratorPtEndcap,
325  MonitorElement* const NumeratorPtForward,
326  MonitorElement* const NumeratorEta,
327  MonitorElement* const NumeratorPhi,
328  MonitorElement* const NumeratorEtaPhi,
329  //
330  MonitorElement* const NumeratorEtaBarrel,
331  MonitorElement* const NumeratorPhiBarrel,
332  MonitorElement* const NumeratorEtaEndcap,
333  MonitorElement* const NumeratorPhiEndcap,
334  MonitorElement* const NumeratorEtaForward,
335  MonitorElement* const NumeratorPhiForward,
336  MonitorElement* const NumeratorEta_LowpTcut,
337  MonitorElement* const NumeratorPhi_LowpTcut,
338  MonitorElement* const NumeratorEtaPhi_LowpTcut,
339  MonitorElement* const NumeratorEta_MedpTcut,
340  MonitorElement* const NumeratorPhi_MedpTcut,
341  MonitorElement* const NumeratorEtaPhi_MedpTcut,
342  MonitorElement* const NumeratorEta_HighpTcut,
343  MonitorElement* const NumeratorPhi_HighpTcut,
344  MonitorElement* const NumeratorEtaPhi_HighpTcut,
345  //
346  MonitorElement* const DenominatorPt,
347  MonitorElement* const DenominatorPtBarrel,
348  MonitorElement* const DenominatorPtEndcap,
349  MonitorElement* const DenominatorPtForward,
350  MonitorElement* const DenominatorEta,
351  MonitorElement* const DenominatorPhi,
352  MonitorElement* const DenominatorEtaPhi,
353  //
354  MonitorElement* const DenominatorEtaBarrel,
355  MonitorElement* const DenominatorPhiBarrel,
356  MonitorElement* const DenominatorEtaEndcap,
357  MonitorElement* const DenominatorPhiEndcap,
358  MonitorElement* const DenominatorEtaForward,
359  MonitorElement* const DenominatorPhiForward,
360  MonitorElement* const DenominatorEta_LowpTcut,
361  MonitorElement* const DenominatorPhi_LowpTcut,
362  MonitorElement* const DenominatorEtaPhi_LowpTcut,
363  MonitorElement* const DenominatorEta_MedpTcut,
364  MonitorElement* const DenominatorPhi_MedpTcut,
365  MonitorElement* const DenominatorEtaPhi_MedpTcut,
366  MonitorElement* const DenominatorEta_HighpTcut,
367  MonitorElement* const DenominatorPhi_HighpTcut,
368  MonitorElement* const DenominatorEtaPhi_HighpTcut,
369  //
370  MonitorElement* const DeltaR,
371  MonitorElement* const DeltaPhi,
372  //
373  MonitorElement* const NumeratorPFPt,
374  MonitorElement* const NumeratorPFMHT,
375  MonitorElement* const NumeratorPFPtBarrel,
376  MonitorElement* const NumeratorPFPtEndcap,
377  MonitorElement* const NumeratorPFPtForward,
378  MonitorElement* const NumeratorPFEta,
379  MonitorElement* const NumeratorPFPhi,
380  MonitorElement* const NumeratorPFEtaPhi,
381  //
382  MonitorElement* const NumeratorPFEtaBarrel,
383  MonitorElement* const NumeratorPFPhiBarrel,
384  MonitorElement* const NumeratorPFEtaEndcap,
385  MonitorElement* const NumeratorPFPhiEndcap,
386  MonitorElement* const NumeratorPFEtaForward,
387  MonitorElement* const NumeratorPFPhiForward,
388  MonitorElement* const NumeratorPFEta_LowpTcut,
389  MonitorElement* const NumeratorPFPhi_LowpTcut,
390  MonitorElement* const NumeratorPFEtaPhi_LowpTcut,
391  MonitorElement* const NumeratorPFEta_MedpTcut,
392  MonitorElement* const NumeratorPFPhi_MedpTcut,
393  MonitorElement* const NumeratorPFEtaPhi_MedpTcut,
394  MonitorElement* const NumeratorPFEta_HighpTcut,
395  MonitorElement* const NumeratorPFPhi_HighpTcut,
396  MonitorElement* const NumeratorPFEtaPhi_HighpTcut,
397  //
398  MonitorElement* const DenominatorPFPt,
399  MonitorElement* const DenominatorPFMHT,
400  MonitorElement* const DenominatorPFPtBarrel,
401  MonitorElement* const DenominatorPFPtEndcap,
402  MonitorElement* const DenominatorPFPtForward,
403  MonitorElement* const DenominatorPFEta,
404  MonitorElement* const DenominatorPFPhi,
405  MonitorElement* const DenominatorPFEtaPhi,
406  //
407  MonitorElement* const DenominatorPFEtaBarrel,
408  MonitorElement* const DenominatorPFPhiBarrel,
409  MonitorElement* const DenominatorPFEtaEndcap,
410  MonitorElement* const DenominatorPFPhiEndcap,
411  MonitorElement* const DenominatorPFEtaForward,
412  MonitorElement* const DenominatorPFPhiForward,
413  MonitorElement* const DenominatorPFEta_LowpTcut,
414  MonitorElement* const DenominatorPFPhi_LowpTcut,
415  MonitorElement* const DenominatorPFEtaPhi_LowpTcut,
416  MonitorElement* const DenominatorPFEta_MedpTcut,
417  MonitorElement* const DenominatorPFPhi_MedpTcut,
418  MonitorElement* const DenominatorPFEtaPhi_MedpTcut,
419  MonitorElement* const DenominatorPFEta_HighpTcut,
420  MonitorElement* const DenominatorPFPhi_HighpTcut,
421  MonitorElement* const DenominatorPFEtaPhi_HighpTcut,
422  //
423  MonitorElement* const PFDeltaR,
424  MonitorElement* const PFDeltaPhi) {
425  NumeratorPt_ = NumeratorPt;
426  NumeratorPtBarrel_ = NumeratorPtBarrel;
427  NumeratorPtEndcap_ = NumeratorPtEndcap;
428  NumeratorPtForward_ = NumeratorPtForward;
429  NumeratorEta_ = NumeratorEta;
430  NumeratorPhi_ = NumeratorPhi;
431  NumeratorEtaPhi_ = NumeratorEtaPhi;
432  //
433  NumeratorEtaBarrel_ = NumeratorEtaBarrel;
434  NumeratorPhiBarrel_ = NumeratorPhiBarrel;
435  NumeratorEtaEndcap_ = NumeratorEtaEndcap;
436  NumeratorPhiEndcap_ = NumeratorPhiEndcap;
437  NumeratorEtaForward_ = NumeratorEtaForward;
438  NumeratorPhiForward_ = NumeratorPhiForward;
439  NumeratorEta_LowpTcut_ = NumeratorEta_LowpTcut;
440  NumeratorPhi_LowpTcut_ = NumeratorPhi_LowpTcut;
441  NumeratorEtaPhi_LowpTcut_ = NumeratorEtaPhi_LowpTcut;
442  NumeratorEta_MedpTcut_ = NumeratorEta_MedpTcut;
443  NumeratorPhi_MedpTcut_ = NumeratorPhi_MedpTcut;
444  NumeratorEtaPhi_MedpTcut_ = NumeratorEtaPhi_MedpTcut;
445  NumeratorEta_HighpTcut_ = NumeratorEta_HighpTcut;
446  NumeratorPhi_HighpTcut_ = NumeratorPhi_HighpTcut;
447  NumeratorEtaPhi_HighpTcut_ = NumeratorEtaPhi_HighpTcut;
448  //
449  DenominatorPt_ = DenominatorPt;
450  DenominatorPtBarrel_ = DenominatorPtBarrel;
451  DenominatorPtEndcap_ = DenominatorPtEndcap;
452  DenominatorPtForward_ = DenominatorPtForward;
453  DenominatorEta_ = DenominatorEta;
454  DenominatorPhi_ = DenominatorPhi;
455  DenominatorEtaPhi_ = DenominatorEtaPhi;
456  //
457  DenominatorEtaBarrel_ = DenominatorEtaBarrel;
458  DenominatorPhiBarrel_ = DenominatorPhiBarrel;
459  DenominatorEtaEndcap_ = DenominatorEtaEndcap;
460  DenominatorPhiEndcap_ = DenominatorPhiEndcap;
461  DenominatorEtaForward_ = DenominatorEtaForward;
462  DenominatorPhiForward_ = DenominatorPhiForward;
463  DenominatorEta_LowpTcut_ = DenominatorEta_LowpTcut;
464  DenominatorPhi_LowpTcut_ = DenominatorPhi_LowpTcut;
465  DenominatorEtaPhi_LowpTcut_ = DenominatorEtaPhi_LowpTcut;
466  DenominatorEta_MedpTcut_ = DenominatorEta_MedpTcut;
467  DenominatorPhi_MedpTcut_ = DenominatorPhi_MedpTcut;
468  DenominatorEtaPhi_MedpTcut_ = DenominatorEtaPhi_MedpTcut;
469  DenominatorEta_HighpTcut_ = DenominatorEta_HighpTcut;
470  DenominatorPhi_HighpTcut_ = DenominatorPhi_HighpTcut;
471  DenominatorEtaPhi_HighpTcut_ = DenominatorEtaPhi_HighpTcut;
472  //
473  DeltaR_ = DeltaR;
475  //
476  NumeratorPFPt_ = NumeratorPFPt;
477  NumeratorPFMHT_ = NumeratorPFMHT;
478  NumeratorPFPtBarrel_ = NumeratorPFPtBarrel;
479  NumeratorPFPtEndcap_ = NumeratorPFPtEndcap;
480  NumeratorPFPtForward_ = NumeratorPFPtForward;
481  NumeratorPFEta_ = NumeratorPFEta;
482  NumeratorPFPhi_ = NumeratorPFPhi;
483  NumeratorPFEtaPhi_ = NumeratorPFEtaPhi;
484  //
485  NumeratorPFEtaBarrel_ = NumeratorPFEtaBarrel;
486  NumeratorPFPhiBarrel_ = NumeratorPFPhiBarrel;
487  NumeratorPFEtaEndcap_ = NumeratorPFEtaEndcap;
488  NumeratorPFPhiEndcap_ = NumeratorPFPhiEndcap;
489  NumeratorPFEtaForward_ = NumeratorPFEtaForward;
490  NumeratorPFPhiForward_ = NumeratorPFPhiForward;
491  NumeratorPFEta_LowpTcut_ = NumeratorPFEta_LowpTcut;
492  NumeratorPFPhi_LowpTcut_ = NumeratorPFPhi_LowpTcut;
493  NumeratorPFEtaPhi_LowpTcut_ = NumeratorPFEtaPhi_LowpTcut;
494  NumeratorPFEta_MedpTcut_ = NumeratorPFEta_MedpTcut;
495  NumeratorPFPhi_MedpTcut_ = NumeratorPFPhi_MedpTcut;
496  NumeratorPFEtaPhi_MedpTcut_ = NumeratorPFEtaPhi_MedpTcut;
497  NumeratorPFEta_HighpTcut_ = NumeratorPFEta_HighpTcut;
498  NumeratorPFPhi_HighpTcut_ = NumeratorPFPhi_HighpTcut;
499  NumeratorPFEtaPhi_HighpTcut_ = NumeratorPFEtaPhi_HighpTcut;
500  //
501  DenominatorPFPt_ = DenominatorPFPt;
502  DenominatorPFMHT_ = DenominatorPFMHT;
503  DenominatorPFPtBarrel_ = DenominatorPFPtBarrel;
504  DenominatorPFPtEndcap_ = DenominatorPFPtEndcap;
505  DenominatorPFPtForward_ = DenominatorPFPtForward;
506  DenominatorPFEta_ = DenominatorPFEta;
507  DenominatorPFPhi_ = DenominatorPFPhi;
508  DenominatorPFEtaPhi_ = DenominatorPFEtaPhi;
509  //
510  DenominatorPFEtaBarrel_ = DenominatorPFEtaBarrel;
511  DenominatorPFPhiBarrel_ = DenominatorPFPhiBarrel;
512  DenominatorPFEtaEndcap_ = DenominatorPFEtaEndcap;
513  DenominatorPFPhiEndcap_ = DenominatorPFPhiEndcap;
514  DenominatorPFEtaForward_ = DenominatorPFEtaForward;
515  DenominatorPFPhiForward_ = DenominatorPFPhiForward;
516  DenominatorPFEta_LowpTcut_ = DenominatorPFEta_LowpTcut;
517  DenominatorPFPhi_LowpTcut_ = DenominatorPFPhi_LowpTcut;
518  DenominatorPFEtaPhi_LowpTcut_ = DenominatorPFEtaPhi_LowpTcut;
519  DenominatorPFEta_MedpTcut_ = DenominatorPFEta_MedpTcut;
520  DenominatorPFPhi_MedpTcut_ = DenominatorPFPhi_MedpTcut;
521  DenominatorPFEtaPhi_MedpTcut_ = DenominatorPFEtaPhi_MedpTcut;
522  DenominatorPFEta_HighpTcut_ = DenominatorPFEta_HighpTcut;
523  DenominatorPFPhi_HighpTcut_ = DenominatorPFPhi_HighpTcut;
524  DenominatorPFEtaPhi_HighpTcut_ = DenominatorPFEtaPhi_HighpTcut;
525  //
526  PFDeltaR_ = PFDeltaR;
527  PFDeltaPhi_ = PFDeltaPhi;
528  };
529  ~PathInfo() = default;
530  ;
531  PathInfo(int prescaleUsed,
532  std::string denomPathName,
533  std::string pathName,
534  std::string l1pathName,
536  std::string DenomfilterName,
538  size_t type,
540  : prescaleUsed_(prescaleUsed),
541  denomPathName_(std::move(denomPathName)),
542  pathName_(std::move(pathName)),
543  l1pathName_(std::move(l1pathName)),
544  filterName_(std::move(filterName)),
545  DenomfilterName_(std::move(DenomfilterName)),
546  processName_(std::move(processName)),
547  objectType_(type),
548  triggerType_(std::move(triggerType)) {}
549 
558 
567 
576 
583 
590 
600 
608 
609  //ml
612 
628  //ml
629 
637 
638  //ml
645 
655  //adding PF histos SJ
658 
665 
689 
696 
706 
711 
723 
724  const std::string getLabel() const { return filterName_; }
725  const std::string getDenomLabel() const { return DenomfilterName_; }
726 
727  void setLabel(std::string labelName) {
728  filterName_ = std::move(labelName);
729  return;
730  }
731  void setDenomLabel(std::string labelName) {
732  DenomfilterName_ = std::move(labelName);
733  return;
734  }
735  const std::string getPath() const { return pathName_; }
736  const std::string getl1Path() const { return l1pathName_; }
737  const std::string getDenomPath() const { return denomPathName_; }
738  const int getprescaleUsed() const { return prescaleUsed_; }
739  const std::string getProcess() const { return processName_; }
740  const int getObjectType() const { return objectType_; }
741  const std::string getTriggerType() const { return triggerType_; }
742  const edm::InputTag getTag() const {
743  edm::InputTag tagName(filterName_, "", processName_);
744  return tagName;
745  }
746  const edm::InputTag getDenomTag() const {
748  return tagName;
749  }
750  bool operator==(const std::string& v) { return v == pathName_; }
751 
752  private:
762 
787 
800 
810 
818 
819  //ml
822 
829 
839  //ml
840 
848  //ml
855 
865 
868 
869  //adding PF histos SJ:
884 
894 
903 
910 
922 
934  };
935 
936  // simple collection
937  class PathInfoCollection : public std::vector<PathInfo> {
938  public:
940  std::vector<PathInfo>::iterator find(const std::string& pathName) { return std::find(begin(), end(), pathName); }
941  };
945 
949 
955 };
956 #endif
MonitorElement * getMEhisto_NumeratorEtaPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorPhi_LowpTcut()
MonitorElement * getMEhisto_NumeratorPFPhi_MedpTcut()
bool operator()(const T &a, const T &b)
void setDenomLabel(std::string labelName)
MonitorElement * getMEhisto_DenominatorPFEtaPhi_LowpTcut()
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
MonitorElement * getMEhisto_DenominatorPFPhiBarrel()
edm::EDGetTokenT< reco::VertexCollection > vertexToken
const edm::EventSetup & c
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)
JetMETHLTOfflineSource(const edm::ParameterSet &)
MonitorElement * getMEhisto_PhiResolution_HLTRecObj()
Definition: deltaR.h:58
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
const std::string getPath() const
const std::string getProcess() const
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:19
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)
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()
virtual bool isBarrel(double eta)
MonitorElement * getMEhisto_DenominatorPFPhi_LowpTcut()
MonitorElement * getMEhisto_NumeratorPFEtaPhi_LowpTcut()
std::vector< std::string > pathFilter_
int iEvent
Definition: GenABIO.cc:224
const std::string getDenomLabel() const
MonitorElement * getMEhisto_NumeratorPFEtaEndcap()
MonitorElement * getMEhisto_NumeratorPhi_MedpTcut()
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::JetCorrector > CaloJetCorToken_
std::vector< std::string > MBTrigPaths_
MonitorElement * getMEhisto_DenominatorEta_MedpTcut()
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_
def move
Definition: eostools.py:511
MonitorElement * getMEhisto_DenominatorEta_HighpTcut()
const std::string getl1Path() const
MonitorElement * getMEhisto_EtaCorrelation_HLTRecObj()
MonitorElement * getMEhisto_DenominatorPFPtForward()
const std::string getLabel() const
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()
const std::string getDenomPath() const
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:118
edm::Handle< trigger::TriggerEvent > triggerObj_
MonitorElement * correlation_AllWrtMB
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
MonitorElement * getMEhisto_DenominatorPFEtaForward()
std::vector< PathInfo >::iterator find(const std::string &pathName)
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()
MonitorElement * getMEhisto_NumeratorPFEtaPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorPhi_MedpTcut()
MonitorElement * getMEhisto_NumeratorEtaPhi_MedpTcut()
std::vector< PFJet > PFJetCollection
collection of PFJet objects
MonitorElement * getMEhisto_DenominatorPFPhiEndcap()
const edm::InputTag getTag() const
bool operator==(const std::string &v)
double a
Definition: hdecay.h:119
edm::Handle< reco::CaloMETCollection > calometColl_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
MonitorElement * getMEhisto_DenominatorPFEta_MedpTcut()
string end
Definition: dataset.py:937
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
MonitorElement * getMEhisto_DenominatorPFEtaEndcap()
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_
const edm::InputTag getDenomTag() const
Definition: Run.h:45
MonitorElement * getMEhisto_DenominatorEtaForward()
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PathInfoCollection hltPathsEff_
const std::string getTriggerType() const