CMS 3D CMS Logo

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 
36 
37 //L1 trigger includes
42 
44 
45 //
46 // class declaration
47 //
48 
49 class L1TGT : public DQMOneEDAnalyzer<edm::one::WatchLuminosityBlocks> {
50 public:
51  // constructor
52  L1TGT(const edm::ParameterSet& ps);
53 
54  // destructor
55  ~L1TGT() override;
56 
57 protected:
58  //virtual void beginJob();
59  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
60  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
61  void analyze(const edm::Event&, const edm::EventSetup&) override;
62 
65  void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
66 
67 private:
69 
70  bool isActive(int word, int bit);
71  // Active boards DAQ record bit number:
72  // 0 FDL
73  // 1 PSB_0 9 Techn.Triggers for FDL
74  // 2 PSB_1 13 Calo data for GTL
75  // 3 PSB_2 14 Calo data for GTL
76  // 4 PSB_3 15 Calo data for GTL
77  // 5 PSB_4 19 M/Q bits for GMT
78  // 6 PSB_5 20 M/Q bits for GMT
79  // 7 PSB_6 21 M/Q bits for GMT
80  // 8 GMT
82  // Active boards EVM record bit number:
83  // 0 TCS
84  // 1 FDL
85  enum activeEVM { TCS, FDLEVM };
86 
87  // count the number of indices per Ls for prescale factor sets
88  // if no errors, it must be 1
89  void countPfsIndicesPerLs();
90 
91 private:
93 
97 
101 
105 
107  bool verbose_;
108 
109 private:
118 
126 
129 
140 
143 
146  // maximum difference in orbit number, luminosity number
147  // histogram range: -(MaxOrbitNrDiffTcsFdlEvm+1), (MaxOrbitNrDiffTcsFdlEvm+1)
148  // if value is greater than the maximum difference, fill an entry in the last but one bin
149  // if value is smaller than the negative value of maximum difference, fill an entry
150  // in the second bin
151  // if no value can be retrieved for TCS, fill an entry in the first bin
152  // if no value can be retrieved for FDL, fill an entry in the last bin
153  static const int MaxOrbitNrDiffTcsFdlEvm;
154  static const int MaxLsNrDiffTcsFdlEvm;
155 
158 
164 
165  //MonitorElement* m_monDiffEvmDaqFdl;
166 
167 private:
171 
174 
177 
180  std::map<std::string, bool> l1TriggerDecision, l1TechTriggerDecision;
181  std::map<std::string, bool>::iterator trig_iter;
182 
183  std::vector<std::pair<int, int> > m_pairLsNumberPfIndex;
184  typedef std::vector<std::pair<int, int> >::const_iterator CItVecPair;
185 };
186 
187 #endif
L1TGT::FDL
Definition: L1TGT.h:81
L1TGT::CItVecPair
std::vector< std::pair< int, int > >::const_iterator CItVecPair
Definition: L1TGT.h:184
L1GtTriggerMenu.h
L1TGT::L1TGT
L1TGT(const edm::ParameterSet &ps)
Definition: L1TGT.cc:18
L1TGT::setupversion_lumi
MonitorElement * setupversion_lumi
Definition: L1TGT.h:125
L1TGT::gtSource_L1MuGMT_
edm::EDGetTokenT< L1MuGMTReadoutCollection > gtSource_L1MuGMT_
Definition: L1TGT.h:96
MessageLogger.h
L1TGT::l1TriggerDecision
std::map< std::string, bool > l1TriggerDecision
Definition: L1TGT.h:180
L1TGT::gpsfreqwide
MonitorElement * gpsfreqwide
Definition: L1TGT.h:138
L1TGT::evnum_trignum_lumi
MonitorElement * evnum_trignum_lumi
Definition: L1TGT.h:123
L1TGT::m_nrEvRun
int m_nrEvRun
Definition: L1TGT.h:170
ESHandle.h
L1TGT::techBitToName
std::string techBitToName[64]
Definition: L1TGT.h:179
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
L1TGT::GMT
Definition: L1TGT.h:81
L1TGT::algo_bits_corr
MonitorElement * algo_bits_corr
Definition: L1TGT.h:111
edm::Run
Definition: Run.h:45
L1TGT::m_monOrbitNrDiffTcsFdlEvm
MonitorElement * m_monOrbitNrDiffTcsFdlEvm
Definition: L1TGT.h:144
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord >
L1TGT::endLuminosityBlock
void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
Definition: L1TGT.cc:715
L1TGT::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: L1TGT.cc:331
L1GtTriggerMenuRcd.h
L1TGT::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
Definition: L1TGT.cc:37
L1TGT::m_runInEventLoop
bool m_runInEventLoop
switches to choose the running of various methods
Definition: L1TGT.h:103
L1TGT::m_monLsNrDiffTcsFdlEvmLs
MonitorElement * m_monLsNrDiffTcsFdlEvmLs
Definition: L1TGT.h:157
DQMOneEDAnalyzer
Definition: DQMOneEDAnalyzer.h:20
DQMStore.h
L1TGT::BST_intensityBeam1
MonitorElement * BST_intensityBeam1
Definition: L1TGT.h:135
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
EDAnalyzer.h
L1TGT::event_number
MonitorElement * event_number
Definition: L1TGT.h:119
L1TGT::gtfe_bx
MonitorElement * gtfe_bx
Definition: L1TGT.h:127
DQMOneEDAnalyzer.h
L1TGT::BST_MasterStatus
MonitorElement * BST_MasterStatus
Definition: L1TGT.h:130
word
uint64_t word
Definition: CTPPSTotemDataFormatter.cc:29
L1TGT::gtEvmSource_
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmSource_
input tag for L1 GT EVM readout record
Definition: L1TGT.h:99
L1TGT::activeEVM
activeEVM
Definition: L1TGT.h:85
MakerMacros.h
L1GlobalTriggerEvmReadoutRecord.h
L1TGT::BST_beamMode
MonitorElement * BST_beamMode
Definition: L1TGT.h:133
L1TGT::activeDAQ
activeDAQ
Definition: L1TGT.h:81
Service.h
L1TGT::MaxOrbitNrDiffTcsFdlEvm
static const int MaxOrbitNrDiffTcsFdlEvm
Definition: L1TGT.h:153
L1TGT::PSB20
Definition: L1TGT.h:81
L1TGT::tt_bits
MonitorElement * tt_bits
Definition: L1TGT.h:112
L1TGT::verbose_
bool verbose_
verbosity switch
Definition: L1TGT.h:107
L1TGT::orbit_lumi
MonitorElement * orbit_lumi
Definition: L1TGT.h:124
L1TGT::~L1TGT
~L1TGT() override
Definition: L1TGT.cc:33
L1TGT::h_L1TechBX
MonitorElement * h_L1TechBX
Definition: L1TGT.h:163
L1TGT::gpsfreq
MonitorElement * gpsfreq
Definition: L1TGT.h:137
L1TGT::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: L1TGT.cc:328
L1TGT::h_L1AlgoBX3
MonitorElement * h_L1AlgoBX3
Definition: L1TGT.h:161
L1TGT::MaxLsNrDiffTcsFdlEvm
static const int MaxLsNrDiffTcsFdlEvm
Definition: L1TGT.h:154
L1TGT::m_monOrbitNrDiffTcsFdlEvmLs
MonitorElement * m_monOrbitNrDiffTcsFdlEvmLs
Definition: L1TGT.h:156
L1TGT::BST_intensityBeam2
MonitorElement * BST_intensityBeam2
Definition: L1TGT.h:136
edm::ParameterSet
Definition: ParameterSet.h:47
L1TGT::m_monLsNrDiffTcsFdlEvm
MonitorElement * m_monLsNrDiffTcsFdlEvm
Definition: L1TGT.h:145
Event.h
L1TGT::PSB14
Definition: L1TGT.h:81
L1TGT
Definition: L1TGT.h:49
L1TGT::algo_bits
MonitorElement * algo_bits
Definition: L1TGT.h:110
L1TGT::PSB21
Definition: L1TGT.h:81
L1TGT::m_nrEvJob
int m_nrEvJob
number of events processed
Definition: L1TGT.h:169
L1TGT::dbx_module
MonitorElement * dbx_module
Definition: L1TGT.h:128
L1TGT::preGps_
uint64_t preGps_
Definition: L1TGT.h:175
L1TGT::gtSource_L1GT_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtSource_L1GT_
input parameters
Definition: L1TGT.h:95
L1TGT::countPfsIndicesPerLs
void countPfsIndicesPerLs()
Definition: L1TGT.cc:728
edm::EventSetup
Definition: EventSetup.h:58
L1TGT::algoBitToName
std::string algoBitToName[128]
Definition: L1TGT.h:178
L1TGT::isActive
bool isActive(int word, int bit)
book all histograms for the module
Definition: L1TGT.cc:722
L1TGT::PSB9
Definition: L1TGT.h:81
L1TGT::h_L1AlgoBX4
MonitorElement * h_L1AlgoBX4
Definition: L1TGT.h:162
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd >
L1TGT::beginLuminosityBlock
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) final
end section
Definition: L1TGT.h:64
L1TGT::gpsfreqlum
MonitorElement * gpsfreqlum
Definition: L1TGT.h:139
L1TGT::event_type
MonitorElement * event_type
Definition: L1TGT.h:117
L1TGT::BST_lhcFillNumber
MonitorElement * BST_lhcFillNumber
Definition: L1TGT.h:132
L1TGT::m_histFolder
std::string m_histFolder
histogram folder for L1 GT plots
Definition: L1TGT.h:173
L1TGT::algo_bits_lumi
MonitorElement * algo_bits_lumi
Definition: L1TGT.h:115
L1TGT::m_monL1PfIndicesPerLs
MonitorElement * m_monL1PfIndicesPerLs
Definition: L1TGT.h:142
L1TGT::PSB19
Definition: L1TGT.h:81
L1TGT::BST_turnCountNumber
MonitorElement * BST_turnCountNumber
Definition: L1TGT.h:131
L1TGT::FDLEVM
Definition: L1TGT.h:85
L1TGT::tt_bits_lumi
MonitorElement * tt_bits_lumi
Definition: L1TGT.h:116
Frameworkfwd.h
L1TGT::algo_tt_bits_corr
MonitorElement * algo_tt_bits_corr
Definition: L1TGT.h:114
L1TGT::preOrb_
uint64_t preOrb_
Definition: L1TGT.h:176
L1TGT::l1gtTrigmenuToken_
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > l1gtTrigmenuToken_
Definition: L1TGT.h:100
L1TGT::BST_beamMomentum
MonitorElement * BST_beamMomentum
Definition: L1TGT.h:134
EventSetup.h
L1TGT::m_runInEndLumi
bool m_runInEndLumi
Definition: L1TGT.h:104
L1TGT::PSB15
Definition: L1TGT.h:81
dqm::implementation::IBooker
Definition: DQMStore.h:43
L1TGT::tt_bits_corr
MonitorElement * tt_bits_corr
Definition: L1TGT.h:113
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
L1TGT::trig_iter
std::map< std::string, bool >::iterator trig_iter
Definition: L1TGT.h:181
L1TGT::l1TechTriggerDecision
std::map< std::string, bool > l1TechTriggerDecision
Definition: L1TGT.h:180
L1TGT::h_L1AlgoBX1
MonitorElement * h_L1AlgoBX1
Definition: L1TGT.h:159
L1TGT::trigger_lumi
MonitorElement * trigger_lumi
Definition: L1TGT.h:122
L1TGT::trigger_number
MonitorElement * trigger_number
Definition: L1TGT.h:121
ParameterSet.h
edm::Event
Definition: Event.h:73
L1TGT::h_L1AlgoBX2
MonitorElement * h_L1AlgoBX2
Definition: L1TGT.h:160
L1TGT::PSB13
Definition: L1TGT.h:81
L1GlobalTriggerReadoutRecord.h
L1TGT::m_monL1PrescaleFactorSet
MonitorElement * m_monL1PrescaleFactorSet
Definition: L1TGT.h:141
L1TGT::TCS
Definition: L1TGT.h:85
L1TGT::event_lumi
MonitorElement * event_lumi
Definition: L1TGT.h:120
L1TGT::m_pairLsNumberPfIndex
std::vector< std::pair< int, int > > m_pairLsNumberPfIndex
Definition: L1TGT.h:183