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 beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
173  void analyze(const edm::Event&, const edm::EventSetup&) override;
174  void endRun(const edm::Run& run, const edm::EventSetup& evSetup) override;
175 
176 private:
177 
179 
185 
189 
191 
194 
198 
199 
200 private:
201 
203 
205  std::vector<L1ExtraMonElement<l1extra::L1MuonParticleCollection>*>
207 
208  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*>
210  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*>
212 
213  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
215  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
217  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
219  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*>
221 
222  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
224 
225  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
227 
228  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
230 
231  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*>
233 
234  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*>
236 
237  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*>
239 
240 };
241 
242 
243 #endif
int m_nrBxInEventGmt
number of bunch crosses in event to be monitored
Definition: L1ExtraDQM.h:187
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTM
Definition: L1ExtraDQM.h:232
std::string m_dirName
directory name for L1Extra plots
Definition: L1ExtraDQM.h:183
edm::EDGetTokenT< l1extra::L1JetParticleCollection > m_tagL1ExtraIsoTauJetTok
Definition: L1ExtraDQM.h:202
void fillNrObjects(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
number of objects
Definition: L1ExtraDQM.cc:1146
int m_currentRun
Definition: L1ExtraDQM.h:193
int m_nrEvJob
Definition: L1ExtraDQM.h:196
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETM
Definition: L1ExtraDQM.h:226
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:1280
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraTauJet
Definition: L1ExtraDQM.h:218
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraForJet
Definition: L1ExtraDQM.h:216
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:181
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:206
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTT
Definition: L1ExtraDQM.h:229
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraIsoEG
Definition: L1ExtraDQM.h:209
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:238
bool m_stage1_layer2_
Definition: L1ExtraDQM.h:184
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraNoIsoEG
Definition: L1ExtraDQM.h:211
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:723
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:900
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:392
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: L1ExtraDQM.cc:396
L1ExtraMonElement(const edm::EventSetup &, const int)
Definition: L1ExtraDQM.cc:875
bool m_resetModule
internal members
Definition: L1ExtraDQM.h:192
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraIsoTauJet
Definition: L1ExtraDQM.h:220
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:1167
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraCenJet
Definition: L1ExtraDQM.h:214
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:1259
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:188
void analyzeL1ExtraHfRingEtSums(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:368
L1RetrieveL1Extra m_retrieveL1Extra
input parameters
Definition: L1ExtraDQM.h:180
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETT
Definition: L1ExtraDQM.h:223
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfBitCounts
Definition: L1ExtraDQM.h:235
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:1241
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:1195
void endRun(const edm::Run &run, const edm::EventSetup &evSetup) override
Definition: L1ExtraDQM.cc:749
int m_nrEvRun
Definition: L1ExtraDQM.h:197
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:140
Definition: Run.h:43
void fillEtTotal(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill ET total in energy sums
Definition: L1ExtraDQM.cc:1223