CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GlobalTriggerPSB.h
Go to the documentation of this file.
1 #ifndef GlobalTrigger_L1GlobalTriggerPSB_h
2 #define GlobalTrigger_L1GlobalTriggerPSB_h
3 
21 // system include files
22 #include <vector>
23 #include <boost/cstdint.hpp>
24 
25 // user include files
29 
31 
34 
39 
40 // forward declarations
41 class L1GctCand;
42 
43 class L1GctEmCand;
44 class L1GctJetCand;
45 
46 class L1GctEtMiss;
47 class L1GctEtTotal;
48 class L1GctEtHad;
49 class L1GctHtMiss;
50 
51 class L1GctJetCounts;
52 class L1GctHFBitCounts;
53 class L1GctHFRingEtSums;
54 
56 
57 // class declaration
59 {
60 
61 public:
62 
63  // constructor
64  L1GlobalTriggerPSB(const edm::InputTag & caloTag, const std::vector<edm::InputTag>& vecTag, edm::ConsumesCollector && iC);
65 
66  // destructor
67  virtual ~L1GlobalTriggerPSB();
68 
69 public:
70 
72  void init(const int nrL1NoIsoEG, const int nrL1IsoEG,
73  const int nrL1CenJet, const int nrL1ForJet, const int nrL1TauJet,
74  const int numberTechnicalTriggers);
75 
79  const edm::InputTag& caloGctInputTag, const int iBxInEvent,
80  const bool receiveNoIsoEG, const int nrL1NoIsoEG,
81  const bool receiveIsoEG, const int nrL1IsoEG,
82  const bool receiveCenJet, const int nrL1CenJet,
83  const bool receiveForJet, const int nrL1ForJet,
84  const bool receiveTauJet, const int nrL1TauJet,
85  const bool receiveETM, const bool receiveETT, const bool receiveHTT, const bool receiveHTM,
86  const bool receiveJetCounts,
87  const bool receiveHfBitCounts,
88  const bool receiveHfRingEtSums);
89 
91  void receiveCastorData(
92  edm::Event& iEvent, const edm::InputTag& castorInputTag, const int iBxInEvent,
93  const bool receiveCastor, const bool readFromPsb);
94 
96  void receiveBptxData(edm::Event& iEvent, const edm::InputTag& bptxInputTag,
97  const int iBxInEvent, const bool receiveBptx,
98  const bool readFromPsb);
99 
101  void receiveExternalData(edm::Event& iEvent,
102  const std::vector<edm::InputTag>& externalInputTags,
103  const int iBxInEvent,
104  const bool receiveExternal, const bool readFromPsb);
105 
108  const std::vector<edm::InputTag>& technicalTriggersInputTags,
109  const int iBxInEvent,
110  const bool receiveTechTr, const int nrL1TechTr);
111 
113  void fillPsbBlock(
114  edm::Event& iEvent,
115  const boost::uint16_t& activeBoardsGtDaq,
116  const int recordLength0,
117  const int recordLength1,
118  const unsigned int altNrBxBoardDaq,
119  const std::vector<L1GtBoard>& boardMaps,
120  const int iBxInEvent,
121  std::auto_ptr<L1GlobalTriggerReadoutRecord>& gtDaqReadoutRecord);
122 
124  void reset();
125 
127  void printGctObjectData(const int iBxInEvent) const;
128 
130  inline const std::vector<const L1GctCand*>* getCandL1NoIsoEG() const
131  {
132  return m_candL1NoIsoEG;
133  }
134 
136  inline const std::vector<const L1GctCand*>* getCandL1IsoEG() const
137  {
138  return m_candL1IsoEG;
139  }
140 
142  inline const std::vector<const L1GctCand*>* getCandL1CenJet() const
143  {
144  return m_candL1CenJet;
145  }
146 
148  inline const std::vector<const L1GctCand*>* getCandL1ForJet() const
149  {
150  return m_candL1ForJet;
151  }
152 
154  inline const std::vector<const L1GctCand*>* getCandL1TauJet() const
155  {
156  return m_candL1TauJet;
157  }
158 
160  inline const L1GctEtMiss* getCandL1ETM() const
161  {
162  return m_candETM;
163  }
164 
166  inline const L1GctEtTotal* getCandL1ETT() const
167  {
168  return m_candETT;
169  }
170 
172  inline const L1GctEtHad* getCandL1HTT() const
173  {
174  return m_candHTT;
175  }
176 
178  inline const L1GctHtMiss* getCandL1HTM() const
179  {
180  return m_candHTM;
181  }
182 
184  inline const L1GctJetCounts* getCandL1JetCounts() const
185  {
186  return m_candJetCounts;
187  }
188 
191  {
192  return m_candHfBitCounts;
193  }
194 
197  {
198  return m_candHfRingEtSums;
199  }
200 
202  inline const std::vector<bool>* getGtTechnicalTriggers() const
203  {
204  return &m_gtTechnicalTriggers;
205  }
206 
207 public:
208 
209  inline void setVerbosity(const int verbosity) {
211  }
212 
213 private:
214 
215  std::vector<const L1GctCand*>* m_candL1NoIsoEG;
216  std::vector<const L1GctCand*>* m_candL1IsoEG;
217  std::vector<const L1GctCand*>* m_candL1CenJet;
218  std::vector<const L1GctCand*>* m_candL1ForJet;
219  std::vector<const L1GctCand*>* m_candL1TauJet;
220 
225 
227 
230 
232  std::vector<bool> m_gtTechnicalTriggers;
233 
234 private:
235 
239 
240 
241 };
242 
243 #endif
const std::vector< const L1GctCand * > * getCandL1TauJet() const
pointer to TauJet data list
const L1GctHtMiss * m_candHTM
const std::vector< const L1GctCand * > * getCandL1CenJet() const
pointer to CenJet data list
std::vector< const L1GctCand * > * m_candL1TauJet
const std::vector< const L1GctCand * > * getCandL1NoIsoEG() const
pointer to NoIsoEG data list
const L1GctHFRingEtSums * getCandL1HfRingEtSums() const
pointer to HfRingEtSums data list
Level-1 Trigger jet candidate.
Definition: L1GctJetCand.h:18
const std::vector< const L1GctCand * > * getCandL1ForJet() const
pointer to ForJet data list
const L1GctEtTotal * getCandL1ETT() const
pointer to ETT data list
void receiveGctObjectData(edm::Event &iEvent, const edm::InputTag &caloGctInputTag, const int iBxInEvent, const bool receiveNoIsoEG, const int nrL1NoIsoEG, const bool receiveIsoEG, const int nrL1IsoEG, const bool receiveCenJet, const int nrL1CenJet, const bool receiveForJet, const int nrL1ForJet, const bool receiveTauJet, const int nrL1TauJet, const bool receiveETM, const bool receiveETT, const bool receiveHTT, const bool receiveHTM, const bool receiveJetCounts, const bool receiveHfBitCounts, const bool receiveHfRingEtSums)
receive Global Calorimeter Trigger objects
Persistable copy of missing Et measured at Level-1.
Definition: L1GctEtMiss.h:18
L1GlobalTriggerPSB(const edm::InputTag &caloTag, const std::vector< edm::InputTag > &vecTag, edm::ConsumesCollector &&iC)
std::vector< const L1GctCand * > * m_candL1ForJet
Level-1 Trigger EM candidate at output of GCT.
Definition: L1GctEmCand.h:22
const L1GctHFBitCounts * m_candHfBitCounts
const L1GctEtMiss * m_candETM
int iEvent
Definition: GenABIO.cc:230
const std::vector< const L1GctCand * > * getCandL1IsoEG() const
pointer to IsoEG data list
L1 GCT HF ring Et sums.
void setVerbosity(const int verbosity)
const std::vector< bool > * getGtTechnicalTriggers() const
pointer to technical trigger bits
const L1GctJetCounts * m_candJetCounts
Persistable copy of total Et measured at Level-1.
Definition: L1GctEtTotal.h:18
void receiveTechnicalTriggers(edm::Event &iEvent, const std::vector< edm::InputTag > &technicalTriggersInputTags, const int iBxInEvent, const bool receiveTechTr, const int nrL1TechTr)
receive technical trigger
std::vector< bool > m_gtTechnicalTriggers
technical trigger bits
void reset()
clear PSB
int m_verbosity
verbosity level
void receiveBptxData(edm::Event &iEvent, const edm::InputTag &bptxInputTag, const int iBxInEvent, const bool receiveBptx, const bool readFromPsb)
receive BPTX objects
const L1GctHFBitCounts * getCandL1HfBitCounts() const
pointer to HfBitCounts data list
Persistable copy of total Ht measured at Level-1.
Definition: L1GctEtHad.h:18
const L1GctHtMiss * getCandL1HTM() const
pointer to HTM data list
L1 GCT HF ring Et sums.
void printGctObjectData(const int iBxInEvent) const
print Global Calorimeter Trigger data
void receiveExternalData(edm::Event &iEvent, const std::vector< edm::InputTag > &externalInputTags, const int iBxInEvent, const bool receiveExternal, const bool readFromPsb)
receive External objects
Persistable copy of missing Et measured at Level-1.
Definition: L1GctHtMiss.h:16
const L1GctHFRingEtSums * m_candHfRingEtSums
const L1GctEtHad * m_candHTT
const L1GctEtMiss * getCandL1ETM() const
pointer to ETM data list
void receiveCastorData(edm::Event &iEvent, const edm::InputTag &castorInputTag, const int iBxInEvent, const bool receiveCastor, const bool readFromPsb)
receive CASTOR objects
const L1GctEtTotal * m_candETT
ABC for GCT EM and jet candidates.
Definition: L1GctCand.h:12
const L1GctEtHad * getCandL1HTT() const
pointer to HTT data list
void fillPsbBlock(edm::Event &iEvent, const boost::uint16_t &activeBoardsGtDaq, const int recordLength0, const int recordLength1, const unsigned int altNrBxBoardDaq, const std::vector< L1GtBoard > &boardMaps, const int iBxInEvent, std::auto_ptr< L1GlobalTriggerReadoutRecord > &gtDaqReadoutRecord)
fill the content of active PSB boards
void init(const int nrL1NoIsoEG, const int nrL1IsoEG, const int nrL1CenJet, const int nrL1ForJet, const int nrL1TauJet, const int numberTechnicalTriggers)
initialize the class (mainly reserve)
tuple verbosity
Definition: mvaPFMET_cff.py:80
std::vector< const L1GctCand * > * m_candL1NoIsoEG
std::vector< const L1GctCand * > * m_candL1CenJet
const L1GctJetCounts * getCandL1JetCounts() const
pointer to JetCounts data list
std::vector< const L1GctCand * > * m_candL1IsoEG