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 
28 //
32 
36 
39 
43 
45 
46 // L1Extra objects
57 
59 
63 
65 
67 
68 // forward declarations
69 
70 // class declaration
71 class L1ExtraDQM : public DQMOneEDAnalyzer<> {
72 public:
73  // constructor(s)
74  explicit L1ExtraDQM(const edm::ParameterSet&);
75 
76  // destructor
77  ~L1ExtraDQM() override;
78 
79 public:
80  template <class CollectionType>
82  public:
83  // constructor
84  L1ExtraMonElement(const L1GetHistLimits::Tokens&, const int);
85 
86  // destructor
87  virtual ~L1ExtraMonElement();
88 
89  public:
90  typedef typename CollectionType::const_iterator CIterColl;
91 
92  void bookhistograms(const edm::EventSetup& evSetup,
93  DQMStore::IBooker& ibooker,
94  const std::string& l1ExtraObject,
95  const std::vector<L1GtObject>& l1GtObj,
96  const bool bookPhi = true,
97  const bool bookEta = true);
98 
100  void fillNrObjects(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
101 
103  void fillPtPhiEta(const CollectionType* collType,
104  const bool validColl,
105  const bool bookPhi,
106  const bool bookEta,
107  const bool isL1Coll,
108  const int bxInEvent);
109 
111  void fillEtPhiEta(const CollectionType* collType,
112  const bool validColl,
113  const bool bookPhi,
114  const bool bookEta,
115  const bool isL1Coll,
116  const int bxInEvent);
117 
119  void fillEtTotal(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
120 
122  void fillCharge(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
123 
125  void fillHfBitCounts(const CollectionType* collType,
126  const bool validColl,
127  const int countIndex,
128  const bool isL1Coll,
129  const int bxInEvent);
130 
132  void fillHfRingEtSums(const CollectionType* collType,
133  const bool validColl,
134  const int countIndex,
135  const bool isL1Coll,
136  const int bxInEvent);
137 
138  private:
140  std::vector<MonitorElement*> m_monElement;
141 
152  };
153 
154 protected:
155  void analyzeL1ExtraMuon(const edm::Event&, const edm::EventSetup&);
156  void analyzeL1ExtraIsoEG(const edm::Event&, const edm::EventSetup&);
157  void analyzeL1ExtraNoIsoEG(const edm::Event&, const edm::EventSetup&);
158  void analyzeL1ExtraCenJet(const edm::Event&, const edm::EventSetup&);
159  void analyzeL1ExtraForJet(const edm::Event&, const edm::EventSetup&);
160  void analyzeL1ExtraTauJet(const edm::Event&, const edm::EventSetup&);
162  void analyzeL1ExtraETT(const edm::Event&, const edm::EventSetup&);
163  void analyzeL1ExtraETM(const edm::Event&, const edm::EventSetup&);
164  void analyzeL1ExtraHTT(const edm::Event&, const edm::EventSetup&);
165  void analyzeL1ExtraHTM(const edm::Event&, const edm::EventSetup&);
168 
169  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
170  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
171  void analyze(const edm::Event&, const edm::EventSetup&) override;
172  void dqmEndRun(const edm::Run& run, const edm::EventSetup& evSetup) override;
173 
174 private:
181 
185 
187 
190 
194 
195 private:
197 
199 
201  std::vector<L1ExtraMonElement<l1extra::L1MuonParticleCollection>*> m_meAnalysisL1ExtraMuon;
202 
203  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*> m_meAnalysisL1ExtraIsoEG;
204  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*> m_meAnalysisL1ExtraNoIsoEG;
205 
206  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraCenJet;
207  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraForJet;
208  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraTauJet;
209  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraIsoTauJet;
210 
211  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraETT;
212 
213  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraETM;
214 
215  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraHTT;
216 
217  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraHTM;
218 
219  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*> m_meAnalysisL1ExtraHfBitCounts;
220 
221  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*> m_meAnalysisL1ExtraHfRingEtSums;
222 };
223 
224 #endif
int m_nrBxInEventGmt
number of bunch crosses in event to be monitored
Definition: L1ExtraDQM.h:183
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTM
Definition: L1ExtraDQM.h:217
std::string m_dirName
directory name for L1Extra plots
Definition: L1ExtraDQM.h:179
edm::EDGetTokenT< l1extra::L1JetParticleCollection > m_tagL1ExtraIsoTauJetTok
Definition: L1ExtraDQM.h:196
void fillNrObjects(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
number of objects
Definition: L1ExtraDQM.cc:1030
int m_currentRun
Definition: L1ExtraDQM.h:189
int m_nrEvJob
Definition: L1ExtraDQM.h:192
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETM
Definition: L1ExtraDQM.h:213
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:1153
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraTauJet
Definition: L1ExtraDQM.h:208
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraForJet
Definition: L1ExtraDQM.h:207
void analyzeL1ExtraETT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:248
void analyzeL1ExtraIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:107
void analyzeL1ExtraETM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:259
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:90
edm::InputTag L1ExtraIsoTauJetSource
Definition: L1ExtraDQM.h:177
void analyzeL1ExtraCenJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:150
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:334
~L1ExtraDQM() override
Definition: L1ExtraDQM.cc:82
void analyzeL1ExtraForJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:171
std::vector< L1ExtraMonElement< l1extra::L1MuonParticleCollection > * > m_meAnalysisL1ExtraMuon
pointers to L1ExtraMonElement for each sub-analysis
Definition: L1ExtraDQM.h:201
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTT
Definition: L1ExtraDQM.h:215
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraIsoEG
Definition: L1ExtraDQM.h:203
void analyzeL1ExtraTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:192
void analyzeL1ExtraIsoTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:213
void analyzeL1ExtraMuon(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:86
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfRingEtSums
Definition: L1ExtraDQM.h:221
bool m_stage1_layer2_
Definition: L1ExtraDQM.h:180
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraNoIsoEG
Definition: L1ExtraDQM.h:204
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:658
void analyzeL1ExtraHTM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:285
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:811
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: L1ExtraDQM.cc:336
bool m_resetModule
internal members
Definition: L1ExtraDQM.h:188
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraIsoTauJet
Definition: L1ExtraDQM.h:209
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:1049
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraCenJet
Definition: L1ExtraDQM.h:206
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:1135
L1ExtraDQM(const edm::ParameterSet &)
Definition: L1ExtraDQM.cc:25
L1ExtraMonElement(const L1GetHistLimits::Tokens &, const int)
Definition: L1ExtraDQM.cc:789
void dqmEndRun(const edm::Run &run, const edm::EventSetup &evSetup) override
Definition: L1ExtraDQM.cc:682
void analyzeL1ExtraHTT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:274
int m_nrBxInEventGct
Definition: L1ExtraDQM.h:184
void analyzeL1ExtraHfRingEtSums(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:317
L1RetrieveL1Extra m_retrieveL1Extra
input parameters
Definition: L1ExtraDQM.h:176
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETT
Definition: L1ExtraDQM.h:211
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfBitCounts
Definition: L1ExtraDQM.h:219
void analyzeL1ExtraNoIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:128
void analyzeL1ExtraHfBitCounts(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:300
void fillCharge(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill charge
Definition: L1ExtraDQM.cc:1119
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:1076
int m_nrEvRun
Definition: L1ExtraDQM.h:193
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:140
L1GetHistLimits::Tokens m_tokens
Definition: L1ExtraDQM.h:139
Definition: Run.h:45
void fillEtTotal(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill ET total in energy sums
Definition: L1ExtraDQM.cc:1103
L1GetHistLimits::Tokens m_histTokens
Definition: L1ExtraDQM.h:198