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