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 
20 // system include files
21 #include <vector>
22 
23 #include <boost/cstdint.hpp>
24 
25 // user include files
28 
30 
33 
34 // forward declarations
37 
38 class L1GtFdlWord;
39 class L1GlobalTriggerGTL;
40 class L1GlobalTriggerPSB;
41 
42 // class declaration
44 {
45 
46 public:
47 
50 
52  virtual ~L1GlobalTriggerFDL();
53 
55  void run(
57  const std::vector<int>& prescaleFactorsAlgoTrig,
58  const std::vector<int>& prescaleFactorsTechTrig,
59  const std::vector<unsigned int>& triggerMaskAlgoTrig,
60  const std::vector<unsigned int>& triggerMaskTechTrig,
61  const std::vector<unsigned int>& triggerMaskVetoAlgoTrig,
62  const std::vector<unsigned int>& triggerMaskVetoTechTrig,
63  const std::vector<L1GtBoard>& boardMaps,
64  const int totalBxInEvent,
65  const int iBxInEvent,
66  const unsigned int numberPhysTriggers, const unsigned int numberTechnicalTriggers,
67  const unsigned int numberDaqPartitions,
68  const L1GlobalTriggerGTL* ptrGTL,
69  const L1GlobalTriggerPSB* ptrPSB,
70  const int pfAlgoSetIndex,
71  const int pfTechSetIndex,
72  const bool algorithmTriggersUnprescaled,
73  const bool algorithmTriggersUnmasked,
74  const bool technicalTriggersUnprescaled,
75  const bool technicalTriggersUnmasked,
76  const bool technicalTriggersVetoUnmasked
77  );
78 
80  void fillDaqFdlBlock(const int iBxInEvent,
81  const boost::uint16_t& activeBoardsGtDaq, const int recordLength0,
82  const int recordLength1, const unsigned int altNrBxBoardDaq,
83  const std::vector<L1GtBoard>& boardMaps,
84  std::auto_ptr<L1GlobalTriggerReadoutRecord>& gtDaqReadoutRecord);
85 
87  void fillEvmFdlBlock(const int iBxInEvent,
88  const boost::uint16_t& activeBoardsGtEvm, const int recordLength0,
89  const int recordLength1, const unsigned int altNrBxBoardEvm,
90  const std::vector<L1GtBoard>& boardMaps,
91  std::auto_ptr<L1GlobalTriggerEvmReadoutRecord>& gtEvmReadoutRecord);
92 
94  void reset();
95 
97  inline L1GtFdlWord* gtFdlWord() const
98  {
99  return m_gtFdlWord;
100  }
101 
102 public:
103 
104  inline void setVerbosity(const int verbosity) {
106  }
107 
108 private:
109 
111 
113  std::vector<std::vector<int> > m_prescaleCounterAlgoTrig;
114 
116  std::vector<std::vector<int> > m_prescaleCounterTechTrig;
117 
122  bool m_firstEv;
125 
126 private:
127 
131 
132 };
133 
134 #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:243
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