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 
146 
151 
154 
155  std::vector<std::string> pathFilter_;
156  std::vector<std::string> pathRejectKeyword_;
157  std::vector<std::pair<std::string, std::string> > custompathnamepairs_;
158 
163  edm::TriggerNames triggerNames_; // TriggerNames class
165 
166  double CaloJetPx[2];
167  double CaloJetPy[2];
168  double CaloJetPt[2];
169  double CaloJetEta[2];
170  double CaloJetPhi[2];
171  double CaloJetEMF[2];
172  double CaloJetfHPD[2];
173  double CaloJetn90[2];
174 
175  double PFJetPx[2];
176  double PFJetPy[2];
177  double PFJetPt[2];
178  double PFJetEta[2];
179  double PFJetPhi[2];
180  double PFJetNHEF[2];
181  double PFJetCHEF[2];
182  double PFJetNEMF[2];
183  double PFJetCEMF[2];
184 
185  double pfMHTx_All;
186  double pfMHTy_All;
187 
188 
189  // data across paths
191  // helper class to store the data path
192 
193  class PathInfo {
195  pathIndex_(-1),
196  prescaleUsed_(-1),
197  denomPathName_("unset"),
198  pathName_("unset"),
199  l1pathName_("unset"),
200  filterName_("unset"),
201  DenomfilterName_("unset"),
202  processName_("unset"),
203  objectType_(-1),
204  triggerType_("unset")
205  {};
206  public:
207  void setHistos(MonitorElement* const N,
208  MonitorElement* const Pt,
209  MonitorElement* const PtBarrel,
210  MonitorElement* const PtEndcap,
211  MonitorElement* const PtForward,
212  MonitorElement* const Eta,
213  MonitorElement* const Phi,
214  MonitorElement* const EtaPhi,
215  //
216  MonitorElement* const N_L1,
217  MonitorElement* const Pt_L1,
218  MonitorElement* const PtBarrel_L1,
219  MonitorElement* const PtEndcap_L1,
220  MonitorElement* const PtForward_L1,
221  MonitorElement* const Eta_L1,
222  MonitorElement* const Phi_L1,
223  MonitorElement* const EtaPhi_L1,
224  MonitorElement* const N_HLT,
225  MonitorElement* const Pt_HLT,
226  MonitorElement* const PtBarrel_HLT,
227  MonitorElement* const PtEndcap_HLT,
228  MonitorElement* const PtForward_HLT,
229  MonitorElement* const Eta_HLT,
230  MonitorElement* const Phi_HLT,
231  MonitorElement* const EtaPhi_HLT,
232  //
233  MonitorElement* const PtResolution_L1HLT,
234  MonitorElement* const EtaResolution_L1HLT,
235  MonitorElement* const PhiResolution_L1HLT,
236  MonitorElement* const PtResolution_HLTRecObj,
237  MonitorElement* const EtaResolution_HLTRecObj,
238  MonitorElement* const PhiResolution_HLTRecObj,
239  //
240  MonitorElement* const PtCorrelation_L1HLT,
241  MonitorElement* const EtaCorrelation_L1HLT,
242  MonitorElement* const PhiCorrelation_L1HLT,
243  MonitorElement* const PtCorrelation_HLTRecObj,
244  MonitorElement* const EtaCorrelation_HLTRecObj,
245  MonitorElement* const PhiCorrelation_HLTRecObj,
246  //
247  MonitorElement* const JetAveragePt,
248  MonitorElement* const JetAverageEta,
249  MonitorElement* const JetPhiDifference,
250  MonitorElement* const HLTAveragePt,
251  MonitorElement* const HLTAverageEta,
252  MonitorElement* const HLTPhiDifference,
253  MonitorElement* const L1AveragePt,
254  MonitorElement* const L1AverageEta,
255  MonitorElement* const L1PhiDifference
256  //
257  //MonitorElement* const PVZ,
258  //MonitorElement* const NVertices
259  )
260 
261  {
262  N_ = N;
263  Pt_ = Pt;
264  PtBarrel_ = PtBarrel;
265  PtEndcap_ = PtEndcap;
266  PtForward_ = PtForward;
267  Eta_ = Eta;
268  Phi_ = Phi;
269  EtaPhi_ = EtaPhi;
270  N_L1_ = N_L1;
271  Pt_L1_ = Pt_L1;
272  PtBarrel_L1_ = PtBarrel_L1;
273  PtEndcap_L1_ = PtEndcap_L1;
274  PtForward_L1_ = PtForward_L1;
275  Eta_L1_ = Eta_L1;
276  Phi_L1_ = Phi_L1;
277  EtaPhi_L1_ = EtaPhi_L1 ;
278  N_HLT_ = N_HLT;
279  Pt_HLT_ = Pt_HLT;
280  PtBarrel_HLT_ = PtBarrel_HLT;
281  PtEndcap_HLT_ = PtEndcap_HLT;
282  PtForward_HLT_ = PtForward_HLT;
283  Eta_HLT_ = Eta_HLT;
284  Phi_HLT_ = Phi_HLT;
285  EtaPhi_HLT_ = EtaPhi_HLT ;
286  //
287  PtResolution_L1HLT_ = PtResolution_L1HLT;
288  EtaResolution_L1HLT_ = EtaResolution_L1HLT;
289  PhiResolution_L1HLT_ = PhiResolution_L1HLT;
290  PtResolution_HLTRecObj_ = PtResolution_HLTRecObj;
291  EtaResolution_HLTRecObj_ = EtaResolution_HLTRecObj;
292  PhiResolution_HLTRecObj_ = PhiResolution_HLTRecObj;
293  //
294  PtCorrelation_L1HLT_ = PtCorrelation_L1HLT;
295  EtaCorrelation_L1HLT_ = EtaCorrelation_L1HLT;
296  PhiCorrelation_L1HLT_ = PhiCorrelation_L1HLT;
297  PtCorrelation_HLTRecObj_ = PtCorrelation_HLTRecObj;
298  EtaCorrelation_HLTRecObj_ = EtaCorrelation_HLTRecObj;
299  PhiCorrelation_HLTRecObj_ = PhiCorrelation_HLTRecObj;
300  //
301  JetAveragePt_ = JetAveragePt;
302  JetAverageEta_ = JetAverageEta;
303  JetPhiDifference_ = JetPhiDifference;
304  HLTAveragePt_ = HLTAveragePt;
305  HLTAverageEta_ = HLTAverageEta;
306  HLTPhiDifference_ = HLTPhiDifference;
307  L1AveragePt_ = L1AveragePt;
308  L1AverageEta_ = L1AverageEta;
309  L1PhiDifference_ = L1PhiDifference;
310  };
311 
312  void setDgnsHistos(MonitorElement* const TriggerSummary,
313  MonitorElement* const JetSize,
314  MonitorElement* const JetPt,
315  MonitorElement* const EtavsPt,
316  MonitorElement* const PhivsPt,
317  MonitorElement* const Pt12,
318  MonitorElement* const Eta12,
319  MonitorElement* const Phi12,
320  MonitorElement* const Pt3,
321  MonitorElement* const Pt12Pt3,
322  MonitorElement* const Pt12Phi12
323  )
324  {
325  TriggerSummary_ = TriggerSummary;
326  JetSize_ = JetSize;
327  JetPt_ = JetPt;
328  EtavsPt_ = EtavsPt;
329  PhivsPt_ = PhivsPt;
330  Pt12_ = Pt12;
331  Eta12_ = Eta12;
332  Phi12_ = Phi12;
333  Pt3_ = Pt3;
334  Pt12Pt3_ = Pt12Pt3;
335  Pt12Phi12_ = Pt12Phi12;
336  };
337 
338  void setEffHistos(MonitorElement* const NumeratorPt,
339  MonitorElement* const NumeratorPtBarrel,
340  MonitorElement* const NumeratorPtEndcap,
341  MonitorElement* const NumeratorPtForward,
342  MonitorElement* const NumeratorEta,
343  MonitorElement* const NumeratorPhi,
344  MonitorElement* const NumeratorEtaPhi,
345  //
346  MonitorElement* const NumeratorEtaBarrel,
347  MonitorElement* const NumeratorPhiBarrel,
348  MonitorElement* const NumeratorEtaEndcap,
349  MonitorElement* const NumeratorPhiEndcap,
350  MonitorElement* const NumeratorEtaForward,
351  MonitorElement* const NumeratorPhiForward,
352  MonitorElement* const NumeratorEta_LowpTcut,
353  MonitorElement* const NumeratorPhi_LowpTcut,
354  MonitorElement* const NumeratorEtaPhi_LowpTcut,
355  MonitorElement* const NumeratorEta_MedpTcut,
356  MonitorElement* const NumeratorPhi_MedpTcut,
357  MonitorElement* const NumeratorEtaPhi_MedpTcut,
358  MonitorElement* const NumeratorEta_HighpTcut,
359  MonitorElement* const NumeratorPhi_HighpTcut,
360  MonitorElement* const NumeratorEtaPhi_HighpTcut,
361  //
362  MonitorElement* const DenominatorPt,
363  MonitorElement* const DenominatorPtBarrel,
364  MonitorElement* const DenominatorPtEndcap,
365  MonitorElement* const DenominatorPtForward,
366  MonitorElement* const DenominatorEta,
367  MonitorElement* const DenominatorPhi,
368  MonitorElement* const DenominatorEtaPhi,
369  //
370  MonitorElement* const DenominatorEtaBarrel,
371  MonitorElement* const DenominatorPhiBarrel,
372  MonitorElement* const DenominatorEtaEndcap,
373  MonitorElement* const DenominatorPhiEndcap,
374  MonitorElement* const DenominatorEtaForward,
375  MonitorElement* const DenominatorPhiForward,
376  MonitorElement* const DenominatorEta_LowpTcut,
377  MonitorElement* const DenominatorPhi_LowpTcut,
378  MonitorElement* const DenominatorEtaPhi_LowpTcut,
379  MonitorElement* const DenominatorEta_MedpTcut,
380  MonitorElement* const DenominatorPhi_MedpTcut,
381  MonitorElement* const DenominatorEtaPhi_MedpTcut,
382  MonitorElement* const DenominatorEta_HighpTcut,
383  MonitorElement* const DenominatorPhi_HighpTcut,
384  MonitorElement* const DenominatorEtaPhi_HighpTcut,
385  //
386  MonitorElement* const DeltaR,
387  MonitorElement* const DeltaPhi,
388  //
389  MonitorElement* const NumeratorPFPt,
390  MonitorElement* const NumeratorPFMHT,
391  MonitorElement* const NumeratorPFPtBarrel,
392  MonitorElement* const NumeratorPFPtEndcap,
393  MonitorElement* const NumeratorPFPtForward,
394  MonitorElement* const NumeratorPFEta,
395  MonitorElement* const NumeratorPFPhi,
396  MonitorElement* const NumeratorPFEtaPhi,
397  //
398  MonitorElement* const NumeratorPFEtaBarrel,
399  MonitorElement* const NumeratorPFPhiBarrel,
400  MonitorElement* const NumeratorPFEtaEndcap,
401  MonitorElement* const NumeratorPFPhiEndcap,
402  MonitorElement* const NumeratorPFEtaForward,
403  MonitorElement* const NumeratorPFPhiForward,
404  MonitorElement* const NumeratorPFEta_LowpTcut,
405  MonitorElement* const NumeratorPFPhi_LowpTcut,
406  MonitorElement* const NumeratorPFEtaPhi_LowpTcut,
407  MonitorElement* const NumeratorPFEta_MedpTcut,
408  MonitorElement* const NumeratorPFPhi_MedpTcut,
409  MonitorElement* const NumeratorPFEtaPhi_MedpTcut,
410  MonitorElement* const NumeratorPFEta_HighpTcut,
411  MonitorElement* const NumeratorPFPhi_HighpTcut,
412  MonitorElement* const NumeratorPFEtaPhi_HighpTcut,
413  //
414  MonitorElement* const DenominatorPFPt,
415  MonitorElement* const DenominatorPFMHT,
416  MonitorElement* const DenominatorPFPtBarrel,
417  MonitorElement* const DenominatorPFPtEndcap,
418  MonitorElement* const DenominatorPFPtForward,
419  MonitorElement* const DenominatorPFEta,
420  MonitorElement* const DenominatorPFPhi,
421  MonitorElement* const DenominatorPFEtaPhi,
422  //
423  MonitorElement* const DenominatorPFEtaBarrel,
424  MonitorElement* const DenominatorPFPhiBarrel,
425  MonitorElement* const DenominatorPFEtaEndcap,
426  MonitorElement* const DenominatorPFPhiEndcap,
427  MonitorElement* const DenominatorPFEtaForward,
428  MonitorElement* const DenominatorPFPhiForward,
429  MonitorElement* const DenominatorPFEta_LowpTcut,
430  MonitorElement* const DenominatorPFPhi_LowpTcut,
431  MonitorElement* const DenominatorPFEtaPhi_LowpTcut,
432  MonitorElement* const DenominatorPFEta_MedpTcut,
433  MonitorElement* const DenominatorPFPhi_MedpTcut,
434  MonitorElement* const DenominatorPFEtaPhi_MedpTcut,
435  MonitorElement* const DenominatorPFEta_HighpTcut,
436  MonitorElement* const DenominatorPFPhi_HighpTcut,
437  MonitorElement* const DenominatorPFEtaPhi_HighpTcut,
438  //
439  MonitorElement* const PFDeltaR,
440  MonitorElement* const PFDeltaPhi
441  )
442  {
443  NumeratorPt_ = NumeratorPt;
444  NumeratorPtBarrel_ = NumeratorPtBarrel;
445  NumeratorPtEndcap_ = NumeratorPtEndcap;
446  NumeratorPtForward_ = NumeratorPtForward;
447  NumeratorEta_ = NumeratorEta;
448  NumeratorPhi_ = NumeratorPhi;
449  NumeratorEtaPhi_ = NumeratorEtaPhi;
450  //
451  NumeratorEtaBarrel_ = NumeratorEtaBarrel;
452  NumeratorPhiBarrel_ = NumeratorPhiBarrel;
453  NumeratorEtaEndcap_ = NumeratorEtaEndcap;
454  NumeratorPhiEndcap_ = NumeratorPhiEndcap;
455  NumeratorEtaForward_ = NumeratorEtaForward;
456  NumeratorPhiForward_ = NumeratorPhiForward;
457  NumeratorEta_LowpTcut_ = NumeratorEta_LowpTcut;
458  NumeratorPhi_LowpTcut_ = NumeratorPhi_LowpTcut;
459  NumeratorEtaPhi_LowpTcut_ = NumeratorEtaPhi_LowpTcut;
460  NumeratorEta_MedpTcut_ = NumeratorEta_MedpTcut;
461  NumeratorPhi_MedpTcut_ = NumeratorPhi_MedpTcut;
462  NumeratorEtaPhi_MedpTcut_ = NumeratorEtaPhi_MedpTcut;
463  NumeratorEta_HighpTcut_ = NumeratorEta_HighpTcut;
464  NumeratorPhi_HighpTcut_ = NumeratorPhi_HighpTcut;
465  NumeratorEtaPhi_HighpTcut_ = NumeratorEtaPhi_HighpTcut;
466  //
467  DenominatorPt_ = DenominatorPt;
468  DenominatorPtBarrel_ = DenominatorPtBarrel;
469  DenominatorPtEndcap_ = DenominatorPtEndcap;
470  DenominatorPtForward_ = DenominatorPtForward;
471  DenominatorEta_ = DenominatorEta;
472  DenominatorPhi_ = DenominatorPhi;
473  DenominatorEtaPhi_ = DenominatorEtaPhi;
474  //
475  DenominatorEtaBarrel_ = DenominatorEtaBarrel;
476  DenominatorPhiBarrel_ = DenominatorPhiBarrel;
477  DenominatorEtaEndcap_ = DenominatorEtaEndcap;
478  DenominatorPhiEndcap_ = DenominatorPhiEndcap;
479  DenominatorEtaForward_ = DenominatorEtaForward;
480  DenominatorPhiForward_ = DenominatorPhiForward;
481  DenominatorEta_LowpTcut_ = DenominatorEta_LowpTcut;
482  DenominatorPhi_LowpTcut_ = DenominatorPhi_LowpTcut;
483  DenominatorEtaPhi_LowpTcut_ = DenominatorEtaPhi_LowpTcut;
484  DenominatorEta_MedpTcut_ = DenominatorEta_MedpTcut;
485  DenominatorPhi_MedpTcut_ = DenominatorPhi_MedpTcut;
486  DenominatorEtaPhi_MedpTcut_ = DenominatorEtaPhi_MedpTcut;
487  DenominatorEta_HighpTcut_ = DenominatorEta_HighpTcut;
488  DenominatorPhi_HighpTcut_ = DenominatorPhi_HighpTcut;
489  DenominatorEtaPhi_HighpTcut_ = DenominatorEtaPhi_HighpTcut;
490  //
491  DeltaR_ = DeltaR;
492  DeltaPhi_ = DeltaPhi;
493  //
494  NumeratorPFPt_ = NumeratorPFPt;
495  NumeratorPFMHT_ = NumeratorPFMHT;
496  NumeratorPFPtBarrel_ = NumeratorPFPtBarrel;
497  NumeratorPFPtEndcap_ = NumeratorPFPtEndcap;
498  NumeratorPFPtForward_ = NumeratorPFPtForward;
499  NumeratorPFEta_ = NumeratorPFEta;
500  NumeratorPFPhi_ = NumeratorPFPhi;
501  NumeratorPFEtaPhi_ = NumeratorPFEtaPhi;
502  //
503  NumeratorPFEtaBarrel_ = NumeratorPFEtaBarrel;
504  NumeratorPFPhiBarrel_ = NumeratorPFPhiBarrel;
505  NumeratorPFEtaEndcap_ = NumeratorPFEtaEndcap;
506  NumeratorPFPhiEndcap_ = NumeratorPFPhiEndcap;
507  NumeratorPFEtaForward_ = NumeratorPFEtaForward;
508  NumeratorPFPhiForward_ = NumeratorPFPhiForward;
509  NumeratorPFEta_LowpTcut_ = NumeratorPFEta_LowpTcut;
510  NumeratorPFPhi_LowpTcut_ = NumeratorPFPhi_LowpTcut;
511  NumeratorPFEtaPhi_LowpTcut_ = NumeratorPFEtaPhi_LowpTcut;
512  NumeratorPFEta_MedpTcut_ = NumeratorPFEta_MedpTcut;
513  NumeratorPFPhi_MedpTcut_ = NumeratorPFPhi_MedpTcut;
514  NumeratorPFEtaPhi_MedpTcut_ = NumeratorPFEtaPhi_MedpTcut;
515  NumeratorPFEta_HighpTcut_ = NumeratorPFEta_HighpTcut;
516  NumeratorPFPhi_HighpTcut_ = NumeratorPFPhi_HighpTcut;
517  NumeratorPFEtaPhi_HighpTcut_ = NumeratorPFEtaPhi_HighpTcut;
518  //
519  DenominatorPFPt_ = DenominatorPFPt;
520  DenominatorPFMHT_ = DenominatorPFMHT;
521  DenominatorPFPtBarrel_ = DenominatorPFPtBarrel;
522  DenominatorPFPtEndcap_ = DenominatorPFPtEndcap;
523  DenominatorPFPtForward_ = DenominatorPFPtForward;
524  DenominatorPFEta_ = DenominatorPFEta;
525  DenominatorPFPhi_ = DenominatorPFPhi;
526  DenominatorPFEtaPhi_ = DenominatorPFEtaPhi;
527  //
528  DenominatorPFEtaBarrel_ = DenominatorPFEtaBarrel;
529  DenominatorPFPhiBarrel_ = DenominatorPFPhiBarrel;
530  DenominatorPFEtaEndcap_ = DenominatorPFEtaEndcap;
531  DenominatorPFPhiEndcap_ = DenominatorPFPhiEndcap;
532  DenominatorPFEtaForward_ = DenominatorPFEtaForward;
533  DenominatorPFPhiForward_ = DenominatorPFPhiForward;
534  DenominatorPFEta_LowpTcut_ = DenominatorPFEta_LowpTcut;
535  DenominatorPFPhi_LowpTcut_ = DenominatorPFPhi_LowpTcut;
536  DenominatorPFEtaPhi_LowpTcut_ = DenominatorPFEtaPhi_LowpTcut;
537  DenominatorPFEta_MedpTcut_ = DenominatorPFEta_MedpTcut;
538  DenominatorPFPhi_MedpTcut_ = DenominatorPFPhi_MedpTcut;
539  DenominatorPFEtaPhi_MedpTcut_ = DenominatorPFEtaPhi_MedpTcut;
540  DenominatorPFEta_HighpTcut_ = DenominatorPFEta_HighpTcut;
541  DenominatorPFPhi_HighpTcut_ = DenominatorPFPhi_HighpTcut;
542  DenominatorPFEtaPhi_HighpTcut_ = DenominatorPFEtaPhi_HighpTcut;
543  //
544  PFDeltaR_ = PFDeltaR;
545  PFDeltaPhi_ = PFDeltaPhi;
546 
547 
548  };
549  ~PathInfo() {};
550  PathInfo(int prescaleUsed,
551  std::string denomPathName,
552  std::string pathName,
553  std::string l1pathName,
555  std::string DenomfilterName,
556  std::string processName,
557  size_t type,
558  std::string triggerType):
559  prescaleUsed_(prescaleUsed),
560  denomPathName_(denomPathName),
561  pathName_(pathName),
562  l1pathName_(l1pathName),
563  filterName_(filterName),
564  DenomfilterName_(DenomfilterName),
565  processName_(processName),
566  objectType_(type),
567  triggerType_(triggerType){};
568 
577 
586 
595 
602 
609 
619 
627 
628  //ml
631 
647  //ml
648 
656 
657  //ml
664 
674  //adding PF histos SJ
677 
684 
708 
715 
725 
730 
742 
743  const std::string getLabel(void ) const {
744  return filterName_;
745  }
746  const std::string getDenomLabel(void ) const {
747  return DenomfilterName_;
748  }
749 
750  void setLabel(std::string labelName){
751  filterName_ = labelName;
752  return;
753  }
754  void setDenomLabel(std::string labelName){
755  DenomfilterName_ = labelName;
756  return;
757  }
758  const std::string getPath(void ) const {
759  return pathName_;
760  }
761  const std::string getl1Path(void ) const {
762  return l1pathName_;
763  }
764  const std::string getDenomPath(void ) const {
765  return denomPathName_;
766  }
767  const int getprescaleUsed(void) const {
768  return prescaleUsed_;
769  }
770  const std::string getProcess(void ) const {
771  return processName_;
772  }
773  const int getObjectType(void ) const {
774  return objectType_;
775  }
776  const std::string getTriggerType(void ) const {
777  return triggerType_;
778  }
779  const edm::InputTag getTag(void) const{
781  return tagName;
782  }
783  const edm::InputTag getDenomTag(void) const{
785  return tagName;
786  }
788  {
789  return v==pathName_;
790  }
791 
792  private:
803 
830 
843 
853 
861 
862  //ml
865 
872 
882  //ml
883 
891  //ml
898 
908 
911 
912  //adding PF histos SJ:
927 
937 
946 
953 
965 
977  };
978 
979  // simple collection
980  class PathInfoCollection: public std::vector<PathInfo> {
981  public:
982  PathInfoCollection(): std::vector<PathInfo>()
983  {};
984  std::vector<PathInfo>::iterator find(std::string pathName) {
985  return std::find(begin(), end(), pathName);
986  }
987  };
994 
998 
1004 };
1005 #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()
MonitorElement * getMEhisto_DenominatorPFPhiBarrel()
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:243
const std::string getDenomPath(void) const
MonitorElement * getMEhisto_NumeratorPFEtaEndcap()
const edm::InputTag getTag(void) const
MonitorElement * getMEhisto_NumeratorPhi_MedpTcut()
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:38
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()
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()
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
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:31
double a
Definition: hdecay.h:121
virtual void fillMEforEffWrtMuTrigger(const edm::Event &iEvent, const edm::EventSetup &)
edm::Handle< reco::CaloMETCollection > calometColl_
MonitorElement * getMEhisto_DenominatorPFEta_MedpTcut()
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:36
MonitorElement * getMEhisto_DenominatorEtaForward()
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
PathInfoCollection hltPathsEff_