CMS 3D CMS Logo

L1ExtraDQM.h
Go to the documentation of this file.
1 #ifndef DQM_L1TMonitor_L1ExtraDQM_h
2 #define DQM_L1TMonitor_L1ExtraDQM_h
3 
19 // system include files
20 #include <iosfwd>
21 #include <memory>
22 #include <vector>
23 #include <string>
24 #include <algorithm>
25 
26 // user include files
27 // base classes
29 
30 //
34 
38 
41 
45 
47 
48 // L1Extra objects
59 
61 
65 
68 
69 #include "boost/lexical_cast.hpp"
71 
72 // forward declarations
73 
74 
75 // class declaration
76 class L1ExtraDQM : public DQMEDAnalyzer {
77 
78 public:
79 
80  // constructor(s)
81  explicit L1ExtraDQM(const edm::ParameterSet&);
82 
83  // destructor
84  ~L1ExtraDQM() override;
85 
86 public:
87 
88  template<class CollectionType>
90 
91  public:
92  // constructor
93  L1ExtraMonElement(const edm::EventSetup&, const int);
94 
95  // destructor
96  virtual ~L1ExtraMonElement();
97 
98  public:
99  typedef typename CollectionType::const_iterator CIterColl;
100 
101  void bookhistograms(const edm::EventSetup& evSetup, DQMStore::IBooker &ibooker,
102  const std::string& l1ExtraObject,
103  const std::vector<L1GtObject>& l1GtObj, const bool bookPhi =
104  true, const bool bookEta = true);
105 
107  void fillNrObjects(const CollectionType* collType,
108  const bool validColl, const bool isL1Coll, const int bxInEvent);
109 
111  void fillPtPhiEta(const CollectionType* collType, const bool validColl,
112  const bool bookPhi, const bool bookEta, const bool isL1Coll,
113  const int bxInEvent);
114 
116  void fillEtPhiEta(const CollectionType* collType, const bool validColl,
117  const bool bookPhi, const bool bookEta, const bool isL1Coll,
118  const int bxInEvent);
119 
121  void fillEtTotal(const CollectionType* collType, const bool validColl,
122  const bool isL1Coll, const int bxInEvent);
123 
125  void fillCharge(const CollectionType* collType, const bool validColl,
126  const bool isL1Coll, const int bxInEvent);
127 
129  void fillHfBitCounts(const CollectionType* collType,
130  const bool validColl, const int countIndex,
131  const bool isL1Coll, const int bxInEvent);
132 
134  void fillHfRingEtSums(const CollectionType* collType,
135  const bool validColl, const int countIndex,
136  const bool isL1Coll, const int bxInEvent);
137 
138  private:
139 
140  std::vector<MonitorElement*> m_monElement;
141 
152  };
153 
154 protected:
155 
156  void analyzeL1ExtraMuon(const edm::Event&, const edm::EventSetup&);
157  void analyzeL1ExtraIsoEG(const edm::Event&, const edm::EventSetup&);
158  void analyzeL1ExtraNoIsoEG(const edm::Event&, const edm::EventSetup&);
159  void analyzeL1ExtraCenJet(const edm::Event&, const edm::EventSetup&);
160  void analyzeL1ExtraForJet(const edm::Event&, const edm::EventSetup&);
161  void analyzeL1ExtraTauJet(const edm::Event&, const edm::EventSetup&);
163  void analyzeL1ExtraETT(const edm::Event&, const edm::EventSetup&);
164  void analyzeL1ExtraETM(const edm::Event&, const edm::EventSetup&);
165  void analyzeL1ExtraHTT(const edm::Event&, const edm::EventSetup&);
166  void analyzeL1ExtraHTM(const edm::Event&, const edm::EventSetup&);
169 
170  void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const&, edm::EventSetup const&) override;
171  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
172  void analyze(const edm::Event&, const edm::EventSetup&) override;
173  void endRun(const edm::Run& run, const edm::EventSetup& evSetup) override;
174 
175 private:
176 
178 
184 
188 
190 
193 
197 
198 
199 private:
200 
202 
204  std::vector<L1ExtraMonElement<l1extra::L1MuonParticleCollection>*>
206 
207  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*>
209  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*>
211 
212  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
214  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
216  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
218  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
220 
221  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
223 
224  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
226 
227  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
229 
230  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
232 
233  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*>
235 
236  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*>
238 
239 };
240 
241 
242 #endif
int m_nrBxInEventGmt
number of bunch crosses in event to be monitored
Definition: L1ExtraDQM.h:186
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTM
Definition: L1ExtraDQM.h:231
std::string m_dirName
directory name for L1Extra plots
Definition: L1ExtraDQM.h:182
edm::EDGetTokenT< l1extra::L1JetParticleCollection > m_tagL1ExtraIsoTauJetTok
Definition: L1ExtraDQM.h:201
void fillNrObjects(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
number of objects
Definition: L1ExtraDQM.cc:1143
int m_currentRun
Definition: L1ExtraDQM.h:192
int m_nrEvJob
Definition: L1ExtraDQM.h:195
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETM
Definition: L1ExtraDQM.h:225
void fillHfRingEtSums(const CollectionType *collType, const bool validColl, const int countIndex, const bool isL1Coll, const int bxInEvent)
fill energy sums in HFRings collections
Definition: L1ExtraDQM.cc:1277
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraTauJet
Definition: L1ExtraDQM.h:217
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraForJet
Definition: L1ExtraDQM.h:215
void analyzeL1ExtraETT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:274
void analyzeL1ExtraIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:118
void analyzeL1ExtraETM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:291
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:99
edm::InputTag L1ExtraIsoTauJetSource
Definition: L1ExtraDQM.h:180
void analyzeL1ExtraCenJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:166
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:388
~L1ExtraDQM() override
Definition: L1ExtraDQM.cc:87
void analyzeL1ExtraForJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:191
std::vector< L1ExtraMonElement< l1extra::L1MuonParticleCollection > * > m_meAnalysisL1ExtraMuon
pointers to L1ExtraMonElement for each sub-analysis
Definition: L1ExtraDQM.h:205
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTT
Definition: L1ExtraDQM.h:228
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraIsoEG
Definition: L1ExtraDQM.h:208
void analyzeL1ExtraTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:215
void analyzeL1ExtraIsoTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:239
void analyzeL1ExtraMuon(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:93
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfRingEtSums
Definition: L1ExtraDQM.h:237
bool m_stage1_layer2_
Definition: L1ExtraDQM.h:183
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraNoIsoEG
Definition: L1ExtraDQM.h:210
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:720
void analyzeL1ExtraHTM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:328
void bookhistograms(const edm::EventSetup &evSetup, DQMStore::IBooker &ibooker, const std::string &l1ExtraObject, const std::vector< L1GtObject > &l1GtObj, const bool bookPhi=true, const bool bookEta=true)
Definition: L1ExtraDQM.cc:897
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: L1ExtraDQM.cc:393
L1ExtraMonElement(const edm::EventSetup &, const int)
Definition: L1ExtraDQM.cc:872
bool m_resetModule
internal members
Definition: L1ExtraDQM.h:191
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraIsoTauJet
Definition: L1ExtraDQM.h:219
void fillPtPhiEta(const CollectionType *collType, const bool validColl, const bool bookPhi, const bool bookEta, const bool isL1Coll, const int bxInEvent)
PT, eta, phi.
Definition: L1ExtraDQM.cc:1164
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraCenJet
Definition: L1ExtraDQM.h:213
void fillHfBitCounts(const CollectionType *collType, const bool validColl, const int countIndex, const bool isL1Coll, const int bxInEvent)
fill bit counts in HFRings collections
Definition: L1ExtraDQM.cc:1256
L1ExtraDQM(const edm::ParameterSet &)
Definition: L1ExtraDQM.cc:26
void analyzeL1ExtraHTT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:312
int m_nrBxInEventGct
Definition: L1ExtraDQM.h:187
void analyzeL1ExtraHfRingEtSums(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:368
L1RetrieveL1Extra m_retrieveL1Extra
input parameters
Definition: L1ExtraDQM.h:179
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETT
Definition: L1ExtraDQM.h:222
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfBitCounts
Definition: L1ExtraDQM.h:234
void analyzeL1ExtraNoIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:142
void analyzeL1ExtraHfBitCounts(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:348
void fillCharge(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill charge
Definition: L1ExtraDQM.cc:1238
int m_indexNrObjects
histogram index for each quantity, set during histogram booking
Definition: L1ExtraDQM.h:143
void fillEtPhiEta(const CollectionType *collType, const bool validColl, const bool bookPhi, const bool bookEta, const bool isL1Coll, const int bxInEvent)
ET, eta, phi.
Definition: L1ExtraDQM.cc:1192
void endRun(const edm::Run &run, const edm::EventSetup &evSetup) override
Definition: L1ExtraDQM.cc:746
int m_nrEvRun
Definition: L1ExtraDQM.h:196
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:140
Definition: Run.h:44
void fillEtTotal(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill ET total in energy sums
Definition: L1ExtraDQM.cc:1220