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  Responsible: Sunil Bansal, Shabnam Jabeen, Michael Luk, Phat Srimanobhas
4  Contact: Phat Srimanobhas (srimanob@mail.cern.ch)
5  Last modified: 31 July 2012
6 */
7 
8 #ifndef JetMETHLTOfflineSource_H
9 #define JetMETHLTOfflineSource_H
10 
11 // system include files
12 #include <memory>
13 #include <unistd.h>
14 
15 // user include files
18 
27 
32 
34 
36 
42 
48 
51 
52 #include <iostream>
53 #include <fstream>
54 #include <vector>
55 #include <string>
56 #include <sstream>
57 
58 class PtSorter {
59  public:
60  template <class T> bool operator() ( const T& a, const T& b ) {
61  return ( a.pt() > b.pt() );
62  }
63  };
64 
66  public:
69 
70  private:
71  virtual void beginJob() ;
72  virtual void analyze(const edm::Event&, const edm::EventSetup&);
73  virtual void endJob() ;
74  void beginRun(const edm::Run& run, const edm::EventSetup& c);
75  void histobooking( const edm::EventSetup& c);
76  void endRun(const edm::Run& run, const edm::EventSetup& c);
77  void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
78  const edm::EventSetup& c);
80  void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,
81  const edm::EventSetup& c);
82 
83  virtual bool isBarrel(double eta);
84  virtual bool isEndCap(double eta);
85  virtual bool isForward(double eta);
86  virtual bool validPathHLT(std::string path);
89  virtual double TriggerPosition(std::string trigName);
90  virtual void fillMEforMonTriggerSummary(const edm::Event & iEvent, const edm::EventSetup&);
91  virtual void fillMEforMonAllTrigger(const edm::Event & iEvent, const edm::EventSetup&);
92  virtual void fillMEforMonAllTriggerwrtMuonTrigger(const edm::Event & iEvent, const edm::EventSetup&);
93  virtual void fillMEforEffAllTrigger(const edm::Event & iEvent, const edm::EventSetup&);
94  virtual void fillMEforEffWrtMuTrigger(const edm::Event & iEvent, const edm::EventSetup&);
95  virtual void fillMEforEffWrtMBTrigger(const edm::Event & iEvent, const edm::EventSetup&);
96  virtual void fillMEforTriggerNTfired();
97 
99 
100  // ----------member data ---------------------------
101  int nev_;
103 
105 
106  std::vector<std::string> MuonTrigPaths_;
107  std::vector<std::string> MBTrigPaths_;
108  std::vector<int> prescUsed_;
109 
112  // JetID helper
114 
115  bool verbose_;
117  bool plotAll_;
119  bool plotEff_ ;
122 
123  bool isSetup_;
124  bool nameForEff_;
125 
126  double _fEMF;
127  double _feta;
128  double _fHPD;
129  double _n90Hits;
130  double _pfMHT;
131  double _min_NHEF;
132  double _max_NHEF;
133  double _min_CHEF;
134  double _max_CHEF;
135  double _min_NEMF;
136  double _max_NEMF;
137  double _min_CEMF;
138  double _max_CEMF;
139 
151 
156 
159 
160  std::vector<std::string> pathFilter_;
161  std::vector<std::string> pathRejectKeyword_;
162  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
163 
168  edm::TriggerNames triggerNames_; // TriggerNames class
170 
171  double CaloJetPx[2];
172  double CaloJetPy[2];
173  double CaloJetPt[2];
174  double CaloJetEta[2];
175  double CaloJetPhi[2];
176  double CaloJetEMF[2];
177  double CaloJetfHPD[2];
178  double CaloJetn90[2];
179 
180  double PFJetPx[2];
181  double PFJetPy[2];
182  double PFJetPt[2];
183  double PFJetEta[2];
184  double PFJetPhi[2];
185  double PFJetNHEF[2];
186  double PFJetCHEF[2];
187  double PFJetNEMF[2];
188  double PFJetCEMF[2];
189 
190  double pfMHTx_All;
191  double pfMHTy_All;
192 
193 
194  // data across paths
196  // helper class to store the data path
197 
198  class PathInfo {
200  pathIndex_(-1),
201  prescaleUsed_(-1),
202  denomPathName_("unset"),
203  pathName_("unset"),
204  l1pathName_("unset"),
205  filterName_("unset"),
206  DenomfilterName_("unset"),
207  processName_("unset"),
208  objectType_(-1),
209  triggerType_("unset")
210  {};
211  public:
212  void setHistos(MonitorElement* const N,
213  MonitorElement* const Pt,
214  MonitorElement* const PtBarrel,
215  MonitorElement* const PtEndcap,
216  MonitorElement* const PtForward,
217  MonitorElement* const Eta,
218  MonitorElement* const Phi,
219  MonitorElement* const EtaPhi,
220  //
221  MonitorElement* const N_L1,
222  MonitorElement* const Pt_L1,
223  MonitorElement* const PtBarrel_L1,
224  MonitorElement* const PtEndcap_L1,
225  MonitorElement* const PtForward_L1,
226  MonitorElement* const Eta_L1,
227  MonitorElement* const Phi_L1,
228  MonitorElement* const EtaPhi_L1,
229  MonitorElement* const N_HLT,
230  MonitorElement* const Pt_HLT,
231  MonitorElement* const PtBarrel_HLT,
232  MonitorElement* const PtEndcap_HLT,
233  MonitorElement* const PtForward_HLT,
234  MonitorElement* const Eta_HLT,
235  MonitorElement* const Phi_HLT,
236  MonitorElement* const EtaPhi_HLT,
237  //
238  MonitorElement* const PtResolution_L1HLT,
239  MonitorElement* const EtaResolution_L1HLT,
240  MonitorElement* const PhiResolution_L1HLT,
241  MonitorElement* const PtResolution_HLTRecObj,
242  MonitorElement* const EtaResolution_HLTRecObj,
243  MonitorElement* const PhiResolution_HLTRecObj,
244  //
245  MonitorElement* const PtCorrelation_L1HLT,
246  MonitorElement* const EtaCorrelation_L1HLT,
247  MonitorElement* const PhiCorrelation_L1HLT,
248  MonitorElement* const PtCorrelation_HLTRecObj,
249  MonitorElement* const EtaCorrelation_HLTRecObj,
250  MonitorElement* const PhiCorrelation_HLTRecObj,
251  //
252  MonitorElement* const JetAveragePt,
253  MonitorElement* const JetAverageEta,
254  MonitorElement* const JetPhiDifference,
255  MonitorElement* const HLTAveragePt,
256  MonitorElement* const HLTAverageEta,
257  MonitorElement* const HLTPhiDifference,
258  MonitorElement* const L1AveragePt,
259  MonitorElement* const L1AverageEta,
260  MonitorElement* const L1PhiDifference
261  //
262  //MonitorElement* const PVZ,
263  //MonitorElement* const NVertices
264  )
265 
266  {
267  N_ = N;
268  Pt_ = Pt;
269  PtBarrel_ = PtBarrel;
270  PtEndcap_ = PtEndcap;
271  PtForward_ = PtForward;
272  Eta_ = Eta;
273  Phi_ = Phi;
274  EtaPhi_ = EtaPhi;
275  N_L1_ = N_L1;
276  Pt_L1_ = Pt_L1;
277  PtBarrel_L1_ = PtBarrel_L1;
278  PtEndcap_L1_ = PtEndcap_L1;
279  PtForward_L1_ = PtForward_L1;
280  Eta_L1_ = Eta_L1;
281  Phi_L1_ = Phi_L1;
282  EtaPhi_L1_ = EtaPhi_L1 ;
283  N_HLT_ = N_HLT;
284  Pt_HLT_ = Pt_HLT;
285  PtBarrel_HLT_ = PtBarrel_HLT;
286  PtEndcap_HLT_ = PtEndcap_HLT;
287  PtForward_HLT_ = PtForward_HLT;
288  Eta_HLT_ = Eta_HLT;
289  Phi_HLT_ = Phi_HLT;
290  EtaPhi_HLT_ = EtaPhi_HLT ;
291  //
292  PtResolution_L1HLT_ = PtResolution_L1HLT;
293  EtaResolution_L1HLT_ = EtaResolution_L1HLT;
294  PhiResolution_L1HLT_ = PhiResolution_L1HLT;
295  PtResolution_HLTRecObj_ = PtResolution_HLTRecObj;
296  EtaResolution_HLTRecObj_ = EtaResolution_HLTRecObj;
297  PhiResolution_HLTRecObj_ = PhiResolution_HLTRecObj;
298  //
299  PtCorrelation_L1HLT_ = PtCorrelation_L1HLT;
300  EtaCorrelation_L1HLT_ = EtaCorrelation_L1HLT;
301  PhiCorrelation_L1HLT_ = PhiCorrelation_L1HLT;
302  PtCorrelation_HLTRecObj_ = PtCorrelation_HLTRecObj;
303  EtaCorrelation_HLTRecObj_ = EtaCorrelation_HLTRecObj;
304  PhiCorrelation_HLTRecObj_ = PhiCorrelation_HLTRecObj;
305  //
306  JetAveragePt_ = JetAveragePt;
307  JetAverageEta_ = JetAverageEta;
308  JetPhiDifference_ = JetPhiDifference;
309  HLTAveragePt_ = HLTAveragePt;
310  HLTAverageEta_ = HLTAverageEta;
311  HLTPhiDifference_ = HLTPhiDifference;
312  L1AveragePt_ = L1AveragePt;
313  L1AverageEta_ = L1AverageEta;
314  L1PhiDifference_ = L1PhiDifference;
315  };
316 
317  void setDgnsHistos(MonitorElement* const TriggerSummary,
318  MonitorElement* const JetSize,
319  MonitorElement* const JetPt,
320  MonitorElement* const EtavsPt,
321  MonitorElement* const PhivsPt,
322  MonitorElement* const Pt12,
323  MonitorElement* const Eta12,
324  MonitorElement* const Phi12,
325  MonitorElement* const Pt3,
326  MonitorElement* const Pt12Pt3,
327  MonitorElement* const Pt12Phi12
328  )
329  {
330  TriggerSummary_ = TriggerSummary;
331  JetSize_ = JetSize;
332  JetPt_ = JetPt;
333  EtavsPt_ = EtavsPt;
334  PhivsPt_ = PhivsPt;
335  Pt12_ = Pt12;
336  Eta12_ = Eta12;
337  Phi12_ = Phi12;
338  Pt3_ = Pt3;
339  Pt12Pt3_ = Pt12Pt3;
340  Pt12Phi12_ = Pt12Phi12;
341  };
342 
343  void setEffHistos(MonitorElement* const NumeratorPt,
344  MonitorElement* const NumeratorPtBarrel,
345  MonitorElement* const NumeratorPtEndcap,
346  MonitorElement* const NumeratorPtForward,
347  MonitorElement* const NumeratorEta,
348  MonitorElement* const NumeratorPhi,
349  MonitorElement* const NumeratorEtaPhi,
350  //
351  MonitorElement* const NumeratorEtaBarrel,
352  MonitorElement* const NumeratorPhiBarrel,
353  MonitorElement* const NumeratorEtaEndcap,
354  MonitorElement* const NumeratorPhiEndcap,
355  MonitorElement* const NumeratorEtaForward,
356  MonitorElement* const NumeratorPhiForward,
357  MonitorElement* const NumeratorEta_LowpTcut,
358  MonitorElement* const NumeratorPhi_LowpTcut,
359  MonitorElement* const NumeratorEtaPhi_LowpTcut,
360  MonitorElement* const NumeratorEta_MedpTcut,
361  MonitorElement* const NumeratorPhi_MedpTcut,
362  MonitorElement* const NumeratorEtaPhi_MedpTcut,
363  MonitorElement* const NumeratorEta_HighpTcut,
364  MonitorElement* const NumeratorPhi_HighpTcut,
365  MonitorElement* const NumeratorEtaPhi_HighpTcut,
366  //
367  MonitorElement* const DenominatorPt,
368  MonitorElement* const DenominatorPtBarrel,
369  MonitorElement* const DenominatorPtEndcap,
370  MonitorElement* const DenominatorPtForward,
371  MonitorElement* const DenominatorEta,
372  MonitorElement* const DenominatorPhi,
373  MonitorElement* const DenominatorEtaPhi,
374  //
375  MonitorElement* const DenominatorEtaBarrel,
376  MonitorElement* const DenominatorPhiBarrel,
377  MonitorElement* const DenominatorEtaEndcap,
378  MonitorElement* const DenominatorPhiEndcap,
379  MonitorElement* const DenominatorEtaForward,
380  MonitorElement* const DenominatorPhiForward,
381  MonitorElement* const DenominatorEta_LowpTcut,
382  MonitorElement* const DenominatorPhi_LowpTcut,
383  MonitorElement* const DenominatorEtaPhi_LowpTcut,
384  MonitorElement* const DenominatorEta_MedpTcut,
385  MonitorElement* const DenominatorPhi_MedpTcut,
386  MonitorElement* const DenominatorEtaPhi_MedpTcut,
387  MonitorElement* const DenominatorEta_HighpTcut,
388  MonitorElement* const DenominatorPhi_HighpTcut,
389  MonitorElement* const DenominatorEtaPhi_HighpTcut,
390  //
391  MonitorElement* const DeltaR,
392  MonitorElement* const DeltaPhi,
393  //
394  MonitorElement* const NumeratorPFPt,
395  MonitorElement* const NumeratorPFMHT,
396  MonitorElement* const NumeratorPFPtBarrel,
397  MonitorElement* const NumeratorPFPtEndcap,
398  MonitorElement* const NumeratorPFPtForward,
399  MonitorElement* const NumeratorPFEta,
400  MonitorElement* const NumeratorPFPhi,
401  MonitorElement* const NumeratorPFEtaPhi,
402  //
403  MonitorElement* const NumeratorPFEtaBarrel,
404  MonitorElement* const NumeratorPFPhiBarrel,
405  MonitorElement* const NumeratorPFEtaEndcap,
406  MonitorElement* const NumeratorPFPhiEndcap,
407  MonitorElement* const NumeratorPFEtaForward,
408  MonitorElement* const NumeratorPFPhiForward,
409  MonitorElement* const NumeratorPFEta_LowpTcut,
410  MonitorElement* const NumeratorPFPhi_LowpTcut,
411  MonitorElement* const NumeratorPFEtaPhi_LowpTcut,
412  MonitorElement* const NumeratorPFEta_MedpTcut,
413  MonitorElement* const NumeratorPFPhi_MedpTcut,
414  MonitorElement* const NumeratorPFEtaPhi_MedpTcut,
415  MonitorElement* const NumeratorPFEta_HighpTcut,
416  MonitorElement* const NumeratorPFPhi_HighpTcut,
417  MonitorElement* const NumeratorPFEtaPhi_HighpTcut,
418  //
419  MonitorElement* const DenominatorPFPt,
420  MonitorElement* const DenominatorPFMHT,
421  MonitorElement* const DenominatorPFPtBarrel,
422  MonitorElement* const DenominatorPFPtEndcap,
423  MonitorElement* const DenominatorPFPtForward,
424  MonitorElement* const DenominatorPFEta,
425  MonitorElement* const DenominatorPFPhi,
426  MonitorElement* const DenominatorPFEtaPhi,
427  //
428  MonitorElement* const DenominatorPFEtaBarrel,
429  MonitorElement* const DenominatorPFPhiBarrel,
430  MonitorElement* const DenominatorPFEtaEndcap,
431  MonitorElement* const DenominatorPFPhiEndcap,
432  MonitorElement* const DenominatorPFEtaForward,
433  MonitorElement* const DenominatorPFPhiForward,
434  MonitorElement* const DenominatorPFEta_LowpTcut,
435  MonitorElement* const DenominatorPFPhi_LowpTcut,
436  MonitorElement* const DenominatorPFEtaPhi_LowpTcut,
437  MonitorElement* const DenominatorPFEta_MedpTcut,
438  MonitorElement* const DenominatorPFPhi_MedpTcut,
439  MonitorElement* const DenominatorPFEtaPhi_MedpTcut,
440  MonitorElement* const DenominatorPFEta_HighpTcut,
441  MonitorElement* const DenominatorPFPhi_HighpTcut,
442  MonitorElement* const DenominatorPFEtaPhi_HighpTcut,
443  //
444  MonitorElement* const PFDeltaR,
445  MonitorElement* const PFDeltaPhi
446  )
447  {
448  NumeratorPt_ = NumeratorPt;
449  NumeratorPtBarrel_ = NumeratorPtBarrel;
450  NumeratorPtEndcap_ = NumeratorPtEndcap;
451  NumeratorPtForward_ = NumeratorPtForward;
452  NumeratorEta_ = NumeratorEta;
453  NumeratorPhi_ = NumeratorPhi;
454  NumeratorEtaPhi_ = NumeratorEtaPhi;
455  //
456  NumeratorEtaBarrel_ = NumeratorEtaBarrel;
457  NumeratorPhiBarrel_ = NumeratorPhiBarrel;
458  NumeratorEtaEndcap_ = NumeratorEtaEndcap;
459  NumeratorPhiEndcap_ = NumeratorPhiEndcap;
460  NumeratorEtaForward_ = NumeratorEtaForward;
461  NumeratorPhiForward_ = NumeratorPhiForward;
462  NumeratorEta_LowpTcut_ = NumeratorEta_LowpTcut;
463  NumeratorPhi_LowpTcut_ = NumeratorPhi_LowpTcut;
464  NumeratorEtaPhi_LowpTcut_ = NumeratorEtaPhi_LowpTcut;
465  NumeratorEta_MedpTcut_ = NumeratorEta_MedpTcut;
466  NumeratorPhi_MedpTcut_ = NumeratorPhi_MedpTcut;
467  NumeratorEtaPhi_MedpTcut_ = NumeratorEtaPhi_MedpTcut;
468  NumeratorEta_HighpTcut_ = NumeratorEta_HighpTcut;
469  NumeratorPhi_HighpTcut_ = NumeratorPhi_HighpTcut;
470  NumeratorEtaPhi_HighpTcut_ = NumeratorEtaPhi_HighpTcut;
471  //
472  DenominatorPt_ = DenominatorPt;
473  DenominatorPtBarrel_ = DenominatorPtBarrel;
474  DenominatorPtEndcap_ = DenominatorPtEndcap;
475  DenominatorPtForward_ = DenominatorPtForward;
476  DenominatorEta_ = DenominatorEta;
477  DenominatorPhi_ = DenominatorPhi;
478  DenominatorEtaPhi_ = DenominatorEtaPhi;
479  //
480  DenominatorEtaBarrel_ = DenominatorEtaBarrel;
481  DenominatorPhiBarrel_ = DenominatorPhiBarrel;
482  DenominatorEtaEndcap_ = DenominatorEtaEndcap;
483  DenominatorPhiEndcap_ = DenominatorPhiEndcap;
484  DenominatorEtaForward_ = DenominatorEtaForward;
485  DenominatorPhiForward_ = DenominatorPhiForward;
486  DenominatorEta_LowpTcut_ = DenominatorEta_LowpTcut;
487  DenominatorPhi_LowpTcut_ = DenominatorPhi_LowpTcut;
488  DenominatorEtaPhi_LowpTcut_ = DenominatorEtaPhi_LowpTcut;
489  DenominatorEta_MedpTcut_ = DenominatorEta_MedpTcut;
490  DenominatorPhi_MedpTcut_ = DenominatorPhi_MedpTcut;
491  DenominatorEtaPhi_MedpTcut_ = DenominatorEtaPhi_MedpTcut;
492  DenominatorEta_HighpTcut_ = DenominatorEta_HighpTcut;
493  DenominatorPhi_HighpTcut_ = DenominatorPhi_HighpTcut;
494  DenominatorEtaPhi_HighpTcut_ = DenominatorEtaPhi_HighpTcut;
495  //
496  DeltaR_ = DeltaR;
497  DeltaPhi_ = DeltaPhi;
498  //
499  NumeratorPFPt_ = NumeratorPFPt;
500  NumeratorPFMHT_ = NumeratorPFMHT;
501  NumeratorPFPtBarrel_ = NumeratorPFPtBarrel;
502  NumeratorPFPtEndcap_ = NumeratorPFPtEndcap;
503  NumeratorPFPtForward_ = NumeratorPFPtForward;
504  NumeratorPFEta_ = NumeratorPFEta;
505  NumeratorPFPhi_ = NumeratorPFPhi;
506  NumeratorPFEtaPhi_ = NumeratorPFEtaPhi;
507  //
508  NumeratorPFEtaBarrel_ = NumeratorPFEtaBarrel;
509  NumeratorPFPhiBarrel_ = NumeratorPFPhiBarrel;
510  NumeratorPFEtaEndcap_ = NumeratorPFEtaEndcap;
511  NumeratorPFPhiEndcap_ = NumeratorPFPhiEndcap;
512  NumeratorPFEtaForward_ = NumeratorPFEtaForward;
513  NumeratorPFPhiForward_ = NumeratorPFPhiForward;
514  NumeratorPFEta_LowpTcut_ = NumeratorPFEta_LowpTcut;
515  NumeratorPFPhi_LowpTcut_ = NumeratorPFPhi_LowpTcut;
516  NumeratorPFEtaPhi_LowpTcut_ = NumeratorPFEtaPhi_LowpTcut;
517  NumeratorPFEta_MedpTcut_ = NumeratorPFEta_MedpTcut;
518  NumeratorPFPhi_MedpTcut_ = NumeratorPFPhi_MedpTcut;
519  NumeratorPFEtaPhi_MedpTcut_ = NumeratorPFEtaPhi_MedpTcut;
520  NumeratorPFEta_HighpTcut_ = NumeratorPFEta_HighpTcut;
521  NumeratorPFPhi_HighpTcut_ = NumeratorPFPhi_HighpTcut;
522  NumeratorPFEtaPhi_HighpTcut_ = NumeratorPFEtaPhi_HighpTcut;
523  //
524  DenominatorPFPt_ = DenominatorPFPt;
525  DenominatorPFMHT_ = DenominatorPFMHT;
526  DenominatorPFPtBarrel_ = DenominatorPFPtBarrel;
527  DenominatorPFPtEndcap_ = DenominatorPFPtEndcap;
528  DenominatorPFPtForward_ = DenominatorPFPtForward;
529  DenominatorPFEta_ = DenominatorPFEta;
530  DenominatorPFPhi_ = DenominatorPFPhi;
531  DenominatorPFEtaPhi_ = DenominatorPFEtaPhi;
532  //
533  DenominatorPFEtaBarrel_ = DenominatorPFEtaBarrel;
534  DenominatorPFPhiBarrel_ = DenominatorPFPhiBarrel;
535  DenominatorPFEtaEndcap_ = DenominatorPFEtaEndcap;
536  DenominatorPFPhiEndcap_ = DenominatorPFPhiEndcap;
537  DenominatorPFEtaForward_ = DenominatorPFEtaForward;
538  DenominatorPFPhiForward_ = DenominatorPFPhiForward;
539  DenominatorPFEta_LowpTcut_ = DenominatorPFEta_LowpTcut;
540  DenominatorPFPhi_LowpTcut_ = DenominatorPFPhi_LowpTcut;
541  DenominatorPFEtaPhi_LowpTcut_ = DenominatorPFEtaPhi_LowpTcut;
542  DenominatorPFEta_MedpTcut_ = DenominatorPFEta_MedpTcut;
543  DenominatorPFPhi_MedpTcut_ = DenominatorPFPhi_MedpTcut;
544  DenominatorPFEtaPhi_MedpTcut_ = DenominatorPFEtaPhi_MedpTcut;
545  DenominatorPFEta_HighpTcut_ = DenominatorPFEta_HighpTcut;
546  DenominatorPFPhi_HighpTcut_ = DenominatorPFPhi_HighpTcut;
547  DenominatorPFEtaPhi_HighpTcut_ = DenominatorPFEtaPhi_HighpTcut;
548  //
549  PFDeltaR_ = PFDeltaR;
550  PFDeltaPhi_ = PFDeltaPhi;
551 
552 
553  };
554  ~PathInfo() {};
555  PathInfo(int prescaleUsed,
556  std::string denomPathName,
557  std::string pathName,
558  std::string l1pathName,
560  std::string DenomfilterName,
561  std::string processName,
562  size_t type,
563  std::string triggerType):
564  prescaleUsed_(prescaleUsed),
565  denomPathName_(denomPathName),
566  pathName_(pathName),
567  l1pathName_(l1pathName),
568  filterName_(filterName),
569  DenomfilterName_(DenomfilterName),
570  processName_(processName),
571  objectType_(type),
572  triggerType_(triggerType){};
573 
582 
591 
600 
607 
614 
624 
632 
633  //ml
636 
652  //ml
653 
661 
662  //ml
669 
679  //adding PF histos SJ
682 
689 
713 
720 
730 
735 
747 
748  const std::string getLabel(void ) const {
749  return filterName_;
750  }
751  const std::string getDenomLabel(void ) const {
752  return DenomfilterName_;
753  }
754 
755  void setLabel(std::string labelName){
756  filterName_ = labelName;
757  return;
758  }
759  void setDenomLabel(std::string labelName){
760  DenomfilterName_ = labelName;
761  return;
762  }
763  const std::string getPath(void ) const {
764  return pathName_;
765  }
766  const std::string getl1Path(void ) const {
767  return l1pathName_;
768  }
769  const std::string getDenomPath(void ) const {
770  return denomPathName_;
771  }
772  const int getprescaleUsed(void) const {
773  return prescaleUsed_;
774  }
775  const std::string getProcess(void ) const {
776  return processName_;
777  }
778  const int getObjectType(void ) const {
779  return objectType_;
780  }
781  const std::string getTriggerType(void ) const {
782  return triggerType_;
783  }
784  const edm::InputTag getTag(void) const{
786  return tagName;
787  }
788  const edm::InputTag getDenomTag(void) const{
790  return tagName;
791  }
793  {
794  return v==pathName_;
795  }
796 
797  private:
808 
835 
848 
858 
866 
867  //ml
870 
877 
887  //ml
888 
896  //ml
903 
913 
916 
917  //adding PF histos SJ:
932 
942 
951 
958 
970 
982  };
983 
984  // simple collection
985  class PathInfoCollection: public std::vector<PathInfo> {
986  public:
987  PathInfoCollection(): std::vector<PathInfo>()
988  {};
989  std::vector<PathInfo>::iterator find(std::string pathName) {
990  return std::find(begin(), end(), pathName);
991  }
992  };
999 
1003 
1009 };
1010 #endif
MonitorElement * getMEhisto_NumeratorEtaPhi_HighpTcut()
PathInfoCollection hltPathsAllWrtMu_
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:45
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_
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
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()
MonitorElement * getMEhisto_DenominatorPhiBarrel()
MonitorElement * getMEhisto_DenominatorPFPtEndcap()
edm::Handle< edm::TriggerResults > triggerResults_
MonitorElement * getMEhisto_NumeratorPFPhiForward()
reco::PFJetCollection pfjet
T eta() 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: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)
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()
tuple path
else: Piece not in the list, fine.
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_
virtual void fillMEforMonAllTriggerwrtMuonTrigger(const edm::Event &iEvent, const edm::EventSetup &)
MonitorElement * getMEhisto_DenominatorEta_HighpTcut()
MonitorElement * getMEhisto_EtaCorrelation_HLTRecObj()
MonitorElement * getMEhisto_DenominatorPFPtForward()
virtual void fillMEforEffWrtMBTrigger(const edm::Event &iEvent, const edm::EventSetup &)
PathInfoCollection hltPathsEffWrtMB_
#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()
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_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
DQM Client Diagnostic.
MonitorElement * correlation_AllWrtMB
const edm::InputTag getDenomTag(void) const
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
MonitorElement * getMEhisto_DenominatorPFEtaForward()
PathInfoCollection hltPathsEffWrtMu_
void endRun(const edm::Run &run, const edm::EventSetup &c)
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()
void beginRun(const edm::Run &run, const edm::EventSetup &c)
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
virtual void fillMEforEffWrtMuTrigger(const edm::Event &iEvent, const edm::EventSetup &)
edm::Handle< reco::CaloMETCollection > calometColl_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
MonitorElement * getMEhisto_DenominatorPFEta_MedpTcut()
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
void histobooking(const edm::EventSetup &c)
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()
Definition: Run.h:41
MonitorElement * getMEhisto_DenominatorEtaForward()
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PathInfoCollection hltPathsEff_