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
43 
45 
46 #include "TPRegexp.h"
47 #include <string>
48 #include <vector>
49 
50 namespace edm {
51  class TriggerNames;
52 }
53 
55 public:
56  explicit HLTJetMETValidation(const edm::ParameterSet &);
57  ~HLTJetMETValidation() override;
58 
59 private:
60  void analyze(const edm::Event &, const edm::EventSetup &) override;
61  void bookHistograms(DQMStore::IBooker &, edm::Run const &iRun, edm::EventSetup const &iSetup) override;
62  void dqmBeginRun(edm::Run const &iRun, edm::EventSetup const &iSetup) override;
63 
64  void getHLTResults(const edm::TriggerResults &, const edm::TriggerNames &triggerNames);
65 
73 
74  // Just a tag for better file organization
75  std::string triggerTag_, patternJetTrg_, patternMetTrg_, patternMuTrg_;
76 
77  std::vector<MonitorElement *> _meHLTJetPt;
78  std::vector<MonitorElement *> _meHLTJetPtTrgMC;
79  std::vector<MonitorElement *> _meHLTJetPtTrg;
80  std::vector<MonitorElement *> _meHLTJetPtTrgLow;
81  std::vector<MonitorElement *> _meHLTJetEta;
82  std::vector<MonitorElement *> _meHLTJetEtaTrgMC;
83  std::vector<MonitorElement *> _meHLTJetEtaTrg;
84  std::vector<MonitorElement *> _meHLTJetEtaTrgLow;
85  std::vector<MonitorElement *> _meHLTJetPhi;
86  std::vector<MonitorElement *> _meHLTJetPhiTrgMC;
87  std::vector<MonitorElement *> _meHLTJetPhiTrg;
88  std::vector<MonitorElement *> _meHLTJetPhiTrgLow;
89 
90  std::vector<MonitorElement *> _meGenJetPt;
91  std::vector<MonitorElement *> _meGenJetPtTrgMC;
92  std::vector<MonitorElement *> _meGenJetPtTrg;
93  std::vector<MonitorElement *> _meGenJetPtTrgLow;
94  std::vector<MonitorElement *> _meGenJetEta;
95  std::vector<MonitorElement *> _meGenJetEtaTrgMC;
96  std::vector<MonitorElement *> _meGenJetEtaTrg;
97  std::vector<MonitorElement *> _meGenJetEtaTrgLow;
98  std::vector<MonitorElement *> _meGenJetPhi;
99  std::vector<MonitorElement *> _meGenJetPhiTrgMC;
100  std::vector<MonitorElement *> _meGenJetPhiTrg;
101  std::vector<MonitorElement *> _meGenJetPhiTrgLow;
102 
103  std::vector<MonitorElement *> _meHLTMET;
104  std::vector<MonitorElement *> _meHLTMETTrgMC;
105  std::vector<MonitorElement *> _meHLTMETTrg;
106  std::vector<MonitorElement *> _meHLTMETTrgLow;
107  std::vector<MonitorElement *> _meGenMET;
108  std::vector<MonitorElement *> _meGenMETTrgMC;
109  std::vector<MonitorElement *> _meGenMETTrg;
110  std::vector<MonitorElement *> _meGenMETTrgLow;
111 
113 
114  // Define Numbers
115  int evtCnt;
116 
118  std::vector<std::string> hltTrgJet;
119  std::vector<std::string> hltTrgJetLow;
120  std::vector<std::string> hltTrgMet;
121  std::vector<std::string> hltTrgMetLow;
122 
123  // store hlt information in a map
124  std::vector<bool> hlttrigs;
125  std::map<std::string, bool> hltTriggerMap;
126  std::map<std::string, bool>::iterator trig_iter;
127 
128  bool HLTinit_;
129 
131 };
132 #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