CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TGT.h
Go to the documentation of this file.
1 #ifndef L1TGT_H
2 #define L1TGT_H
3 
16 // system include files
17 #include <memory>
18 #include <unistd.h>
19 #include <vector>
20 #include <utility>
21 
22 // user include files
25 
28 
30 
37 
38 //L1 trigger includes
45 
46 
47 // class declaration
48 //
49 
50 class L1TGT: public edm::EDAnalyzer {
51 
52 public:
53 
54  // constructor
55  L1TGT(const edm::ParameterSet& ps);
56 
57  // destructor
58  virtual ~L1TGT();
59 
60 private:
61 
62  virtual void beginJob();
63  virtual void beginRun(const edm::Run&, const edm::EventSetup&);
64  virtual void beginLuminosityBlock(const edm::LuminosityBlock&,
65  const edm::EventSetup&);
66 
67  virtual void analyze(const edm::Event&, const edm::EventSetup&);
68 
70  virtual void endLuminosityBlock(const edm::LuminosityBlock&,
71  const edm::EventSetup&);
72  virtual void endRun(const edm::Run&, const edm::EventSetup&);
73 
74  virtual void endJob();
75 
76 private:
77 
79  void bookHistograms();
80 
81  bool isActive(int word, int bit);
82  // Active boards DAQ record bit number:
83  // 0 FDL
84  // 1 PSB_0 9 Techn.Triggers for FDL
85  // 2 PSB_1 13 Calo data for GTL
86  // 3 PSB_2 14 Calo data for GTL
87  // 4 PSB_3 15 Calo data for GTL
88  // 5 PSB_4 19 M/Q bits for GMT
89  // 6 PSB_5 20 M/Q bits for GMT
90  // 7 PSB_6 21 M/Q bits for GMT
91  // 8 GMT
92  enum activeDAQ {
94  };
95  // Active boards EVM record bit number:
96  // 0 TCS
97  // 1 FDL
98  enum activeEVM {
100  };
101 
102  // count the number of indices per Ls for prescale factor sets
103  // if no errors, it must be 1
104  void countPfsIndicesPerLs();
105 
106 
107 private:
108 
110 
114 
117 
123 
124 
126  bool verbose_;
127 
128 private:
129 
138 
146 
149 
160 
163 
166  // maximum difference in orbit number, luminosity number
167  // histogram range: -(MaxOrbitNrDiffTcsFdlEvm+1), (MaxOrbitNrDiffTcsFdlEvm+1)
168  // if value is greater than the maximum difference, fill an entry in the last but one bin
169  // if value is smaller than the negative value of maximum difference, fill an entry
170  // in the second bin
171  // if no value can be retrieved for TCS, fill an entry in the first bin
172  // if no value can be retrieved for FDL, fill an entry in the last bin
173  static const int MaxOrbitNrDiffTcsFdlEvm;
174  static const int MaxLsNrDiffTcsFdlEvm;
175 
178 
184 
185  //MonitorElement* m_monDiffEvmDaqFdl;
186 
187 private:
188 
190 
192 
196 
199 
202 
205 
206  bool isInit;
207 
210  std::map <std::string,bool> l1TriggerDecision,l1TechTriggerDecision;
211  std::map<std::string,bool>::iterator trig_iter;
212 
213  std::vector<std::pair<int,int> > m_pairLsNumberPfIndex;
214  typedef std::vector<std::pair<int, int> >::const_iterator CItVecPair;
215 
216 
217 };
218 
219 #endif
MonitorElement * m_monL1PrescaleFactorSet
Definition: L1TGT.h:161
std::map< std::string, bool > l1TechTriggerDecision
Definition: L1TGT.h:210
MonitorElement * h_L1AlgoBX1
Definition: L1TGT.h:179
MonitorElement * gpsfreqwide
Definition: L1TGT.h:158
bool m_runInEndRun
Definition: L1TGT.h:121
int m_nrEvRun
Definition: L1TGT.h:195
boost::uint64_t preGps_
Definition: L1TGT.h:200
virtual void endJob()
Definition: L1TGT.cc:583
Definition: L1TGT.h:50
DQMStore * m_dbe
internal members
Definition: L1TGT.h:191
MonitorElement * m_monLsNrDiffTcsFdlEvmLs
Definition: L1TGT.h:177
int numberBxInEvent
Definition: L1TGT.h:203
int minBxInEvent
Definition: L1TGT.h:204
std::vector< std::pair< int, int > >::const_iterator CItVecPair
Definition: L1TGT.h:214
activeEVM
Definition: L1TGT.h:98
std::vector< std::pair< int, int > > m_pairLsNumberPfIndex
Definition: L1TGT.h:213
MonitorElement * BST_intensityBeam1
Definition: L1TGT.h:155
static const int MaxOrbitNrDiffTcsFdlEvm
Definition: L1TGT.h:173
MonitorElement * algo_bits_corr
Definition: L1TGT.h:131
MonitorElement * tt_bits
Definition: L1TGT.h:132
bool verbose_
verbosity switch
Definition: L1TGT.h:126
bool isInit
Definition: L1TGT.h:206
MonitorElement * gtfe_bx
Definition: L1TGT.h:147
MonitorElement * BST_beamMode
Definition: L1TGT.h:153
bool m_runInEventLoop
switches to choose the running of various methods
Definition: L1TGT.h:119
MonitorElement * BST_MasterStatus
Definition: L1TGT.h:150
std::map< std::string, bool >::iterator trig_iter
Definition: L1TGT.h:211
MonitorElement * BST_intensityBeam2
Definition: L1TGT.h:156
void bookHistograms()
book all histograms for the module
Definition: L1TGT.cc:598
MonitorElement * h_L1TechBX
Definition: L1TGT.h:183
MonitorElement * event_number
Definition: L1TGT.h:139
MonitorElement * h_L1AlgoBX3
Definition: L1TGT.h:181
activeDAQ
Definition: L1TGT.h:92
static const int MaxLsNrDiffTcsFdlEvm
Definition: L1TGT.h:174
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmSource_
input tag for L1 GT EVM readout record
Definition: L1TGT.h:116
MonitorElement * orbit_lumi
Definition: L1TGT.h:144
MonitorElement * h_L1AlgoBX4
Definition: L1TGT.h:182
std::string m_histFolder
histogram folder for L1 GT plots
Definition: L1TGT.h:198
MonitorElement * algo_bits_lumi
Definition: L1TGT.h:135
std::map< std::string, bool > l1TriggerDecision
Definition: L1TGT.h:210
virtual void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
Definition: L1TGT.cc:94
MonitorElement * m_monLsNrDiffTcsFdlEvm
Definition: L1TGT.h:165
MonitorElement * gpsfreq
Definition: L1TGT.h:157
std::string algoBitToName[128]
Definition: L1TGT.h:208
MonitorElement * algo_bits
Definition: L1TGT.h:130
MonitorElement * event_type
Definition: L1TGT.h:137
MonitorElement * m_monOrbitNrDiffTcsFdlEvmLs
Definition: L1TGT.h:176
MonitorElement * dbx_module
Definition: L1TGT.h:148
bool m_runInEndLumi
Definition: L1TGT.h:120
unsigned long long uint64_t
Definition: Time.h:15
virtual void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
end section
Definition: L1TGT.cc:566
MonitorElement * tt_bits_corr
Definition: L1TGT.h:133
virtual void endRun(const edm::Run &, const edm::EventSetup &)
Definition: L1TGT.cc:574
bool isActive(int word, int bit)
Definition: L1TGT.cc:867
MonitorElement * gpsfreqlum
Definition: L1TGT.h:159
int m_nrEvJob
number of events processed
Definition: L1TGT.h:194
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_L1GT_
input parameters
Definition: L1TGT.h:112
MonitorElement * h_L1AlgoBX2
Definition: L1TGT.h:180
void countPfsIndicesPerLs()
Definition: L1TGT.cc:874
MonitorElement * m_monL1PfIndicesPerLs
Definition: L1TGT.h:162
virtual void beginJob()
Definition: L1TGT.cc:55
MonitorElement * trigger_number
Definition: L1TGT.h:141
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
Definition: L1TGT.cc:64
MonitorElement * BST_beamMomentum
Definition: L1TGT.h:154
MonitorElement * BST_lhcFillNumber
Definition: L1TGT.h:152
MonitorElement * setupversion_lumi
Definition: L1TGT.h:145
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Definition: L1TGT.cc:103
MonitorElement * BST_turnCountNumber
Definition: L1TGT.h:151
boost::uint64_t preOrb_
Definition: L1TGT.h:201
MonitorElement * event_lumi
Definition: L1TGT.h:140
MonitorElement * tt_bits_lumi
Definition: L1TGT.h:136
MonitorElement * trigger_lumi
Definition: L1TGT.h:142
MonitorElement * evnum_trignum_lumi
Definition: L1TGT.h:143
MonitorElement * algo_tt_bits_corr
Definition: L1TGT.h:134
bool m_runInEndJob
Definition: L1TGT.h:122
std::string techBitToName[64]
Definition: L1TGT.h:209
Definition: Run.h:41
MonitorElement * m_monOrbitNrDiffTcsFdlEvm
Definition: L1TGT.h:164
L1TGT(const edm::ParameterSet &ps)
Definition: L1TGT.cc:18
virtual ~L1TGT()
Definition: L1TGT.cc:50
edm::EDGetTokenT< L1MuGMTReadoutCollection > gtSource_L1MuGMT_
Definition: L1TGT.h:113