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 
67 
68 #include "boost/lexical_cast.hpp"
70 
71 // forward declarations
72 
73 // class declaration
74 class L1ExtraDQM : public DQMOneEDAnalyzer<> {
75 public:
76  // constructor(s)
77  explicit L1ExtraDQM(const edm::ParameterSet&);
78 
79  // destructor
80  ~L1ExtraDQM() override;
81 
82 public:
83  template <class CollectionType>
85  public:
86  // constructor
87  L1ExtraMonElement(const edm::EventSetup&, const int);
88 
89  // destructor
90  virtual ~L1ExtraMonElement();
91 
92  public:
93  typedef typename CollectionType::const_iterator CIterColl;
94 
95  void bookhistograms(const edm::EventSetup& evSetup,
96  DQMStore::IBooker& ibooker,
97  const std::string& l1ExtraObject,
98  const std::vector<L1GtObject>& l1GtObj,
99  const bool bookPhi = true,
100  const bool bookEta = true);
101 
103  void fillNrObjects(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
104 
106  void fillPtPhiEta(const CollectionType* collType,
107  const bool validColl,
108  const bool bookPhi,
109  const bool bookEta,
110  const bool isL1Coll,
111  const int bxInEvent);
112 
114  void fillEtPhiEta(const CollectionType* collType,
115  const bool validColl,
116  const bool bookPhi,
117  const bool bookEta,
118  const bool isL1Coll,
119  const int bxInEvent);
120 
122  void fillEtTotal(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
123 
125  void fillCharge(const CollectionType* collType, const bool validColl, const bool isL1Coll, const int bxInEvent);
126 
128  void fillHfBitCounts(const CollectionType* collType,
129  const bool validColl,
130  const int countIndex,
131  const bool isL1Coll,
132  const int bxInEvent);
133 
135  void fillHfRingEtSums(const CollectionType* collType,
136  const bool validColl,
137  const int countIndex,
138  const bool isL1Coll,
139  const int bxInEvent);
140 
141  private:
142  std::vector<MonitorElement*> m_monElement;
143 
154  };
155 
156 protected:
157  void analyzeL1ExtraMuon(const edm::Event&, const edm::EventSetup&);
158  void analyzeL1ExtraIsoEG(const edm::Event&, const edm::EventSetup&);
159  void analyzeL1ExtraNoIsoEG(const edm::Event&, const edm::EventSetup&);
160  void analyzeL1ExtraCenJet(const edm::Event&, const edm::EventSetup&);
161  void analyzeL1ExtraForJet(const edm::Event&, const edm::EventSetup&);
162  void analyzeL1ExtraTauJet(const edm::Event&, const edm::EventSetup&);
164  void analyzeL1ExtraETT(const edm::Event&, const edm::EventSetup&);
165  void analyzeL1ExtraETM(const edm::Event&, const edm::EventSetup&);
166  void analyzeL1ExtraHTT(const edm::Event&, const edm::EventSetup&);
167  void analyzeL1ExtraHTM(const edm::Event&, const edm::EventSetup&);
170 
171  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
172  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
173  void analyze(const edm::Event&, const edm::EventSetup&) override;
174  void dqmEndRun(const edm::Run& run, const edm::EventSetup& evSetup) override;
175 
176 private:
178 
184 
188 
190 
193 
197 
198 private:
200 
202  std::vector<L1ExtraMonElement<l1extra::L1MuonParticleCollection>*> m_meAnalysisL1ExtraMuon;
203 
204  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*> m_meAnalysisL1ExtraIsoEG;
205  std::vector<L1ExtraMonElement<l1extra::L1EmParticleCollection>*> m_meAnalysisL1ExtraNoIsoEG;
206 
207  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraCenJet;
208  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraForJet;
209  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraTauJet;
210  std::vector<L1ExtraMonElement<l1extra::L1JetParticleCollection>*> m_meAnalysisL1ExtraIsoTauJet;
211 
212  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraETT;
213 
214  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraETM;
215 
216  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraHTT;
217 
218  std::vector<L1ExtraMonElement<l1extra::L1EtMissParticleCollection>*> m_meAnalysisL1ExtraHTM;
219 
220  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*> m_meAnalysisL1ExtraHfBitCounts;
221 
222  std::vector<L1ExtraMonElement<l1extra::L1HFRingsCollection>*> m_meAnalysisL1ExtraHfRingEtSums;
223 };
224 
225 #endif
L1ExtraDQM::L1ExtraMonElement::fillHfBitCounts
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:1133
L1ExtraDQM::m_nrEvRun
int m_nrEvRun
Definition: L1ExtraDQM.h:196
L1ExtraDQM::analyzeL1ExtraForJet
void analyzeL1ExtraForJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:171
L1ExtraDQM::m_currentRun
int m_currentRun
Definition: L1ExtraDQM.h:192
L1ExtraDQM::m_tagL1ExtraIsoTauJetTok
edm::EDGetTokenT< l1extra::L1JetParticleCollection > m_tagL1ExtraIsoTauJetTok
Definition: L1ExtraDQM.h:199
Handle.h
L1ExtraDQM::m_meAnalysisL1ExtraIsoEG
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraIsoEG
Definition: L1ExtraDQM.h:204
L1ExtraDQM::L1ExtraDQM
L1ExtraDQM(const edm::ParameterSet &)
Definition: L1ExtraDQM.cc:25
L1HFRingsFwd.h
L1ExtraDQM::L1ExtraMonElement::fillCharge
void fillCharge(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill charge
Definition: L1ExtraDQM.cc:1117
MessageLogger.h
L1ExtraDQM::analyzeL1ExtraHfBitCounts
void analyzeL1ExtraHfBitCounts(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:300
L1MuonParticleFwd.h
L1ExtraDQM::m_nrEvJob
int m_nrEvJob
Definition: L1ExtraDQM.h:195
ESHandle.h
L1ExtraDQM::L1ExtraMonElement::CIterColl
CollectionType::const_iterator CIterColl
Definition: L1ExtraDQM.h:93
L1ExtraDQM::L1ExtraMonElement::fillEtPhiEta
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:1074
L1GlobalTriggerReadoutSetupFwd.h
edm::Run
Definition: Run.h:45
edm::EDGetTokenT< l1extra::L1JetParticleCollection >
L1ExtraDQM
Definition: L1ExtraDQM.h:74
L1ExtraDQM::m_meAnalysisL1ExtraForJet
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraForJet
Definition: L1ExtraDQM.h:208
L1ExtraDQM::analyzeL1ExtraIsoEG
void analyzeL1ExtraIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:107
L1ExtraDQM::L1ExtraMonElement::fillEtTotal
void fillEtTotal(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
fill ET total in energy sums
Definition: L1ExtraDQM.cc:1101
L1ExtraDQM::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:334
DQMOneEDAnalyzer
Definition: DQMOneEDAnalyzer.h:20
DQMStore.h
EDAnalyzer.h
L1HFRings.h
L1ExtraDQM::L1ExtraMonElement::m_indexPt
int m_indexPt
Definition: L1ExtraDQM.h:146
L1ExtraDQM::analyzeL1ExtraETM
void analyzeL1ExtraETM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:259
L1ExtraDQM::L1ExtraMonElement::m_indexNrObjects
int m_indexNrObjects
histogram index for each quantity, set during histogram booking
Definition: L1ExtraDQM.h:145
L1ExtraDQM::L1ExtraMonElement::~L1ExtraMonElement
virtual ~L1ExtraMonElement()
Definition: L1ExtraDQM.cc:804
L1ExtraDQM::m_meAnalysisL1ExtraMuon
std::vector< L1ExtraMonElement< l1extra::L1MuonParticleCollection > * > m_meAnalysisL1ExtraMuon
pointers to L1ExtraMonElement for each sub-analysis
Definition: L1ExtraDQM.h:202
L1GetHistLimits.h
L1ExtraDQM::analyzeL1ExtraNoIsoEG
void analyzeL1ExtraNoIsoEG(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:128
L1ExtraDQM::analyzeL1ExtraHTM
void analyzeL1ExtraHTM(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:285
DQMOneEDAnalyzer.h
L1ExtraDQM::L1ExtraMonElement::m_monElement
std::vector< MonitorElement * > m_monElement
Definition: L1ExtraDQM.h:142
L1ExtraDQM::L1ExtraMonElement::m_indexHfRingEtSums
int m_indexHfRingEtSums
Definition: L1ExtraDQM.h:153
L1ExtraDQM::L1ExtraMonElement::m_indexEt
int m_indexEt
Definition: L1ExtraDQM.h:147
L1ExtraDQM::dqmEndRun
void dqmEndRun(const edm::Run &run, const edm::EventSetup &evSetup) override
Definition: L1ExtraDQM.cc:682
L1ExtraDQM::m_stage1_layer2_
bool m_stage1_layer2_
Definition: L1ExtraDQM.h:183
L1ExtraDQM::L1ExtraMonElement::m_indexHfBitCounts
int m_indexHfBitCounts
Definition: L1ExtraDQM.h:152
Service.h
L1ExtraDQM::L1ExtraMonElement::bookhistograms
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:809
L1ExtraDQM::L1ExtraMonElement::fillHfRingEtSums
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:1151
OrphanHandle.h
L1ExtraDQM::L1ExtraMonElement::m_indexEta
int m_indexEta
Definition: L1ExtraDQM.h:149
Run.h
L1ExtraDQM::L1ExtraMonElement::fillPtPhiEta
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:1047
L1ExtraDQM::analyzeL1ExtraTauJet
void analyzeL1ExtraTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:192
L1ExtraDQM::analyzeL1ExtraIsoTauJet
void analyzeL1ExtraIsoTauJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:213
L1ExtraDQM::analyzeL1ExtraCenJet
void analyzeL1ExtraCenJet(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:150
L1ExtraDQM::analyzeL1ExtraETT
void analyzeL1ExtraETT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:248
L1ExtraDQM::analyzeL1ExtraMuon
void analyzeL1ExtraMuon(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:86
L1ExtraDQM::m_nrBxInEventGct
int m_nrBxInEventGct
Definition: L1ExtraDQM.h:187
L1EmParticleFwd.h
L1ExtraDQM::L1ExtraMonElement::L1ExtraMonElement
L1ExtraMonElement(const edm::EventSetup &, const int)
Definition: L1ExtraDQM.cc:789
L1ExtraDQM::L1ExtraMonElement::m_indexPhi
int m_indexPhi
Definition: L1ExtraDQM.h:148
L1ExtraDQM::L1ExtraMonElement
Definition: L1ExtraDQM.h:84
L1ExtraDQM::~L1ExtraDQM
~L1ExtraDQM() override
Definition: L1ExtraDQM.cc:82
L1JetParticleFwd.h
edm::ParameterSet
Definition: ParameterSet.h:47
L1EtMissParticleFwd.h
L1ExtraDQM::m_resetModule
bool m_resetModule
internal members
Definition: L1ExtraDQM.h:191
L1RetrieveL1Extra
Definition: L1RetrieveL1Extra.h:55
Event.h
L1ExtraDQM::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1ExtraDQM.cc:658
L1ExtraDQM::m_meAnalysisL1ExtraIsoTauJet
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraIsoTauJet
Definition: L1ExtraDQM.h:210
L1ExtraDQM::L1ExtraMonElement::m_indexCharge
int m_indexCharge
Definition: L1ExtraDQM.h:151
L1ExtraDQM::m_meAnalysisL1ExtraHTT
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTT
Definition: L1ExtraDQM.h:216
edm::EventSetup
Definition: EventSetup.h:58
L1ExtraDQM::m_meAnalysisL1ExtraNoIsoEG
std::vector< L1ExtraMonElement< l1extra::L1EmParticleCollection > * > m_meAnalysisL1ExtraNoIsoEG
Definition: L1ExtraDQM.h:205
L1EmParticle.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
InputTag.h
L1ExtraDQM::m_meAnalysisL1ExtraHfBitCounts
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfBitCounts
Definition: L1ExtraDQM.h:220
L1PhiConversion.h
L1ExtraDQM::analyzeL1ExtraHfRingEtSums
void analyzeL1ExtraHfRingEtSums(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:317
writedatasetfile.run
run
Definition: writedatasetfile.py:27
L1ExtraDQM::m_meAnalysisL1ExtraETT
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETT
Definition: L1ExtraDQM.h:212
L1MuonParticle.h
L1ExtraDQM::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: L1ExtraDQM.cc:336
L1ExtraDQM::m_meAnalysisL1ExtraHfRingEtSums
std::vector< L1ExtraMonElement< l1extra::L1HFRingsCollection > * > m_meAnalysisL1ExtraHfRingEtSums
Definition: L1ExtraDQM.h:222
L1ExtraDQM::m_nrBxInEventGmt
int m_nrBxInEventGmt
number of bunch crosses in event to be monitored
Definition: L1ExtraDQM.h:186
Frameworkfwd.h
L1ExtraDQM::analyzeL1ExtraHTT
void analyzeL1ExtraHTT(const edm::Event &, const edm::EventSetup &)
Definition: L1ExtraDQM.cc:274
L1ExtraDQM::m_meAnalysisL1ExtraETM
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraETM
Definition: L1ExtraDQM.h:214
EventSetup.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
L1RetrieveL1Extra.h
L1EtMissParticle.h
ParameterSet.h
L1ExtraDQM::m_dirName
std::string m_dirName
directory name for L1Extra plots
Definition: L1ExtraDQM.h:182
L1ExtraDQM::m_retrieveL1Extra
L1RetrieveL1Extra m_retrieveL1Extra
input parameters
Definition: L1ExtraDQM.h:179
edm::Event
Definition: Event.h:73
L1JetParticle.h
edm::InputTag
Definition: InputTag.h:15
L1ExtraDQM::L1ExtraMonElement::fillNrObjects
void fillNrObjects(const CollectionType *collType, const bool validColl, const bool isL1Coll, const int bxInEvent)
number of objects
Definition: L1ExtraDQM.cc:1028
L1ExtraDQM::m_meAnalysisL1ExtraHTM
std::vector< L1ExtraMonElement< l1extra::L1EtMissParticleCollection > * > m_meAnalysisL1ExtraHTM
Definition: L1ExtraDQM.h:218
L1ExtraDQM::L1ExtraIsoTauJetSource
edm::InputTag L1ExtraIsoTauJetSource
Definition: L1ExtraDQM.h:180
L1ExtraDQM::m_meAnalysisL1ExtraCenJet
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraCenJet
Definition: L1ExtraDQM.h:207
L1ExtraDQM::m_meAnalysisL1ExtraTauJet
std::vector< L1ExtraMonElement< l1extra::L1JetParticleCollection > * > m_meAnalysisL1ExtraTauJet
Definition: L1ExtraDQM.h:209
L1ExtraDQM::L1ExtraMonElement::m_indexEtTotal
int m_indexEtTotal
Definition: L1ExtraDQM.h:150