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 // user include files
24 
26 
29 #include <cstdint>
30 
31 // forward declarations
34 
35 class L1GtFdlWord;
36 class L1GlobalTriggerGTL;
37 class L1GlobalTriggerPSB;
38 
39 // class declaration
41 public:
44 
46  virtual ~L1GlobalTriggerFDL();
47 
49  void run(edm::Event &iEvent,
50  const std::vector<int> &prescaleFactorsAlgoTrig,
51  const std::vector<int> &prescaleFactorsTechTrig,
52  const std::vector<unsigned int> &triggerMaskAlgoTrig,
53  const std::vector<unsigned int> &triggerMaskTechTrig,
54  const std::vector<unsigned int> &triggerMaskVetoAlgoTrig,
55  const std::vector<unsigned int> &triggerMaskVetoTechTrig,
56  const std::vector<L1GtBoard> &boardMaps,
57  const int totalBxInEvent,
58  const int iBxInEvent,
59  const unsigned int numberPhysTriggers,
60  const unsigned int numberTechnicalTriggers,
61  const unsigned int numberDaqPartitions,
62  const L1GlobalTriggerGTL *ptrGTL,
63  const L1GlobalTriggerPSB *ptrPSB,
64  const int pfAlgoSetIndex,
65  const int pfTechSetIndex,
66  const bool algorithmTriggersUnprescaled,
67  const bool algorithmTriggersUnmasked,
68  const bool technicalTriggersUnprescaled,
69  const bool technicalTriggersUnmasked,
70  const bool technicalTriggersVetoUnmasked);
71 
73  void fillDaqFdlBlock(const int iBxInEvent,
74  const uint16_t &activeBoardsGtDaq,
75  const int recordLength0,
76  const int recordLength1,
77  const unsigned int altNrBxBoardDaq,
78  const std::vector<L1GtBoard> &boardMaps,
79  L1GlobalTriggerReadoutRecord *gtDaqReadoutRecord);
80 
82  void fillEvmFdlBlock(const int iBxInEvent,
83  const uint16_t &activeBoardsGtEvm,
84  const int recordLength0,
85  const int recordLength1,
86  const unsigned int altNrBxBoardEvm,
87  const std::vector<L1GtBoard> &boardMaps,
88  L1GlobalTriggerEvmReadoutRecord *gtEvmReadoutRecord);
89 
91  void reset();
92 
94  inline L1GtFdlWord *gtFdlWord() const { return m_gtFdlWord; }
95 
96 public:
97  inline void setVerbosity(const int verbosity) { m_verbosity = verbosity; }
98 
99 private:
101 
103  std::vector<std::vector<int>> m_prescaleCounterAlgoTrig;
104 
106  std::vector<std::vector<int>> m_prescaleCounterTechTrig;
107 
112  bool m_firstEv;
115 
116 private:
120 };
121 
122 #endif
L1GtFdlWord * m_gtFdlWord
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
void fillDaqFdlBlock(const int iBxInEvent, const 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
void fillEvmFdlBlock(const int iBxInEvent, const 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
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