CMS 3D CMS Logo

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 
24 
29 
31 
33 
39 
45 
48 
50 
51 #include <iostream>
52 #include <fstream>
53 #include <utility>
54 #include <utility>
55 #include <vector>
56 #include <string>
57 #include <sstream>
58 
59 class PtSorter {
60 public:
61  template <class T>
62  bool operator()(const T& a, const T& b) {
63  return (a.pt() > b.pt());
64  }
65 };
66 
68 public:
70  ~JetMETHLTOfflineSource() override;
71 
72 private:
73  void analyze(const edm::Event&, const edm::EventSetup&) override;
74  void bookHistograms(DQMStore::IBooker&, edm::Run const& run, edm::EventSetup const& c) override;
75  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  N_ = N;
247  Pt_ = Pt;
248  PtBarrel_ = PtBarrel;
249  PtEndcap_ = PtEndcap;
250  PtForward_ = PtForward;
251  Eta_ = Eta;
252  Phi_ = Phi;
253  EtaPhi_ = EtaPhi;
254  N_L1_ = N_L1;
255  Pt_L1_ = Pt_L1;
256  PtBarrel_L1_ = PtBarrel_L1;
257  PtEndcap_L1_ = PtEndcap_L1;
258  PtForward_L1_ = PtForward_L1;
259  Eta_L1_ = Eta_L1;
260  Phi_L1_ = Phi_L1;
261  EtaPhi_L1_ = EtaPhi_L1;
262  N_HLT_ = N_HLT;
263  Pt_HLT_ = Pt_HLT;
264  PtBarrel_HLT_ = PtBarrel_HLT;
265  PtEndcap_HLT_ = PtEndcap_HLT;
266  PtForward_HLT_ = PtForward_HLT;
267  Eta_HLT_ = Eta_HLT;
268  Phi_HLT_ = Phi_HLT;
269  EtaPhi_HLT_ = EtaPhi_HLT;
270  //
271  PtResolution_L1HLT_ = PtResolution_L1HLT;
272  EtaResolution_L1HLT_ = EtaResolution_L1HLT;
273  PhiResolution_L1HLT_ = PhiResolution_L1HLT;
274  PtResolution_HLTRecObj_ = PtResolution_HLTRecObj;
275  EtaResolution_HLTRecObj_ = EtaResolution_HLTRecObj;
276  PhiResolution_HLTRecObj_ = PhiResolution_HLTRecObj;
277  //
278  PtCorrelation_L1HLT_ = PtCorrelation_L1HLT;
279  EtaCorrelation_L1HLT_ = EtaCorrelation_L1HLT;
280  PhiCorrelation_L1HLT_ = PhiCorrelation_L1HLT;
281  PtCorrelation_HLTRecObj_ = PtCorrelation_HLTRecObj;
282  EtaCorrelation_HLTRecObj_ = EtaCorrelation_HLTRecObj;
283  PhiCorrelation_HLTRecObj_ = PhiCorrelation_HLTRecObj;
284  //
285  JetAveragePt_ = JetAveragePt;
286  JetAverageEta_ = JetAverageEta;
287  JetPhiDifference_ = JetPhiDifference;
288  HLTAveragePt_ = HLTAveragePt;
289  HLTAverageEta_ = HLTAverageEta;
290  HLTPhiDifference_ = HLTPhiDifference;
291  L1AveragePt_ = L1AveragePt;
292  L1AverageEta_ = L1AverageEta;
293  L1PhiDifference_ = L1PhiDifference;
294  };
295 
297  MonitorElement* const JetSize,
298  MonitorElement* const JetPt,
299  MonitorElement* const EtavsPt,
300  MonitorElement* const PhivsPt,
301  MonitorElement* const Pt12,
302  MonitorElement* const Eta12,
303  MonitorElement* const Phi12,
304  MonitorElement* const Pt3,
305  MonitorElement* const Pt12Pt3,
306  MonitorElement* const Pt12Phi12) {
308  JetSize_ = JetSize;
309  JetPt_ = JetPt;
310  EtavsPt_ = EtavsPt;
311  PhivsPt_ = PhivsPt;
312  Pt12_ = Pt12;
313  Eta12_ = Eta12;
314  Phi12_ = Phi12;
315  Pt3_ = Pt3;
316  Pt12Pt3_ = Pt12Pt3;
317  Pt12Phi12_ = Pt12Phi12;
318  };
319 
320  void setEffHistos(MonitorElement* const NumeratorPt,
321  MonitorElement* const NumeratorPtBarrel,
322  MonitorElement* const NumeratorPtEndcap,
323  MonitorElement* const NumeratorPtForward,
324  MonitorElement* const NumeratorEta,
325  MonitorElement* const NumeratorPhi,
326  MonitorElement* const NumeratorEtaPhi,
327  //
328  MonitorElement* const NumeratorEtaBarrel,
329  MonitorElement* const NumeratorPhiBarrel,
330  MonitorElement* const NumeratorEtaEndcap,
331  MonitorElement* const NumeratorPhiEndcap,
332  MonitorElement* const NumeratorEtaForward,
333  MonitorElement* const NumeratorPhiForward,
334  MonitorElement* const NumeratorEta_LowpTcut,
335  MonitorElement* const NumeratorPhi_LowpTcut,
336  MonitorElement* const NumeratorEtaPhi_LowpTcut,
337  MonitorElement* const NumeratorEta_MedpTcut,
338  MonitorElement* const NumeratorPhi_MedpTcut,
339  MonitorElement* const NumeratorEtaPhi_MedpTcut,
340  MonitorElement* const NumeratorEta_HighpTcut,
341  MonitorElement* const NumeratorPhi_HighpTcut,
342  MonitorElement* const NumeratorEtaPhi_HighpTcut,
343  //
344  MonitorElement* const DenominatorPt,
345  MonitorElement* const DenominatorPtBarrel,
346  MonitorElement* const DenominatorPtEndcap,
347  MonitorElement* const DenominatorPtForward,
348  MonitorElement* const DenominatorEta,
349  MonitorElement* const DenominatorPhi,
350  MonitorElement* const DenominatorEtaPhi,
351  //
352  MonitorElement* const DenominatorEtaBarrel,
353  MonitorElement* const DenominatorPhiBarrel,
354  MonitorElement* const DenominatorEtaEndcap,
355  MonitorElement* const DenominatorPhiEndcap,
356  MonitorElement* const DenominatorEtaForward,
357  MonitorElement* const DenominatorPhiForward,
358  MonitorElement* const DenominatorEta_LowpTcut,
359  MonitorElement* const DenominatorPhi_LowpTcut,
360  MonitorElement* const DenominatorEtaPhi_LowpTcut,
361  MonitorElement* const DenominatorEta_MedpTcut,
362  MonitorElement* const DenominatorPhi_MedpTcut,
363  MonitorElement* const DenominatorEtaPhi_MedpTcut,
364  MonitorElement* const DenominatorEta_HighpTcut,
365  MonitorElement* const DenominatorPhi_HighpTcut,
366  MonitorElement* const DenominatorEtaPhi_HighpTcut,
367  //
368  MonitorElement* const DeltaR,
369  MonitorElement* const DeltaPhi,
370  //
371  MonitorElement* const NumeratorPFPt,
372  MonitorElement* const NumeratorPFMHT,
373  MonitorElement* const NumeratorPFPtBarrel,
374  MonitorElement* const NumeratorPFPtEndcap,
375  MonitorElement* const NumeratorPFPtForward,
376  MonitorElement* const NumeratorPFEta,
377  MonitorElement* const NumeratorPFPhi,
378  MonitorElement* const NumeratorPFEtaPhi,
379  //
380  MonitorElement* const NumeratorPFEtaBarrel,
381  MonitorElement* const NumeratorPFPhiBarrel,
382  MonitorElement* const NumeratorPFEtaEndcap,
383  MonitorElement* const NumeratorPFPhiEndcap,
384  MonitorElement* const NumeratorPFEtaForward,
385  MonitorElement* const NumeratorPFPhiForward,
386  MonitorElement* const NumeratorPFEta_LowpTcut,
387  MonitorElement* const NumeratorPFPhi_LowpTcut,
388  MonitorElement* const NumeratorPFEtaPhi_LowpTcut,
389  MonitorElement* const NumeratorPFEta_MedpTcut,
390  MonitorElement* const NumeratorPFPhi_MedpTcut,
391  MonitorElement* const NumeratorPFEtaPhi_MedpTcut,
392  MonitorElement* const NumeratorPFEta_HighpTcut,
393  MonitorElement* const NumeratorPFPhi_HighpTcut,
394  MonitorElement* const NumeratorPFEtaPhi_HighpTcut,
395  //
396  MonitorElement* const DenominatorPFPt,
397  MonitorElement* const DenominatorPFMHT,
398  MonitorElement* const DenominatorPFPtBarrel,
399  MonitorElement* const DenominatorPFPtEndcap,
400  MonitorElement* const DenominatorPFPtForward,
401  MonitorElement* const DenominatorPFEta,
402  MonitorElement* const DenominatorPFPhi,
403  MonitorElement* const DenominatorPFEtaPhi,
404  //
405  MonitorElement* const DenominatorPFEtaBarrel,
406  MonitorElement* const DenominatorPFPhiBarrel,
407  MonitorElement* const DenominatorPFEtaEndcap,
408  MonitorElement* const DenominatorPFPhiEndcap,
409  MonitorElement* const DenominatorPFEtaForward,
410  MonitorElement* const DenominatorPFPhiForward,
411  MonitorElement* const DenominatorPFEta_LowpTcut,
412  MonitorElement* const DenominatorPFPhi_LowpTcut,
413  MonitorElement* const DenominatorPFEtaPhi_LowpTcut,
414  MonitorElement* const DenominatorPFEta_MedpTcut,
415  MonitorElement* const DenominatorPFPhi_MedpTcut,
416  MonitorElement* const DenominatorPFEtaPhi_MedpTcut,
417  MonitorElement* const DenominatorPFEta_HighpTcut,
418  MonitorElement* const DenominatorPFPhi_HighpTcut,
419  MonitorElement* const DenominatorPFEtaPhi_HighpTcut,
420  //
421  MonitorElement* const PFDeltaR,
422  MonitorElement* const PFDeltaPhi) {
423  NumeratorPt_ = NumeratorPt;
424  NumeratorPtBarrel_ = NumeratorPtBarrel;
425  NumeratorPtEndcap_ = NumeratorPtEndcap;
426  NumeratorPtForward_ = NumeratorPtForward;
427  NumeratorEta_ = NumeratorEta;
428  NumeratorPhi_ = NumeratorPhi;
429  NumeratorEtaPhi_ = NumeratorEtaPhi;
430  //
431  NumeratorEtaBarrel_ = NumeratorEtaBarrel;
432  NumeratorPhiBarrel_ = NumeratorPhiBarrel;
433  NumeratorEtaEndcap_ = NumeratorEtaEndcap;
434  NumeratorPhiEndcap_ = NumeratorPhiEndcap;
435  NumeratorEtaForward_ = NumeratorEtaForward;
436  NumeratorPhiForward_ = NumeratorPhiForward;
437  NumeratorEta_LowpTcut_ = NumeratorEta_LowpTcut;
438  NumeratorPhi_LowpTcut_ = NumeratorPhi_LowpTcut;
439  NumeratorEtaPhi_LowpTcut_ = NumeratorEtaPhi_LowpTcut;
440  NumeratorEta_MedpTcut_ = NumeratorEta_MedpTcut;
441  NumeratorPhi_MedpTcut_ = NumeratorPhi_MedpTcut;
442  NumeratorEtaPhi_MedpTcut_ = NumeratorEtaPhi_MedpTcut;
443  NumeratorEta_HighpTcut_ = NumeratorEta_HighpTcut;
444  NumeratorPhi_HighpTcut_ = NumeratorPhi_HighpTcut;
445  NumeratorEtaPhi_HighpTcut_ = NumeratorEtaPhi_HighpTcut;
446  //
447  DenominatorPt_ = DenominatorPt;
448  DenominatorPtBarrel_ = DenominatorPtBarrel;
449  DenominatorPtEndcap_ = DenominatorPtEndcap;
450  DenominatorPtForward_ = DenominatorPtForward;
451  DenominatorEta_ = DenominatorEta;
452  DenominatorPhi_ = DenominatorPhi;
453  DenominatorEtaPhi_ = DenominatorEtaPhi;
454  //
455  DenominatorEtaBarrel_ = DenominatorEtaBarrel;
456  DenominatorPhiBarrel_ = DenominatorPhiBarrel;
457  DenominatorEtaEndcap_ = DenominatorEtaEndcap;
458  DenominatorPhiEndcap_ = DenominatorPhiEndcap;
459  DenominatorEtaForward_ = DenominatorEtaForward;
460  DenominatorPhiForward_ = DenominatorPhiForward;
461  DenominatorEta_LowpTcut_ = DenominatorEta_LowpTcut;
462  DenominatorPhi_LowpTcut_ = DenominatorPhi_LowpTcut;
463  DenominatorEtaPhi_LowpTcut_ = DenominatorEtaPhi_LowpTcut;
464  DenominatorEta_MedpTcut_ = DenominatorEta_MedpTcut;
465  DenominatorPhi_MedpTcut_ = DenominatorPhi_MedpTcut;
466  DenominatorEtaPhi_MedpTcut_ = DenominatorEtaPhi_MedpTcut;
467  DenominatorEta_HighpTcut_ = DenominatorEta_HighpTcut;
468  DenominatorPhi_HighpTcut_ = DenominatorPhi_HighpTcut;
469  DenominatorEtaPhi_HighpTcut_ = DenominatorEtaPhi_HighpTcut;
470  //
471  DeltaR_ = DeltaR;
473  //
474  NumeratorPFPt_ = NumeratorPFPt;
475  NumeratorPFMHT_ = NumeratorPFMHT;
476  NumeratorPFPtBarrel_ = NumeratorPFPtBarrel;
477  NumeratorPFPtEndcap_ = NumeratorPFPtEndcap;
478  NumeratorPFPtForward_ = NumeratorPFPtForward;
479  NumeratorPFEta_ = NumeratorPFEta;
480  NumeratorPFPhi_ = NumeratorPFPhi;
481  NumeratorPFEtaPhi_ = NumeratorPFEtaPhi;
482  //
483  NumeratorPFEtaBarrel_ = NumeratorPFEtaBarrel;
484  NumeratorPFPhiBarrel_ = NumeratorPFPhiBarrel;
485  NumeratorPFEtaEndcap_ = NumeratorPFEtaEndcap;
486  NumeratorPFPhiEndcap_ = NumeratorPFPhiEndcap;
487  NumeratorPFEtaForward_ = NumeratorPFEtaForward;
488  NumeratorPFPhiForward_ = NumeratorPFPhiForward;
489  NumeratorPFEta_LowpTcut_ = NumeratorPFEta_LowpTcut;
490  NumeratorPFPhi_LowpTcut_ = NumeratorPFPhi_LowpTcut;
491  NumeratorPFEtaPhi_LowpTcut_ = NumeratorPFEtaPhi_LowpTcut;
492  NumeratorPFEta_MedpTcut_ = NumeratorPFEta_MedpTcut;
493  NumeratorPFPhi_MedpTcut_ = NumeratorPFPhi_MedpTcut;
494  NumeratorPFEtaPhi_MedpTcut_ = NumeratorPFEtaPhi_MedpTcut;
495  NumeratorPFEta_HighpTcut_ = NumeratorPFEta_HighpTcut;
496  NumeratorPFPhi_HighpTcut_ = NumeratorPFPhi_HighpTcut;
497  NumeratorPFEtaPhi_HighpTcut_ = NumeratorPFEtaPhi_HighpTcut;
498  //
499  DenominatorPFPt_ = DenominatorPFPt;
500  DenominatorPFMHT_ = DenominatorPFMHT;
501  DenominatorPFPtBarrel_ = DenominatorPFPtBarrel;
502  DenominatorPFPtEndcap_ = DenominatorPFPtEndcap;
503  DenominatorPFPtForward_ = DenominatorPFPtForward;
504  DenominatorPFEta_ = DenominatorPFEta;
505  DenominatorPFPhi_ = DenominatorPFPhi;
506  DenominatorPFEtaPhi_ = DenominatorPFEtaPhi;
507  //
508  DenominatorPFEtaBarrel_ = DenominatorPFEtaBarrel;
509  DenominatorPFPhiBarrel_ = DenominatorPFPhiBarrel;
510  DenominatorPFEtaEndcap_ = DenominatorPFEtaEndcap;
511  DenominatorPFPhiEndcap_ = DenominatorPFPhiEndcap;
512  DenominatorPFEtaForward_ = DenominatorPFEtaForward;
513  DenominatorPFPhiForward_ = DenominatorPFPhiForward;
514  DenominatorPFEta_LowpTcut_ = DenominatorPFEta_LowpTcut;
515  DenominatorPFPhi_LowpTcut_ = DenominatorPFPhi_LowpTcut;
516  DenominatorPFEtaPhi_LowpTcut_ = DenominatorPFEtaPhi_LowpTcut;
517  DenominatorPFEta_MedpTcut_ = DenominatorPFEta_MedpTcut;
518  DenominatorPFPhi_MedpTcut_ = DenominatorPFPhi_MedpTcut;
519  DenominatorPFEtaPhi_MedpTcut_ = DenominatorPFEtaPhi_MedpTcut;
520  DenominatorPFEta_HighpTcut_ = DenominatorPFEta_HighpTcut;
521  DenominatorPFPhi_HighpTcut_ = DenominatorPFPhi_HighpTcut;
522  DenominatorPFEtaPhi_HighpTcut_ = DenominatorPFEtaPhi_HighpTcut;
523  //
524  PFDeltaR_ = PFDeltaR;
525  PFDeltaPhi_ = PFDeltaPhi;
526  };
527  ~PathInfo() = default;
528  ;
529  PathInfo(int prescaleUsed,
530  std::string denomPathName,
532  std::string l1pathName,
534  std::string DenomfilterName,
536  size_t type,
538  : prescaleUsed_(prescaleUsed),
539  denomPathName_(std::move(denomPathName)),
541  l1pathName_(std::move(l1pathName)),
543  DenomfilterName_(std::move(DenomfilterName)),
545  objectType_(type),
547 
556 
565 
574 
581 
588 
598 
606 
607  //ml
610 
626  //ml
627 
635 
636  //ml
643 
653  //adding PF histos SJ
656 
663 
687 
694 
704 
709 
721 
722  const std::string getLabel() const { return filterName_; }
723  const std::string getDenomLabel() const { return DenomfilterName_; }
724 
725  void setLabel(std::string labelName) {
726  filterName_ = std::move(labelName);
727  return;
728  }
729  void setDenomLabel(std::string labelName) {
730  DenomfilterName_ = std::move(labelName);
731  return;
732  }
733  const std::string getPath() const { return pathName_; }
734  const std::string getl1Path() const { return l1pathName_; }
735  const std::string getDenomPath() const { return denomPathName_; }
736  const int getprescaleUsed() const { return prescaleUsed_; }
737  const std::string getProcess() const { return processName_; }
738  const int getObjectType() const { return objectType_; }
739  const std::string getTriggerType() const { return triggerType_; }
740  const edm::InputTag getTag() const {
742  return tagName;
743  }
744  const edm::InputTag getDenomTag() const {
746  return tagName;
747  }
748  bool operator==(const std::string& v) { return v == pathName_; }
749 
750  private:
760 
785 
798 
808 
816 
817  //ml
820 
827 
837  //ml
838 
846  //ml
853 
863 
866 
867  //adding PF histos SJ:
882 
892 
901 
908 
920 
932  };
933 
934  // simple collection
935  class PathInfoCollection : public std::vector<PathInfo> {
936  public:
938  std::vector<PathInfo>::iterator find(const std::string& pathName) { return std::find(begin(), end(), pathName); }
939  };
943 
947 
953 };
954 #endif
MonitorElement * getMEhisto_NumeratorEtaPhi_HighpTcut()
MonitorElement * getMEhisto_DenominatorPhi_LowpTcut()
const std::string getDenomLabel() const
MonitorElement * getMEhisto_NumeratorPFPhi_MedpTcut()
Definition: DeltaR.py:1
bool operator()(const T &a, const T &b)
void setDenomLabel(std::string labelName)
MonitorElement * getMEhisto_DenominatorPFEtaPhi_LowpTcut()
edm::EDGetTokenT< edm::TriggerResults > triggerResultsFUToken
const std::string getTriggerType() const
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)
JetMETHLTOfflineSource(const edm::ParameterSet &)
MonitorElement * getMEhisto_PhiResolution_HLTRecObj()
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:19
virtual bool validPathHLT(std::string path)
MonitorElement * getMEhisto_NumeratorPFPhiBarrel()
const edm::InputTag getDenomTag() const
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
MonitorElement * getMEhisto_NumeratorPFEtaEndcap()
MonitorElement * getMEhisto_NumeratorPhi_MedpTcut()
void analyze(const edm::Event &, const edm::EventSetup &) override
const std::string getDenomPath() const
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_
MonitorElement * getMEhisto_DenominatorEta_HighpTcut()
MonitorElement * getMEhisto_EtaCorrelation_HLTRecObj()
MonitorElement * getMEhisto_DenominatorPFPtForward()
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()
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 std::string getProcess() 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()
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()
const edm::InputTag getTag() const
reco::helper::JetIDHelper * jetID
MonitorElement * getMEhisto_NumeratorPFPhi_LowpTcut()
MonitorElement * getMEhisto_PhiCorrelation_HLTRecObj()
def move(src, dest)
Definition: eostools.py:511
edm::EDGetTokenT< reco::JetCorrector > PFJetCorToken_
Definition: Run.h:45
MonitorElement * getMEhisto_DenominatorEtaForward()
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PathInfoCollection hltPathsEff_