CMS 3D CMS Logo

L1TdeRCT.h
Go to the documentation of this file.
1 #ifndef L1TdeRCT_H
2 #define L1TdeRCT_H
3 
4 // system include files
5 #include <memory>
6 #include <unistd.h>
7 
8 #include <iostream>
9 #include <fstream>
10 #include <vector>
11 #include <bitset>
12 
13 // user include files
15 
18 
20 
23 
24 // DQM
26 
27 // GCT and RCT data formats
34 // TPGs
37 
39 
40 class RunInfoRcd;
41 class RunInfo;
42 // Trigger Headers
43 //
44 // class declaration
45 //
46 namespace l1tderct {
47  struct Empty {};
48 } // namespace l1tderct
49 
50 class L1TdeRCT : public DQMOneEDAnalyzer<edm::LuminosityBlockCache<l1tderct::Empty>> {
51 public:
52  // Constructor
53  L1TdeRCT(const edm::ParameterSet& ps);
54 
55  // Destructor
56  ~L1TdeRCT() override;
57 
58 protected:
59  // Analyze
60  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
61 
62  //For FED vector monitoring
63  void bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&, const edm::EventSetup&) override;
64  std::shared_ptr<l1tderct::Empty> globalBeginLuminosityBlock(const edm::LuminosityBlock&,
65  const edm::EventSetup&) const override;
67  void readFEDVector(MonitorElement*, const edm::EventSetup&, const bool isLumitransition = true) const;
68 
69 private:
70  // ----------member data ---------------------------
71 
72  // begin GT decision information
74 
75  // trigger type information
77 
78  // begin region information
86 
92 
98  // MonitorElement *rctRegDeltaEt2D_;
101 
107 
111 
112  // end region information
113 
114  // begin bit information
144  // QUIETBIT: To add quiet bit information, uncomment following 3 lines:
145  // MonitorElement *rctBitQuietEff2D_;
146  // MonitorElement *rctBitQuietIneff2D_;
147  // MonitorElement *rctBitQuietOvereff2D_;
156 
157  // end bit information
158 
165 
178 
191 
195 
208 
221 
225 
229 
233 
234  // begin region channel information
238 
239  //efficiency
246 
247  // end region channel information
248 
249  //begin fed vector information
250  static const int crateFED[108];
254 
255  int nev_; // Number of events processed
256  std::string histFolder_; // base dqm folder
257  bool verbose_;
259  bool perLSsaving_; //to avoid nanoDQMIO crashing, driven by DQMServices/Core/python/DQMStore_cfi.py
260 
272  std::string gtEGAlgoName_; // name of algo to determine EG trigger threshold
273  int doubleThreshold_; // value of ET at which to make 2-D eff plot
274 
278 
280 
282 
283 protected:
286 };
287 
288 #endif
MonitorElement * rctBitUnmatchedDataTauVeto2D_
Definition: L1TdeRCT.h:127
void DivideME2D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
Definition: L1TdeRCT.cc:1122
void readFEDVector(MonitorElement *, const edm::EventSetup &, const bool isLumitransition=true) const
Definition: L1TdeRCT.cc:2105
MonitorElement * rctRegUnmatchedDataOcc1D_
Definition: L1TdeRCT.h:82
MonitorElement * rctIsoEmBitDiff_
Definition: L1TdeRCT.h:194
MonitorElement * rctRegMatchedOcc1D_
Definition: L1TdeRCT.h:81
MonitorElement * rctNisoEmEmulOcc1D_
Definition: L1TdeRCT.h:210
MonitorElement * rctNisoEmIneff2oneD_
Definition: L1TdeRCT.h:218
MonitorElement * rctNisoEmIneff1D_
Definition: L1TdeRCT.h:219
static const int crateFED[108]
Definition: L1TdeRCT.h:250
MonitorElement * rctNisoEmEff2Occ1D_
Definition: L1TdeRCT.h:212
MonitorElement * rctInputTPGHcalOcc_
Definition: L1TdeRCT.h:162
MonitorElement * rctNisoEmEff2oneD_
Definition: L1TdeRCT.h:217
MonitorElement * rctNisoEmIneff2Occ1D_
Definition: L1TdeRCT.h:213
int selectBX_
Definition: L1TdeRCT.h:277
MonitorElement * rctBitMatchedTauVeto2D_
Definition: L1TdeRCT.h:125
MonitorElement * rctBitDataMip2D_
Definition: L1TdeRCT.h:132
MonitorElement * rctBitUnmatchedDataHfPlusTau2D_
Definition: L1TdeRCT.h:152
int nev_
Definition: L1TdeRCT.h:255
edm::EDGetTokenT< L1CaloRegionCollection > gctSourceData_rgnData_
Definition: L1TdeRCT.h:265
MonitorElement * rctBitEmulTauVeto2D_
Definition: L1TdeRCT.h:123
MonitorElement * rctIsoEmIneff2Occ_
Definition: L1TdeRCT.h:170
edm::ESGetToken< RunInfo, RunInfoRcd > runInfolumiToken_
Definition: L1TdeRCT.h:271
MonitorElement * trigEffThresh_
Definition: L1TdeRCT.h:240
MonitorElement * rctBitHfPlusTauIneff2D_
Definition: L1TdeRCT.h:154
bool verbose_
Definition: L1TdeRCT.h:257
MonitorElement * rctIsoEmIneff2Occ1D_
Definition: L1TdeRCT.h:183
MonitorElement * rctIsoEmEmulOcc1D_
Definition: L1TdeRCT.h:180
MonitorElement * rctBitUnmatchedEmulTauVeto2D_
Definition: L1TdeRCT.h:126
edm::EDGetTokenT< L1CaloEmCollection > rctSourceData_emData_
Definition: L1TdeRCT.h:264
MonitorElement * rctBitUnmatchedEmulQuiet2D_
Definition: L1TdeRCT.h:142
MonitorElement * trigEffThreshOcc_
Definition: L1TdeRCT.h:241
MonitorElement * rctNisoEffChannel_[396]
Definition: L1TdeRCT.h:230
MonitorElement * rctRegOvereff1D_
Definition: L1TdeRCT.h:89
int doubleThreshold_
Definition: L1TdeRCT.h:273
MonitorElement * rctIsoEmEff2_
Definition: L1TdeRCT.h:174
MonitorElement * rctNisoEmOvereffOcc1D_
Definition: L1TdeRCT.h:215
MonitorElement * trigEffOcc_[396]
Definition: L1TdeRCT.h:244
MonitorElement * rctRegOvereff2D_
Definition: L1TdeRCT.h:104
MonitorElement * rctIsoEmOvereffOcc1D_
Definition: L1TdeRCT.h:185
MonitorElement * triggerType_
Definition: L1TdeRCT.h:76
MonitorElement * rctBitTauVetoEff2D_
Definition: L1TdeRCT.h:128
MonitorElement * rctBitMatchedQuiet2D_
Definition: L1TdeRCT.h:141
MonitorElement * rctBitTauVetoOvereff2D_
Definition: L1TdeRCT.h:130
MonitorElement * rctRegDataOcc1D_
Definition: L1TdeRCT.h:79
MonitorElement * rctIsoEmIneffOcc_
Definition: L1TdeRCT.h:171
MonitorElement * rctBitDataQuiet2D_
Definition: L1TdeRCT.h:140
MonitorElement * rctBitMatchedHfPlusTau2D_
Definition: L1TdeRCT.h:150
MonitorElement * rctIsoEmEff2Occ_
Definition: L1TdeRCT.h:169
MonitorElement * rctRegEmulOcc2D_
Definition: L1TdeRCT.h:94
MonitorElement * rctRegUnmatchedEmulOcc2D_
Definition: L1TdeRCT.h:97
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtDigisLabel_
Definition: L1TdeRCT.h:269
std::string histFolder_
Definition: L1TdeRCT.h:256
MonitorElement * rctRegSpEff2D_
Definition: L1TdeRCT.h:105
MonitorElement * rctBitUnmatchedEmulOverFlow2D_
Definition: L1TdeRCT.h:118
MonitorElement * rctIsoEmBitOn_
Definition: L1TdeRCT.h:192
MonitorElement * rctRegIneff2D_
Definition: L1TdeRCT.h:103
MonitorElement * rctIsoEmEff2Occ1D_
Definition: L1TdeRCT.h:182
bool singlechannelhistos_
Definition: L1TdeRCT.h:258
MonitorElement * rctBitMipIneff2D_
Definition: L1TdeRCT.h:137
MonitorElement * rctBitOverFlowOvereff2D_
Definition: L1TdeRCT.h:122
MonitorElement * rctInputTPGHcalSample_
Definition: L1TdeRCT.h:164
MonitorElement * rctIsoEmOvereff_
Definition: L1TdeRCT.h:177
MonitorElement * rctBitDataOverFlow2D_
Definition: L1TdeRCT.h:116
MonitorElement * rctIsoEmDataOcc_
Definition: L1TdeRCT.h:166
MonitorElement * fedVectorMonitorLS_
Definition: L1TdeRCT.h:252
MonitorElement * rctNisoEmEff1oneD_
Definition: L1TdeRCT.h:216
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPGData_
Definition: L1TdeRCT.h:268
MonitorElement * rctNisoEmIneff2Occ_
Definition: L1TdeRCT.h:200
MonitorElement * rctNisoEmOvereffOcc_
Definition: L1TdeRCT.h:202
MonitorElement * rctRegBitOn_
Definition: L1TdeRCT.h:108
MonitorElement * rctRegBitDiff_
Definition: L1TdeRCT.h:110
MonitorElement * rctNisoEmDataOcc_
Definition: L1TdeRCT.h:196
MonitorElement * rctNisoEmIneff2_
Definition: L1TdeRCT.h:205
MonitorElement * rctBitDataHfPlusTau2D_
Definition: L1TdeRCT.h:149
std::string gtEGAlgoName_
Definition: L1TdeRCT.h:272
void DivideME1D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
Definition: L1TdeRCT.cc:1130
MonitorElement * rctRegIneffChannel_[396]
Definition: L1TdeRCT.h:236
MonitorElement * rctInputTPGEcalOcc_
Definition: L1TdeRCT.h:159
MonitorElement * rctRegDataOcc2D_
Definition: L1TdeRCT.h:93
MonitorElement * rctInputTPGEcalRank_
Definition: L1TdeRCT.h:161
MonitorElement * rctIsoEmIneff1D_
Definition: L1TdeRCT.h:189
MonitorElement * rctBitMipOvereff2D_
Definition: L1TdeRCT.h:138
MonitorElement * trigEff_[396]
Definition: L1TdeRCT.h:243
MonitorElement * rctBitMatchedOverFlow2D_
Definition: L1TdeRCT.h:117
MonitorElement * rctBitEmulOverFlow2D_
Definition: L1TdeRCT.h:115
MonitorElement * rctRegEmulOcc1D_
Definition: L1TdeRCT.h:80
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPGData_
Definition: L1TdeRCT.h:267
MonitorElement * rctIsoEmBitOff_
Definition: L1TdeRCT.h:193
MonitorElement * fedVectorMonitorRUN_
Definition: L1TdeRCT.h:251
MonitorElement * rctBitEmulMip2D_
Definition: L1TdeRCT.h:131
MonitorElement * rctIsoEmIneff2_
Definition: L1TdeRCT.h:175
MonitorElement * rctBitEmulQuiet2D_
Definition: L1TdeRCT.h:139
MonitorElement * rctNisoEmEmulOcc_
Definition: L1TdeRCT.h:197
MonitorElement * rctBitEmulHfPlusTau2D_
Definition: L1TdeRCT.h:148
MonitorElement * triggerAlgoNumbers_
Definition: L1TdeRCT.h:73
MonitorElement * rctNisoIneffChannel_[396]
Definition: L1TdeRCT.h:231
MonitorElement * rctRegSpIneff2D_
Definition: L1TdeRCT.h:106
edm::EDGetTokenT< L1CaloEmCollection > gctSourceData_emData_
Definition: L1TdeRCT.h:266
MonitorElement * rctIsoEmEmulOcc_
Definition: L1TdeRCT.h:167
MonitorElement * rctIsoEmEff1Occ_
Definition: L1TdeRCT.h:168
std::string dataInputTagName_
Definition: L1TdeRCT.h:279
MonitorElement * rctNisoEmOvereff1D_
Definition: L1TdeRCT.h:220
MonitorElement * rctNisoEmEff2Occ_
Definition: L1TdeRCT.h:199
MonitorElement * rctBitUnmatchedEmulHfPlusTau2D_
Definition: L1TdeRCT.h:151
MonitorElement * rctRegEff1D_
Definition: L1TdeRCT.h:87
MonitorElement * rctBitMatchedMip2D_
Definition: L1TdeRCT.h:133
MonitorElement * rctNisoEmEff2_
Definition: L1TdeRCT.h:204
std::shared_ptr< l1tderct::Empty > globalBeginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) const override
Definition: L1TdeRCT.cc:2098
MonitorElement * rctRegSpEff1D_
Definition: L1TdeRCT.h:90
MonitorElement * rctIsoEmEff1Occ1D_
Definition: L1TdeRCT.h:181
MonitorElement * rctIsoEmEff1oneD_
Definition: L1TdeRCT.h:186
int notrigCount
Definition: L1TdeRCT.h:281
MonitorElement * rctNisoEmIneff_
Definition: L1TdeRCT.h:206
MonitorElement * rctRegSpEffOcc1D_
Definition: L1TdeRCT.h:84
MonitorElement * rctRegMatchedOcc2D_
Definition: L1TdeRCT.h:95
MonitorElement * rctNIsoEmBitDiff_
Definition: L1TdeRCT.h:224
MonitorElement * rctBitHfPlusTauOvereff2D_
Definition: L1TdeRCT.h:155
MonitorElement * rctNisoEmEff1Occ_
Definition: L1TdeRCT.h:198
~L1TdeRCT() override
Definition: L1TdeRCT.cc:112
MonitorElement * rctIsoEmOvereff1D_
Definition: L1TdeRCT.h:190
MonitorElement * rctIsoEmEff1_
Definition: L1TdeRCT.h:173
MonitorElement * rctBitTauVetoIneff2D_
Definition: L1TdeRCT.h:129
MonitorElement * rctInputTPGHcalRank_
Definition: L1TdeRCT.h:163
MonitorElement * trigEffTriggThreshOcc_
Definition: L1TdeRCT.h:242
MonitorElement * rctIsoEmIneffOcc1D_
Definition: L1TdeRCT.h:184
MonitorElement * rctRegEffChannel_[396]
Definition: L1TdeRCT.h:235
MonitorElement * rctBitHfPlusTauEff2D_
Definition: L1TdeRCT.h:153
MonitorElement * rctNisoEmIneffOcc1D_
Definition: L1TdeRCT.h:214
MonitorElement * rctRegOvereffChannel_[396]
Definition: L1TdeRCT.h:237
MonitorElement * rctBitOverFlowIneff2D_
Definition: L1TdeRCT.h:121
void globalEndLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) final
Definition: L1TdeRCT.h:66
MonitorElement * rctRegSpIneffOcc1D_
Definition: L1TdeRCT.h:85
MonitorElement * rctBitUnmatchedDataMip2D_
Definition: L1TdeRCT.h:135
L1TdeRCT(const edm::ParameterSet &ps)
Definition: L1TdeRCT.cc:80
MonitorElement * trigEffTriggOcc_[396]
Definition: L1TdeRCT.h:245
MonitorElement * rctBitMipEff2D_
Definition: L1TdeRCT.h:136
MonitorElement * rctIsoEmIneff2oneD_
Definition: L1TdeRCT.h:188
MonitorElement * rctRegUnmatchedDataOcc2D_
Definition: L1TdeRCT.h:96
MonitorElement * rctBitUnmatchedEmulMip2D_
Definition: L1TdeRCT.h:134
MonitorElement * rctBitOverFlowEff2D_
Definition: L1TdeRCT.h:120
MonitorElement * rctNIsoEmBitOff_
Definition: L1TdeRCT.h:223
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceEmul_rgnEmul_
Definition: L1TdeRCT.h:261
MonitorElement * rctIsoIneffChannel_[396]
Definition: L1TdeRCT.h:227
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
Definition: L1TdeRCT.cc:1138
MonitorElement * rctRegSpEffOcc2D_
Definition: L1TdeRCT.h:99
MonitorElement * rctIsoEmOvereffOcc_
Definition: L1TdeRCT.h:172
MonitorElement * rctNisoEmDataOcc1D_
Definition: L1TdeRCT.h:209
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceData_rgnData_
Definition: L1TdeRCT.h:263
MonitorElement * rctNIsoEmBitOn_
Definition: L1TdeRCT.h:222
MonitorElement * rctRegIneff1D_
Definition: L1TdeRCT.h:88
MonitorElement * rctNisoEmEff1Occ1D_
Definition: L1TdeRCT.h:211
MonitorElement * rctIsoEmDataOcc1D_
Definition: L1TdeRCT.h:179
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
Definition: L1TdeRCT.h:270
MonitorElement * rctBitDataTauVeto2D_
Definition: L1TdeRCT.h:124
MonitorElement * rctIsoEffChannel_[396]
Definition: L1TdeRCT.h:226
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: L1TdeRCT.cc:114
MonitorElement * rctNisoEmOvereff_
Definition: L1TdeRCT.h:207
MonitorElement * rctRegEff2D_
Definition: L1TdeRCT.h:102
int filterTriggerType_
filter TriggerType
Definition: L1TdeRCT.h:276
MonitorElement * rctInputTPGEcalOccNoCut_
Definition: L1TdeRCT.h:160
MonitorElement * rctNisoOvereffChannel_[396]
Definition: L1TdeRCT.h:232
MonitorElement * rctNisoEmIneffOcc_
Definition: L1TdeRCT.h:201
MonitorElement * rctIsoEmEff2oneD_
Definition: L1TdeRCT.h:187
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEmul_emEmul_
Definition: L1TdeRCT.h:262
MonitorElement * rctBitUnmatchedDataQuiet2D_
Definition: L1TdeRCT.h:143
Definition: Run.h:45
int trigCount
Definition: L1TdeRCT.h:281
MonitorElement * rctRegSpIneff1D_
Definition: L1TdeRCT.h:91
MonitorElement * rctRegSpIneffOcc2D_
Definition: L1TdeRCT.h:100
MonitorElement * rctRegBitOff_
Definition: L1TdeRCT.h:109
MonitorElement * rctIsoEmIneff_
Definition: L1TdeRCT.h:176
bool perLSsaving_
Definition: L1TdeRCT.h:259
MonitorElement * rctRegUnmatchedEmulOcc1D_
Definition: L1TdeRCT.h:83
MonitorElement * rctBitUnmatchedDataOverFlow2D_
Definition: L1TdeRCT.h:119
MonitorElement * rctIsoOvereffChannel_[396]
Definition: L1TdeRCT.h:228
MonitorElement * rctNisoEmEff1_
Definition: L1TdeRCT.h:203