CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TdeRCT.h
Go to the documentation of this file.
1 // -*-C++-*-
2 #ifndef L1TdeRCT_H
3 #define L1TdeRCT_H
4 
5 /*
6  * \file L1TdeRCT.h
7  *
8  * Version 0.0. A.Savin 2008/04/26
9  *
10  * \author P. Wittich
11  *
12  * Revision 1.14 2011/10/13 09:29:16 swanson
13  * Added exper bit monitoring
14  *
15  * Revision 1.13 2010/09/30 22:26:45 bachtis
16  * Add RCT FED vector monitoring
17  *
18  * Revision 1.12 2010/03/25 13:46:02 weinberg
19  * removed quiet bit information
20  *
21  * Revision 1.11 2009/11/19 14:35:32 puigh
22  * modify beginJob
23  *
24  * Revision 1.10 2009/10/11 21:12:58 asavin
25  * *** empty log message ***
26  *
27  * Revision 1.9 2008/12/11 09:20:16 asavin
28  * efficiency curves in L1TdeRCT
29  *
30  * Revision 1.8 2008/11/07 15:54:03 weinberg
31  * Changed fine grain bit to HF plus tau bit
32  *
33  * Revision 1.7 2008/09/22 16:48:32 asavin
34  * reg1D overeff added
35  *
36  * Revision 1.6 2008/07/25 13:06:48 weinberg
37  * added GCT region/bit information
38  *
39  * Revision 1.5 2008/06/30 07:34:36 asavin
40  * TPGs inculded in the RCT code
41  *
42  * Revision 1.4 2008/05/06 18:04:02 nuno
43  * cruzet update
44  *
45  * Revision 1.3 2008/05/05 18:42:23 asavin
46  * DataOcc added
47  *
48  * Revision 1.2 2008/05/05 15:01:37 asavin
49  * single channel histos are added
50  *
51  * Revision 1.4 2008/03/01 00:40:00 lat
52  * DQM core migration.
53  *
54  * Revision 1.3 2007/09/03 15:14:42 wittich
55  * updated RCT with more diagnostic and local coord histos
56  *
57  * Revision 1.2 2007/02/23 21:58:43 wittich
58  * change getByType to getByLabel and add InputTag
59  *
60  * Revision 1.1 2007/02/19 22:49:53 wittich
61  * - Add RCT monitor
62  *
63  *
64  *
65 */
66 
67 // system include files
68 #include <memory>
69 #include <unistd.h>
70 
71 
72 #include <iostream>
73 #include <fstream>
74 #include <vector>
75 #include <bitset>
76 
77 
78 // user include files
81 
84 
86 
89 
90 // DQM
93 
94 // GCT and RCT data formats
101 // TPGs
104 
105 
106 // Trigger Headers
107 
108 
109 
110 
111 
112 //
113 // class declaration
114 //
115 
116 class L1TdeRCT : public edm::EDAnalyzer {
117 
118 public:
119 
120 // Constructor
121  L1TdeRCT(const edm::ParameterSet& ps);
122 
123 // Destructor
124  virtual ~L1TdeRCT();
125 
126 protected:
127 // Analyze
128  void analyze(const edm::Event& e, const edm::EventSetup& c);
129 
130  // BeginJob
131  void beginJob(void);
132 
133  //For FED vector monitoring
134  void beginRun(const edm::Run&, const edm::EventSetup&);
137 
138 
139 
140 
141 // EndJob
142 void endJob(void);
143 
144 private:
145  // ----------member data ---------------------------
147 
148  // begin GT decision information
150 
151  // trigger type information
153 
154  // begin region information
162 
168 
174 // MonitorElement *rctRegDeltaEt2D_;
177 
183 
187 
188  // end region information
189 
190  // begin bit information
220  // QUIETBIT: To add quiet bit information, uncomment following 3 lines:
221  // MonitorElement *rctBitQuietEff2D_;
222  // MonitorElement *rctBitQuietIneff2D_;
223  // MonitorElement *rctBitQuietOvereff2D_;
232 
233  // end bit information
234 
241 
254 
267 
271 
284 
297 
301 
305 
309 
310  // begin region channel information
314 
315  //efficiency
322 
323  // end region channel information
324 
325 
326  //begin fed vector information
327  static const int crateFED[90];
331 
332 
333 
334  int nev_; // Number of events processed
335  std::string outputFile_; //file name for ROOT ouput
336  std::string histFolder_; // base dqm folder
337  bool verbose_;
340  std::ofstream logFile_;
341 
349  std::string gtEGAlgoName_; // name of algo to determine EG trigger threshold
350  int doubleThreshold_; // value of ET at which to make 2-D eff plot
351 
354 
355 
357 
358 protected:
359 
362 
363 };
364 
365 #endif
MonitorElement * rctBitUnmatchedDataTauVeto2D_
Definition: L1TdeRCT.h:203
void DivideME2D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
Definition: L1TdeRCT.cc:1259
MonitorElement * rctRegUnmatchedDataOcc1D_
Definition: L1TdeRCT.h:158
MonitorElement * rctIsoEmBitDiff_
Definition: L1TdeRCT.h:270
MonitorElement * rctRegMatchedOcc1D_
Definition: L1TdeRCT.h:157
MonitorElement * rctNisoEmEmulOcc1D_
Definition: L1TdeRCT.h:286
MonitorElement * rctNisoEmIneff2oneD_
Definition: L1TdeRCT.h:294
bool monitorDaemon_
Definition: L1TdeRCT.h:339
MonitorElement * rctNisoEmIneff1D_
Definition: L1TdeRCT.h:295
DQMStore * dbe
Definition: L1TdeRCT.h:146
MonitorElement * rctNisoEmEff2Occ1D_
Definition: L1TdeRCT.h:288
void beginRun(const edm::Run &, const edm::EventSetup &)
Definition: L1TdeRCT.cc:1280
MonitorElement * rctInputTPGHcalOcc_
Definition: L1TdeRCT.h:238
MonitorElement * rctNisoEmEff2oneD_
Definition: L1TdeRCT.h:293
virtual ~L1TdeRCT()
Definition: L1TdeRCT.cc:163
MonitorElement * rctNisoEmIneff2Occ1D_
Definition: L1TdeRCT.h:289
list numerator
Definition: cuy.py:483
MonitorElement * rctBitMatchedTauVeto2D_
Definition: L1TdeRCT.h:201
MonitorElement * rctBitDataMip2D_
Definition: L1TdeRCT.h:208
MonitorElement * rctBitUnmatchedDataHfPlusTau2D_
Definition: L1TdeRCT.h:228
int nev_
Definition: L1TdeRCT.h:334
MonitorElement * rctBitEmulTauVeto2D_
Definition: L1TdeRCT.h:199
MonitorElement * rctIsoEmIneff2Occ_
Definition: L1TdeRCT.h:246
void readFEDVector(MonitorElement *, const edm::EventSetup &)
Definition: L1TdeRCT.cc:1956
MonitorElement * trigEffThresh_
Definition: L1TdeRCT.h:316
MonitorElement * rctBitHfPlusTauIneff2D_
Definition: L1TdeRCT.h:230
bool verbose_
Definition: L1TdeRCT.h:337
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: L1TdeRCT.cc:189
MonitorElement * rctIsoEmIneff2Occ1D_
Definition: L1TdeRCT.h:259
MonitorElement * rctIsoEmEmulOcc1D_
Definition: L1TdeRCT.h:256
MonitorElement * rctBitUnmatchedEmulTauVeto2D_
Definition: L1TdeRCT.h:202
edm::EDGetTokenT< L1CaloEmCollection > rctSourceData_emData_
Definition: L1TdeRCT.h:345
MonitorElement * rctBitUnmatchedEmulQuiet2D_
Definition: L1TdeRCT.h:218
std::string outputFile_
Definition: L1TdeRCT.h:335
MonitorElement * trigEffThreshOcc_
Definition: L1TdeRCT.h:317
MonitorElement * rctNisoEffChannel_[396]
Definition: L1TdeRCT.h:306
MonitorElement * rctRegOvereff1D_
Definition: L1TdeRCT.h:165
int doubleThreshold_
Definition: L1TdeRCT.h:350
MonitorElement * rctIsoEmEff2_
Definition: L1TdeRCT.h:250
MonitorElement * rctNisoEmOvereffOcc1D_
Definition: L1TdeRCT.h:291
MonitorElement * trigEffOcc_[396]
Definition: L1TdeRCT.h:320
static const int crateFED[90]
Definition: L1TdeRCT.h:327
MonitorElement * rctRegOvereff2D_
Definition: L1TdeRCT.h:180
MonitorElement * rctIsoEmOvereffOcc1D_
Definition: L1TdeRCT.h:261
MonitorElement * triggerType_
Definition: L1TdeRCT.h:152
MonitorElement * rctBitTauVetoEff2D_
Definition: L1TdeRCT.h:204
MonitorElement * rctBitMatchedQuiet2D_
Definition: L1TdeRCT.h:217
MonitorElement * rctBitTauVetoOvereff2D_
Definition: L1TdeRCT.h:206
MonitorElement * rctRegDataOcc1D_
Definition: L1TdeRCT.h:155
MonitorElement * rctIsoEmIneffOcc_
Definition: L1TdeRCT.h:247
MonitorElement * rctBitDataQuiet2D_
Definition: L1TdeRCT.h:216
MonitorElement * rctBitMatchedHfPlusTau2D_
Definition: L1TdeRCT.h:226
MonitorElement * rctIsoEmEff2Occ_
Definition: L1TdeRCT.h:245
MonitorElement * rctRegEmulOcc2D_
Definition: L1TdeRCT.h:170
MonitorElement * rctRegUnmatchedEmulOcc2D_
Definition: L1TdeRCT.h:173
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtDigisLabel_
Definition: L1TdeRCT.h:348
std::string histFolder_
Definition: L1TdeRCT.h:336
MonitorElement * rctRegSpEff2D_
Definition: L1TdeRCT.h:181
MonitorElement * rctBitUnmatchedEmulOverFlow2D_
Definition: L1TdeRCT.h:194
void endJob(void)
Definition: L1TdeRCT.cc:173
MonitorElement * rctIsoEmBitOn_
Definition: L1TdeRCT.h:268
MonitorElement * rctRegIneff2D_
Definition: L1TdeRCT.h:179
MonitorElement * rctIsoEmEff2Occ1D_
Definition: L1TdeRCT.h:258
bool singlechannelhistos_
Definition: L1TdeRCT.h:338
MonitorElement * rctBitMipIneff2D_
Definition: L1TdeRCT.h:213
MonitorElement * rctBitOverFlowOvereff2D_
Definition: L1TdeRCT.h:198
MonitorElement * rctInputTPGHcalSample_
Definition: L1TdeRCT.h:240
MonitorElement * rctIsoEmOvereff_
Definition: L1TdeRCT.h:253
MonitorElement * rctBitDataOverFlow2D_
Definition: L1TdeRCT.h:192
MonitorElement * rctIsoEmDataOcc_
Definition: L1TdeRCT.h:242
MonitorElement * fedVectorMonitorLS_
Definition: L1TdeRCT.h:329
MonitorElement * rctNisoEmEff1oneD_
Definition: L1TdeRCT.h:292
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPGData_
Definition: L1TdeRCT.h:347
MonitorElement * rctNisoEmIneff2Occ_
Definition: L1TdeRCT.h:276
MonitorElement * rctNisoEmOvereffOcc_
Definition: L1TdeRCT.h:278
MonitorElement * rctRegBitOn_
Definition: L1TdeRCT.h:184
MonitorElement * rctRegBitDiff_
Definition: L1TdeRCT.h:186
MonitorElement * rctNisoEmDataOcc_
Definition: L1TdeRCT.h:272
MonitorElement * rctNisoEmIneff2_
Definition: L1TdeRCT.h:281
MonitorElement * rctBitDataHfPlusTau2D_
Definition: L1TdeRCT.h:225
list denominator
Definition: cuy.py:484
std::string gtEGAlgoName_
Definition: L1TdeRCT.h:349
void DivideME1D(MonitorElement *numerator, MonitorElement *denominator, MonitorElement *result)
Definition: L1TdeRCT.cc:1269
MonitorElement * rctRegIneffChannel_[396]
Definition: L1TdeRCT.h:312
MonitorElement * rctInputTPGEcalOcc_
Definition: L1TdeRCT.h:235
MonitorElement * rctRegDataOcc2D_
Definition: L1TdeRCT.h:169
MonitorElement * rctInputTPGEcalRank_
Definition: L1TdeRCT.h:237
MonitorElement * rctIsoEmIneff1D_
Definition: L1TdeRCT.h:265
MonitorElement * rctBitMipOvereff2D_
Definition: L1TdeRCT.h:214
tuple result
Definition: query.py:137
MonitorElement * trigEff_[396]
Definition: L1TdeRCT.h:319
MonitorElement * rctBitMatchedOverFlow2D_
Definition: L1TdeRCT.h:193
MonitorElement * rctBitEmulOverFlow2D_
Definition: L1TdeRCT.h:191
MonitorElement * rctRegEmulOcc1D_
Definition: L1TdeRCT.h:156
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPGData_
Definition: L1TdeRCT.h:346
MonitorElement * rctIsoEmBitOff_
Definition: L1TdeRCT.h:269
MonitorElement * fedVectorMonitorRUN_
Definition: L1TdeRCT.h:328
MonitorElement * rctBitEmulMip2D_
Definition: L1TdeRCT.h:207
MonitorElement * rctIsoEmIneff2_
Definition: L1TdeRCT.h:251
MonitorElement * rctBitEmulQuiet2D_
Definition: L1TdeRCT.h:215
MonitorElement * rctNisoEmEmulOcc_
Definition: L1TdeRCT.h:273
MonitorElement * rctBitEmulHfPlusTau2D_
Definition: L1TdeRCT.h:224
MonitorElement * triggerAlgoNumbers_
Definition: L1TdeRCT.h:149
MonitorElement * rctNisoIneffChannel_[396]
Definition: L1TdeRCT.h:307
MonitorElement * rctRegSpIneff2D_
Definition: L1TdeRCT.h:182
MonitorElement * rctIsoEmEmulOcc_
Definition: L1TdeRCT.h:243
MonitorElement * rctIsoEmEff1Occ_
Definition: L1TdeRCT.h:244
std::ofstream logFile_
Definition: L1TdeRCT.h:340
MonitorElement * rctNisoEmOvereff1D_
Definition: L1TdeRCT.h:296
MonitorElement * rctNisoEmEff2Occ_
Definition: L1TdeRCT.h:275
MonitorElement * rctBitUnmatchedEmulHfPlusTau2D_
Definition: L1TdeRCT.h:227
void beginJob(void)
Definition: L1TdeRCT.cc:167
MonitorElement * rctRegEff1D_
Definition: L1TdeRCT.h:163
MonitorElement * rctBitMatchedMip2D_
Definition: L1TdeRCT.h:209
MonitorElement * rctNisoEmEff2_
Definition: L1TdeRCT.h:280
MonitorElement * rctRegSpEff1D_
Definition: L1TdeRCT.h:166
MonitorElement * rctIsoEmEff1Occ1D_
Definition: L1TdeRCT.h:257
MonitorElement * rctIsoEmEff1oneD_
Definition: L1TdeRCT.h:262
int notrigCount
Definition: L1TdeRCT.h:356
MonitorElement * rctNisoEmIneff_
Definition: L1TdeRCT.h:282
MonitorElement * rctRegSpEffOcc1D_
Definition: L1TdeRCT.h:160
MonitorElement * rctRegMatchedOcc2D_
Definition: L1TdeRCT.h:171
MonitorElement * rctNIsoEmBitDiff_
Definition: L1TdeRCT.h:300
MonitorElement * rctBitHfPlusTauOvereff2D_
Definition: L1TdeRCT.h:231
MonitorElement * rctNisoEmEff1Occ_
Definition: L1TdeRCT.h:274
MonitorElement * rctIsoEmOvereff1D_
Definition: L1TdeRCT.h:266
MonitorElement * rctIsoEmEff1_
Definition: L1TdeRCT.h:249
MonitorElement * rctBitTauVetoIneff2D_
Definition: L1TdeRCT.h:205
MonitorElement * rctInputTPGHcalRank_
Definition: L1TdeRCT.h:239
MonitorElement * trigEffTriggThreshOcc_
Definition: L1TdeRCT.h:318
MonitorElement * rctIsoEmIneffOcc1D_
Definition: L1TdeRCT.h:260
MonitorElement * rctRegEffChannel_[396]
Definition: L1TdeRCT.h:311
MonitorElement * rctBitHfPlusTauEff2D_
Definition: L1TdeRCT.h:229
MonitorElement * rctNisoEmIneffOcc1D_
Definition: L1TdeRCT.h:290
MonitorElement * rctRegOvereffChannel_[396]
Definition: L1TdeRCT.h:313
MonitorElement * rctBitOverFlowIneff2D_
Definition: L1TdeRCT.h:197
MonitorElement * rctRegSpIneffOcc1D_
Definition: L1TdeRCT.h:161
MonitorElement * rctBitUnmatchedDataMip2D_
Definition: L1TdeRCT.h:211
L1TdeRCT(const edm::ParameterSet &ps)
Definition: L1TdeRCT.cc:105
MonitorElement * trigEffTriggOcc_[396]
Definition: L1TdeRCT.h:321
MonitorElement * rctBitMipEff2D_
Definition: L1TdeRCT.h:212
MonitorElement * rctIsoEmIneff2oneD_
Definition: L1TdeRCT.h:264
MonitorElement * rctRegUnmatchedDataOcc2D_
Definition: L1TdeRCT.h:172
MonitorElement * rctBitUnmatchedEmulMip2D_
Definition: L1TdeRCT.h:210
MonitorElement * rctBitOverFlowEff2D_
Definition: L1TdeRCT.h:196
MonitorElement * rctNIsoEmBitOff_
Definition: L1TdeRCT.h:299
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceEmul_rgnEmul_
Definition: L1TdeRCT.h:342
MonitorElement * rctIsoIneffChannel_[396]
Definition: L1TdeRCT.h:303
MonitorElement * rctRegSpEffOcc2D_
Definition: L1TdeRCT.h:175
MonitorElement * rctIsoEmOvereffOcc_
Definition: L1TdeRCT.h:248
MonitorElement * rctNisoEmDataOcc1D_
Definition: L1TdeRCT.h:285
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceData_rgnData_
Definition: L1TdeRCT.h:344
MonitorElement * rctNIsoEmBitOn_
Definition: L1TdeRCT.h:298
MonitorElement * rctRegIneff1D_
Definition: L1TdeRCT.h:164
MonitorElement * rctNisoEmEff1Occ1D_
Definition: L1TdeRCT.h:287
MonitorElement * rctIsoEmDataOcc1D_
Definition: L1TdeRCT.h:255
MonitorElement * rctBitDataTauVeto2D_
Definition: L1TdeRCT.h:200
MonitorElement * rctIsoEffChannel_[396]
Definition: L1TdeRCT.h:302
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
Definition: L1TdeRCT.cc:1951
MonitorElement * rctNisoEmOvereff_
Definition: L1TdeRCT.h:283
MonitorElement * rctRegEff2D_
Definition: L1TdeRCT.h:178
int filterTriggerType_
filter TriggerType
Definition: L1TdeRCT.h:353
MonitorElement * rctInputTPGEcalOccNoCut_
Definition: L1TdeRCT.h:236
MonitorElement * rctNisoOvereffChannel_[396]
Definition: L1TdeRCT.h:308
MonitorElement * rctNisoEmIneffOcc_
Definition: L1TdeRCT.h:277
MonitorElement * rctIsoEmEff2oneD_
Definition: L1TdeRCT.h:263
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEmul_emEmul_
Definition: L1TdeRCT.h:343
MonitorElement * rctBitUnmatchedDataQuiet2D_
Definition: L1TdeRCT.h:219
Definition: Run.h:41
int trigCount
Definition: L1TdeRCT.h:356
MonitorElement * rctRegSpIneff1D_
Definition: L1TdeRCT.h:167
MonitorElement * rctRegSpIneffOcc2D_
Definition: L1TdeRCT.h:176
MonitorElement * rctRegBitOff_
Definition: L1TdeRCT.h:185
MonitorElement * rctIsoEmIneff_
Definition: L1TdeRCT.h:252
MonitorElement * rctRegUnmatchedEmulOcc1D_
Definition: L1TdeRCT.h:159
MonitorElement * rctBitUnmatchedDataOverFlow2D_
Definition: L1TdeRCT.h:195
MonitorElement * rctIsoOvereffChannel_[396]
Definition: L1TdeRCT.h:304
MonitorElement * rctNisoEmEff1_
Definition: L1TdeRCT.h:279