CMS 3D CMS Logo

HLTJetMETValidation.h
Go to the documentation of this file.
1 /* HLTJetMET Path Validation Analyzer
2  Migrated to use DQMEDAnalyzer by: Jyothsna Rani Komaragiri, Oct 2014
3 */
4 
5 #ifndef HLTJetMETValidation_h
6 #define HLTJetMETValidation_h
7 
8 
15 
16 
20 
27 
33 
36 
39 
42 //Include DQM core
46 
48 
49 #include <vector>
50 #include <string>
51 #include "TPRegexp.h"
52 
53 namespace edm {
54  class TriggerNames;
55 }
56 
58 
59  public:
60  explicit HLTJetMETValidation(const edm::ParameterSet&);
62 
63  private:
64  virtual void analyze(const edm::Event&, const edm::EventSetup&) override;
65  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const & iRun, edm::EventSetup const & iSetup) override;
66  virtual void dqmBeginRun(edm::Run const& iRun,edm::EventSetup const& iSetup) override;
67 
68  void getHLTResults(const edm::TriggerResults&,
69  const edm::TriggerNames & triggerNames);
70 
78 
79  //Just a tag for better file organization
80  std::string triggerTag_, patternJetTrg_, patternMetTrg_, patternMuTrg_;
81 
82  std::vector<MonitorElement*> _meHLTJetPt;
83  std::vector<MonitorElement*> _meHLTJetPtTrgMC;
84  std::vector<MonitorElement*> _meHLTJetPtTrg;
85  std::vector<MonitorElement*> _meHLTJetPtTrgLow;
86  std::vector<MonitorElement*> _meHLTJetEta;
87  std::vector<MonitorElement*> _meHLTJetEtaTrgMC;
88  std::vector<MonitorElement*> _meHLTJetEtaTrg;
89  std::vector<MonitorElement*> _meHLTJetEtaTrgLow;
90  std::vector<MonitorElement*> _meHLTJetPhi;
91  std::vector<MonitorElement*> _meHLTJetPhiTrgMC;
92  std::vector<MonitorElement*> _meHLTJetPhiTrg;
93  std::vector<MonitorElement*> _meHLTJetPhiTrgLow;
94 
95  std::vector<MonitorElement*> _meGenJetPt;
96  std::vector<MonitorElement*> _meGenJetPtTrgMC;
97  std::vector<MonitorElement*> _meGenJetPtTrg;
98  std::vector<MonitorElement*> _meGenJetPtTrgLow;
99  std::vector<MonitorElement*> _meGenJetEta;
100  std::vector<MonitorElement*> _meGenJetEtaTrgMC;
101  std::vector<MonitorElement*> _meGenJetEtaTrg;
102  std::vector<MonitorElement*> _meGenJetEtaTrgLow;
103  std::vector<MonitorElement*> _meGenJetPhi;
104  std::vector<MonitorElement*> _meGenJetPhiTrgMC;
105  std::vector<MonitorElement*> _meGenJetPhiTrg;
106  std::vector<MonitorElement*> _meGenJetPhiTrgLow;
107 
108  std::vector<MonitorElement*> _meHLTMET;
109  std::vector<MonitorElement*> _meHLTMETTrgMC;
110  std::vector<MonitorElement*> _meHLTMETTrg;
111  std::vector<MonitorElement*> _meHLTMETTrgLow;
112  std::vector<MonitorElement*> _meGenMET;
113  std::vector<MonitorElement*> _meGenMETTrgMC;
114  std::vector<MonitorElement*> _meGenMETTrg;
115  std::vector<MonitorElement*> _meGenMETTrgLow;
116 
118 
119  //Define Numbers
120  int evtCnt;
121 
123  std::vector<std::string> hltTrgJet;
124  std::vector<std::string> hltTrgJetLow;
125  std::vector<std::string> hltTrgMet;
126  std::vector<std::string> hltTrgMetLow;
127 
128  // store hlt information in a map
129  std::vector<bool> hlttrigs;
130  std::map <std::string,bool> hltTriggerMap;
131  std::map<std::string,bool>::iterator trig_iter;
132 
133  bool HLTinit_;
134 
136 };
137 #endif
std::vector< MonitorElement * > _meHLTMETTrgMC
std::vector< std::string > hltTrgMet
std::vector< MonitorElement * > _meGenJetEtaTrgMC
std::vector< MonitorElement * > _meGenJetPt
std::vector< MonitorElement * > _meGenJetPhiTrg
std::vector< std::string > hltTrgJet
std::vector< MonitorElement * > _meHLTJetPtTrg
std::map< std::string, bool > hltTriggerMap
def analyze(function, filename, filter=None)
Definition: Profiling.py:11
MonitorElement * _triggerResults
std::vector< bool > hlttrigs
std::vector< MonitorElement * > _meHLTJetPhiTrgLow
std::vector< MonitorElement * > _meGenMET
std::vector< MonitorElement * > _meHLTMETTrgLow
std::vector< MonitorElement * > _meGenJetPtTrgMC
std::vector< MonitorElement * > _meGenMETTrgMC
std::vector< std::string > hltTrgMetLow
edm::EDGetTokenT< reco::GenMETCollection > GenMETColl
std::vector< MonitorElement * > _meGenJetPhiTrgMC
std::vector< MonitorElement * > _meGenMETTrgLow
std::vector< MonitorElement * > _meHLTJetPtTrgLow
void bookHistograms(fwlite::EventContainer &eventCont)
std::vector< MonitorElement * > _meHLTJetEta
std::vector< MonitorElement * > _meHLTJetPhiTrgMC
edm::EDGetTokenT< edm::TriggerResults > HLTriggerResults
std::vector< MonitorElement * > _meHLTJetEtaTrg
std::vector< MonitorElement * > _meHLTJetEtaTrgLow
std::vector< MonitorElement * > _meGenJetEtaTrg
std::vector< MonitorElement * > _meGenJetPtTrg
std::vector< MonitorElement * > _meGenMETTrg
std::vector< MonitorElement * > _meGenJetEtaTrgLow
edm::EDGetTokenT< reco::PFJetCollection > PFJetAlgorithm
std::vector< MonitorElement * > _meHLTJetPt
edm::EDGetTokenT< reco::GenJetCollection > GenJetAlgorithm
std::vector< MonitorElement * > _meHLTJetPhi
std::vector< MonitorElement * > _meGenJetEta
std::vector< MonitorElement * > _meGenJetPhi
std::vector< MonitorElement * > _meGenJetPtTrgLow
HLTConfigProvider hltConfig_
std::vector< MonitorElement * > _meHLTJetPtTrgMC
std::vector< MonitorElement * > _meHLTMETTrg
std::vector< MonitorElement * > _meHLTJetPhiTrg
HLT enums.
edm::EDGetTokenT< trigger::TriggerEventWithRefs > triggerEventObject_
InputTag of TriggerEventWithRefs to analyze.
std::vector< std::string > hltTrgJetLow
std::vector< MonitorElement * > _meGenJetPhiTrgLow
std::map< std::string, bool >::iterator trig_iter
std::vector< MonitorElement * > _meHLTJetEtaTrgMC
edm::EDGetTokenT< reco::CaloMETCollection > CaloMETColl
Definition: Run.h:42
std::vector< MonitorElement * > _meHLTMET