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 
14 
18 
25 
31 
34 
37 
40 // Include DQM core
44 
46 
47 #include "TPRegexp.h"
48 #include <string>
49 #include <vector>
50 
51 namespace edm {
52  class TriggerNames;
53 }
54 
56 public:
57  explicit HLTJetMETValidation(const edm::ParameterSet &);
58  ~HLTJetMETValidation() override;
59 
60 private:
61  void analyze(const edm::Event &, const edm::EventSetup &) override;
62  void bookHistograms(DQMStore::IBooker &, edm::Run const &iRun, edm::EventSetup const &iSetup) override;
63  void dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup) override;
64 
65  void getHLTResults(const edm::TriggerResults &, const edm::TriggerNames &triggerNames);
66 
74 
75  // Just a tag for better file organization
76  std::string triggerTag_, patternJetTrg_, patternMetTrg_, patternMuTrg_;
77 
78  std::vector<MonitorElement *> _meHLTJetPt;
79  std::vector<MonitorElement *> _meHLTJetPtTrgMC;
80  std::vector<MonitorElement *> _meHLTJetPtTrg;
81  std::vector<MonitorElement *> _meHLTJetPtTrgLow;
82  std::vector<MonitorElement *> _meHLTJetEta;
83  std::vector<MonitorElement *> _meHLTJetEtaTrgMC;
84  std::vector<MonitorElement *> _meHLTJetEtaTrg;
85  std::vector<MonitorElement *> _meHLTJetEtaTrgLow;
86  std::vector<MonitorElement *> _meHLTJetPhi;
87  std::vector<MonitorElement *> _meHLTJetPhiTrgMC;
88  std::vector<MonitorElement *> _meHLTJetPhiTrg;
89  std::vector<MonitorElement *> _meHLTJetPhiTrgLow;
90 
91  std::vector<MonitorElement *> _meGenJetPt;
92  std::vector<MonitorElement *> _meGenJetPtTrgMC;
93  std::vector<MonitorElement *> _meGenJetPtTrg;
94  std::vector<MonitorElement *> _meGenJetPtTrgLow;
95  std::vector<MonitorElement *> _meGenJetEta;
96  std::vector<MonitorElement *> _meGenJetEtaTrgMC;
97  std::vector<MonitorElement *> _meGenJetEtaTrg;
98  std::vector<MonitorElement *> _meGenJetEtaTrgLow;
99  std::vector<MonitorElement *> _meGenJetPhi;
100  std::vector<MonitorElement *> _meGenJetPhiTrgMC;
101  std::vector<MonitorElement *> _meGenJetPhiTrg;
102  std::vector<MonitorElement *> _meGenJetPhiTrgLow;
103 
104  std::vector<MonitorElement *> _meHLTMET;
105  std::vector<MonitorElement *> _meHLTMETTrgMC;
106  std::vector<MonitorElement *> _meHLTMETTrg;
107  std::vector<MonitorElement *> _meHLTMETTrgLow;
108  std::vector<MonitorElement *> _meGenMET;
109  std::vector<MonitorElement *> _meGenMETTrgMC;
110  std::vector<MonitorElement *> _meGenMETTrg;
111  std::vector<MonitorElement *> _meGenMETTrgLow;
112 
114 
115  // Define Numbers
116  int evtCnt;
117 
119  std::vector<std::string> hltTrgJet;
120  std::vector<std::string> hltTrgJetLow;
121  std::vector<std::string> hltTrgMet;
122  std::vector<std::string> hltTrgMetLow;
123 
124  // store hlt information in a map
125  std::vector<bool> hlttrigs;
126  std::map<std::string, bool> hltTriggerMap;
127  std::map<std::string, bool>::iterator trig_iter;
128 
129  bool HLTinit_;
130 
132 };
133 #endif
std::vector< std::string > hltTrgMet
std::vector< MonitorElement * > _meHLTMETTrgMC
std::vector< MonitorElement * > _meGenJetPhiTrgLow
std::vector< MonitorElement * > _meHLTJetPtTrgLow
std::vector< MonitorElement * > _meHLTJetPhiTrg
std::vector< std::string > hltTrgJet
MonitorElement * _triggerResults
std::vector< bool > hlttrigs
std::vector< MonitorElement * > _meHLTMETTrg
std::vector< MonitorElement * > _meHLTJetEta
std::vector< MonitorElement * > _meHLTJetEtaTrg
std::vector< MonitorElement * > _meGenJetEta
std::vector< MonitorElement * > _meGenMETTrg
std::vector< std::string > hltTrgMetLow
std::vector< MonitorElement * > _meGenJetEtaTrg
edm::EDGetTokenT< reco::GenMETCollection > GenMETColl
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > _meHLTJetPt
std::vector< MonitorElement * > _meGenJetPtTrg
std::vector< MonitorElement * > _meGenJetPt
std::vector< MonitorElement * > _meHLTJetPhi
std::vector< MonitorElement * > _meHLTJetPtTrg
std::vector< MonitorElement * > _meGenJetPhiTrg
edm::EDGetTokenT< edm::TriggerResults > HLTriggerResults
std::vector< MonitorElement * > _meGenMETTrgMC
std::vector< MonitorElement * > _meHLTJetPtTrgMC
std::vector< MonitorElement * > _meGenJetPtTrgMC
std::vector< MonitorElement * > _meGenMET
std::vector< MonitorElement * > _meHLTMETTrgLow
std::vector< MonitorElement * > _meHLTJetEtaTrgLow
edm::EDGetTokenT< reco::PFJetCollection > PFJetAlgorithm
std::vector< MonitorElement * > _meHLTJetPhiTrgMC
edm::EDGetTokenT< reco::GenJetCollection > GenJetAlgorithm
std::vector< MonitorElement * > _meHLTJetPhiTrgLow
std::vector< MonitorElement * > _meGenJetEtaTrgLow
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
HLTConfigProvider hltConfig_
std::vector< MonitorElement * > _meGenJetPtTrgLow
std::map< std::string, bool > hltTriggerMap
std::map< std::string, bool >::iterator trig_iter
HLT enums.
std::vector< MonitorElement * > _meGenMETTrgLow
std::vector< MonitorElement * > _meHLTMET
edm::EDGetTokenT< trigger::TriggerEventWithRefs > triggerEventObject_
InputTag of TriggerEventWithRefs to analyze.
std::vector< std::string > hltTrgJetLow
std::vector< MonitorElement * > _meHLTJetEtaTrgMC
std::vector< MonitorElement * > _meGenJetEtaTrgMC
std::vector< MonitorElement * > _meGenJetPhi
edm::EDGetTokenT< reco::CaloMETCollection > CaloMETColl
Definition: Run.h:45
std::vector< MonitorElement * > _meGenJetPhiTrgMC