CMS 3D CMS Logo

L1GlobalTriggerFDL.h
Go to the documentation of this file.
1 #ifndef GlobalTrigger_L1GlobalTriggerFDL_h
2 #define GlobalTrigger_L1GlobalTriggerFDL_h
3 
18 // system include files
19 #include <vector>
20 
21 #include <boost/cstdint.hpp>
22 
23 // user include files
26 
28 
31 
32 // forward declarations
35 
36 class L1GtFdlWord;
37 class L1GlobalTriggerGTL;
38 class L1GlobalTriggerPSB;
39 
40 // class declaration
42 
43 public:
46 
48  virtual ~L1GlobalTriggerFDL();
49 
51  void run(edm::Event &iEvent, const std::vector<int> &prescaleFactorsAlgoTrig,
52  const std::vector<int> &prescaleFactorsTechTrig,
53  const std::vector<unsigned int> &triggerMaskAlgoTrig,
54  const std::vector<unsigned int> &triggerMaskTechTrig,
55  const std::vector<unsigned int> &triggerMaskVetoAlgoTrig,
56  const std::vector<unsigned int> &triggerMaskVetoTechTrig,
57  const std::vector<L1GtBoard> &boardMaps, const int totalBxInEvent,
58  const int iBxInEvent, const unsigned int numberPhysTriggers,
59  const unsigned int numberTechnicalTriggers,
60  const unsigned int numberDaqPartitions,
61  const L1GlobalTriggerGTL *ptrGTL, const L1GlobalTriggerPSB *ptrPSB,
62  const int pfAlgoSetIndex, const int pfTechSetIndex,
63  const bool algorithmTriggersUnprescaled,
64  const bool algorithmTriggersUnmasked,
65  const bool technicalTriggersUnprescaled,
66  const bool technicalTriggersUnmasked,
67  const bool technicalTriggersVetoUnmasked);
68 
70  void fillDaqFdlBlock(const int iBxInEvent,
71  const boost::uint16_t &activeBoardsGtDaq,
72  const int recordLength0, const int recordLength1,
73  const unsigned int altNrBxBoardDaq,
74  const std::vector<L1GtBoard> &boardMaps,
75  L1GlobalTriggerReadoutRecord *gtDaqReadoutRecord);
76 
78  void fillEvmFdlBlock(const int iBxInEvent,
79  const boost::uint16_t &activeBoardsGtEvm,
80  const int recordLength0, const int recordLength1,
81  const unsigned int altNrBxBoardEvm,
82  const std::vector<L1GtBoard> &boardMaps,
83  L1GlobalTriggerEvmReadoutRecord *gtEvmReadoutRecord);
84 
86  void reset();
87 
89  inline L1GtFdlWord *gtFdlWord() const { return m_gtFdlWord; }
90 
91 public:
92  inline void setVerbosity(const int verbosity) { m_verbosity = verbosity; }
93 
94 private:
96 
98  std::vector<std::vector<int>> m_prescaleCounterAlgoTrig;
99 
101  std::vector<std::vector<int>> m_prescaleCounterTechTrig;
102 
107  bool m_firstEv;
110 
111 private:
115 };
116 
117 #endif
L1GtFdlWord * m_gtFdlWord
void fillEvmFdlBlock(const int iBxInEvent, const boost::uint16_t &activeBoardsGtEvm, const int recordLength0, const int recordLength1, const unsigned int altNrBxBoardEvm, const std::vector< L1GtBoard > &boardMaps, L1GlobalTriggerEvmReadoutRecord *gtEvmReadoutRecord)
fill the FDL block in the L1 GT EVM record for iBxInEvent
int iEvent
Definition: GenABIO.cc:224
void setVerbosity(const int verbosity)
std::vector< std::vector< int > > m_prescaleCounterAlgoTrig
prescale counters: NumberPhysTriggers counters per bunch cross in event
int m_verbosity
verbosity level
L1GlobalTriggerFDL()
constructor
L1GtFdlWord * gtFdlWord() const
return the GtFdlWord
void reset()
clear FDL
virtual ~L1GlobalTriggerFDL()
destructor
void run(edm::Event &iEvent, const std::vector< int > &prescaleFactorsAlgoTrig, const std::vector< int > &prescaleFactorsTechTrig, const std::vector< unsigned int > &triggerMaskAlgoTrig, const std::vector< unsigned int > &triggerMaskTechTrig, const std::vector< unsigned int > &triggerMaskVetoAlgoTrig, const std::vector< unsigned int > &triggerMaskVetoTechTrig, const std::vector< L1GtBoard > &boardMaps, const int totalBxInEvent, const int iBxInEvent, const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers, const unsigned int numberDaqPartitions, const L1GlobalTriggerGTL *ptrGTL, const L1GlobalTriggerPSB *ptrPSB, const int pfAlgoSetIndex, const int pfTechSetIndex, const bool algorithmTriggersUnprescaled, const bool algorithmTriggersUnmasked, const bool technicalTriggersUnprescaled, const bool technicalTriggersUnmasked, const bool technicalTriggersVetoUnmasked)
run the FDL
std::vector< std::vector< int > > m_prescaleCounterTechTrig
prescale counters: technical trigger counters per bunch cross in event
void fillDaqFdlBlock(const int iBxInEvent, const boost::uint16_t &activeBoardsGtDaq, const int recordLength0, const int recordLength1, const unsigned int altNrBxBoardDaq, const std::vector< L1GtBoard > &boardMaps, L1GlobalTriggerReadoutRecord *gtDaqReadoutRecord)
fill the FDL block in the L1 GT DAQ record for iBxInEvent