CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
44 public:
45 
48 
50  virtual ~L1GlobalTriggerFDL();
51 
53  void run(
55  const std::vector<int>& prescaleFactorsAlgoTrig,
56  const std::vector<int>& prescaleFactorsTechTrig,
57  const std::vector<unsigned int>& triggerMaskAlgoTrig,
58  const std::vector<unsigned int>& triggerMaskTechTrig,
59  const std::vector<unsigned int>& triggerMaskVetoAlgoTrig,
60  const std::vector<unsigned int>& triggerMaskVetoTechTrig,
61  const std::vector<L1GtBoard>& boardMaps,
62  const int totalBxInEvent,
63  const int iBxInEvent,
64  const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers,
65  const unsigned int numberDaqPartitions,
66  const L1GlobalTriggerGTL* ptrGTL,
67  const L1GlobalTriggerPSB* ptrPSB,
68  const int pfAlgoSetIndex,
69  const int pfTechSetIndex,
70  const bool algorithmTriggersUnprescaled,
71  const bool algorithmTriggersUnmasked,
72  const bool technicalTriggersUnprescaled,
73  const bool technicalTriggersUnmasked,
74  const bool technicalTriggersVetoUnmasked
75  );
76 
78  void fillDaqFdlBlock(const int iBxInEvent,
79  const boost::uint16_t& activeBoardsGtDaq, const int recordLength0,
80  const int recordLength1, const unsigned int altNrBxBoardDaq,
81  const std::vector<L1GtBoard>& boardMaps,
82  std::auto_ptr<L1GlobalTriggerReadoutRecord>& gtDaqReadoutRecord);
83 
85  void fillEvmFdlBlock(const int iBxInEvent,
86  const boost::uint16_t& activeBoardsGtEvm, const int recordLength0,
87  const int recordLength1, const unsigned int altNrBxBoardEvm,
88  const std::vector<L1GtBoard>& boardMaps,
89  std::auto_ptr<L1GlobalTriggerEvmReadoutRecord>& gtEvmReadoutRecord);
90 
92  void reset();
93 
95  inline L1GtFdlWord* gtFdlWord() const
96  {
97  return m_gtFdlWord;
98  }
99 
100 public:
101 
102  inline void setVerbosity(const int verbosity) {
104  }
105 
106 private:
107 
109 
111  std::vector<std::vector<int> > m_prescaleCounterAlgoTrig;
112 
114  std::vector<std::vector<int> > m_prescaleCounterTechTrig;
115 
120  bool m_firstEv;
123 
124 private:
125 
129 
130 };
131 
132 #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, std::auto_ptr< L1GlobalTriggerEvmReadoutRecord > &gtEvmReadoutRecord)
fill the FDL block in the L1 GT EVM record for iBxInEvent
int iEvent
Definition: GenABIO.cc:230
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, std::auto_ptr< L1GlobalTriggerReadoutRecord > &gtDaqReadoutRecord)
fill the FDL block in the L1 GT DAQ record for iBxInEvent