24 int firstBX = -(ceil((
double)nBX/2.)-1);
27 lastBX = ceil((
double)nBX/2.);
29 lastBX = ceil((
double)nBX/2.)-1;
33 res_->setBXRange(firstBX, lastBX);
35 LogDebug(
"L1T") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
38 for (
int bx=firstBX; bx<=lastBX; bx++){
44 uint32_t raw_data = block.
payload().at(iFrame);
53 if (tau.
hwPt()==0)
continue;
55 int abs_eta = (raw_data >> 9) & 0x7F;
56 if ((raw_data >> 16) & 0x1) {
62 tau.
setHwPhi((raw_data >> 17) & 0xFF);
63 tau.
setHwIso((raw_data >> 25) & 0x3);
71 res_->push_back(bx, tau);
bool unpack(const Block &block, UnpackerCollections *coll) override
BlockHeader header() const
std::vector< uint32_t > payload() const
unsigned int nOutputFramePerBX
#define DEFINE_L1T_UNPACKER(type)
void setP4(const LorentzVector &p4) final
set 4-momentum