18 LogDebug(
"L1T") <<
"Block ID = " <<
block.header().getID() <<
" size = " <<
block.header().getSize();
43 uint32_t raw_data =
block.payload().at(iFrame);
47 et.setHwPt(raw_data & 0xFFF);
50 LogDebug(
"L1T") <<
"ET: pT " <<
et.hwPt() <<
" bx " <<
bx;
52 res_->push_back(
bx,
et);
58 etem.setHwPt((raw_data >> 12) & 0xFFF);
61 LogDebug(
"L1T") <<
"ETEM: pT " << etem.hwPt() <<
" bx " <<
bx;
63 res_->push_back(
bx, etem);
68 mbp0.setHwPt((raw_data >> 28) & 0xf);
70 res_->push_back(
bx, mbp0);
74 raw_data =
block.payload()[iFrame + 1];
78 ht.setHwPt(raw_data & 0xFFF);
81 LogDebug(
"L1T") <<
"HT: pT " << ht.hwPt();
83 res_->push_back(
bx, ht);
88 mbm0.setHwPt((raw_data >> 28) & 0xf);
90 res_->push_back(
bx, mbm0);
94 raw_data =
block.payload()[iFrame + 2];
98 met.setHwPt(raw_data & 0xFFF);
99 met.setHwPhi((raw_data >> 12) & 0xFF);
102 LogDebug(
"L1T") <<
"MET: phi " <<
met.hwPhi() <<
" pT " <<
met.hwPt() <<
" bx " <<
bx;
104 res_->push_back(
bx,
met);
109 mbp1.setHwPt((raw_data >> 28) & 0xf);
111 res_->push_back(
bx, mbp1);
116 etAsym.setHwPt((raw_data >> 20) & 0xFF);
118 res_->push_back(
bx, etAsym);
122 raw_data =
block.payload()[iFrame + 3];
126 mht.setHwPt(raw_data & 0xFFF);
127 mht.setHwPhi((raw_data >> 12) & 0xFF);
130 LogDebug(
"L1T") <<
"MHT: phi " << mht.hwPhi() <<
" pT " << mht.hwPt() <<
" bx " <<
bx;
132 res_->push_back(
bx, mht);
137 mbm1.setHwPt((raw_data >> 28) & 0xf);
139 res_->push_back(
bx, mbm1);
144 htAsym.setHwPt((raw_data >> 20) & 0xFF);
146 res_->push_back(
bx, htAsym);
150 raw_data =
block.payload()[iFrame + 4];
154 methf.setHwPt(raw_data & 0xFFF);
155 methf.setHwPhi((raw_data >> 12) & 0xFF);
158 LogDebug(
"L1T") <<
"METHF: phi " << methf.hwPhi() <<
" pT " << methf.hwPt() <<
" bx " <<
bx;
160 res_->push_back(
bx, methf);
165 etHFAsym.setHwPt((raw_data >> 20) & 0xFF);
167 res_->push_back(
bx, etHFAsym);
171 uint32_t centLN = ((raw_data >> 28) & 0xF);
175 raw_data =
block.payload()[iFrame + 5];
179 mhthf.setHwPt(raw_data & 0xFFF);
180 mhthf.setHwPhi((raw_data >> 12) & 0xFF);
183 LogDebug(
"L1T") <<
"MHThf: phi " << mhthf.hwPhi() <<
" pT " << mhthf.hwPt() <<
" bx " <<
bx;
185 res_->push_back(
bx, mhthf);
190 htHFAsym.setHwPt((raw_data >> 20) & 0xFF);
192 res_->push_back(
bx, htHFAsym);
196 uint32_t centUN = ((raw_data >> 28) & 0xF);
199 cent.setHwPt((centUN << 4) | centLN);
201 res_->push_back(
bx, cent);
205 raw_data =
block.payload()[iFrame + 1];
208 towCount.setHwPt((raw_data >> 12) & 0x1FFF);
211 res_->push_back(
bx, towCount);
constexpr int32_t ceil(float num)
EtSumUnpacker_0x10010057()
const unsigned int nOutputFramePerBX
bool unpack(const Block &block, UnpackerCollections *coll) override
#define DEFINE_L1T_UNPACKER(type)