CMS 3D CMS Logo

L1GTDigiToRaw.h
Go to the documentation of this file.
1 #ifndef EventFilter_L1GlobalTriggerRawToDigi_L1GTDigiToRaw_h
2 #define EventFilter_L1GlobalTriggerRawToDigi_L1GTDigiToRaw_h
3 
19 // system include files
20 #include <memory>
21 
22 // user include files
25 
28 
32 
34 
35 // forward declarations
39 
40 class L1GtfeWord;
41 class L1GtFdlWord;
42 class L1GtPsbWord;
43 
44 // class declaration
46 {
47 
48 public:
49 
51  explicit L1GTDigiToRaw(const edm::ParameterSet&);
52 
54  ~L1GTDigiToRaw() override;
55 
56 private:
57 
59  void beginJob() override;
60 
62  void produce(edm::Event&, const edm::EventSetup&) override;
63 
65 
67  void packHeader(unsigned char*, edm::Event&);
68 
72  void packGTFE(const edm::EventSetup&, unsigned char*, L1GtfeWord&,
73  cms_uint16_t activeBoardsGtValue);
74 
76  void packFDL(const edm::EventSetup&, unsigned char*, L1GtFdlWord&);
77 
80  void packPSB(const edm::EventSetup&, unsigned char*, L1GtPsbWord&);
81 
83  unsigned int packGmtCollection(
84  unsigned char* ptrGt,
85  L1MuGMTReadoutCollection const* digis);
86 
88  unsigned int packGMT(L1MuGMTReadoutRecord const&, unsigned char*);
89  unsigned int flipPtQ(unsigned int);
90 
92  void packTrailer(unsigned char*, unsigned char*, int);
93 
95  void endJob() override;
96 
97 private:
98 
102 
105 
110 
113 
116 
120 
124 
125 private:
126 
130 
131 };
132 
133 #endif // EventFilter_L1GlobalTriggerRawToDigi_L1GTDigiToRaw_h
void packFDL(const edm::EventSetup &, unsigned char *, L1GtFdlWord &)
pack FDL blocks for various bunch crosses
void packHeader(unsigned char *, edm::Event &)
block packers -------——
cms_uint16_t m_activeBoardsMaskGt
mask for active boards
~L1GTDigiToRaw() override
destructor
edm::InputTag m_daqGtInputTag
edm::InputTag m_muGmtInputTag
void packPSB(const edm::EventSetup &, unsigned char *, L1GtPsbWord &)
unsigned int packGMT(L1MuGMTReadoutRecord const &, unsigned char *)
pack a GMT record
void packTrailer(unsigned char *, unsigned char *, int)
pack trailer word
unsigned short cms_uint16_t
Definition: typedefs.h:13
unsigned int packGmtCollection(unsigned char *ptrGt, L1MuGMTReadoutCollection const *digis)
pack the GMT collection using packGMT (GMT record packing)
void packGTFE(const edm::EventSetup &, unsigned char *, L1GtfeWord &, cms_uint16_t activeBoardsGtValue)
unsigned int flipPtQ(unsigned int)
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_daqGtInputToken
input tag for GT DAQ record
edm::EDGetTokenT< L1MuGMTReadoutCollection > m_muGmtInputToken
input tag for GMT record
void produce(edm::Event &, const edm::EventSetup &) override
loop over events
void beginJob() override
beginning of job stuff
int m_verbosity
verbosity level
void endJob() override
end of job stuff
int m_totalBxInEvent
total Bx&#39;s in the event, obtained from GTFE block
L1GTDigiToRaw(const edm::ParameterSet &)
constructor(s)