29 int firstBX = -(ceil((
double)nBX/2.)-1);
32 lastBX = ceil((
double)nBX/2.)+1;
34 lastBX = ceil((
double)nBX/2.);
38 res_->setBXRange(firstBX, lastBX);
40 LogDebug(
"L1T") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
46 for (
int bx=firstBX; bx<lastBX; bx++){
48 for (
unsigned nEG=0; nEG < 12 && nEG < block.
header().
getSize(); nEG++){
50 uint32_t raw_data = block.
payload()[i++];
60 int abs_eta = (raw_data >> 9) & 0x7F;
61 if ((raw_data >> 16) & 0x1) {
67 eg.
setHwPhi((raw_data >> 17) & 0xFF);
73 res_->push_back(bx,eg);
BlockHeader header() const
std::vector< uint32_t > payload() const
#define DEFINE_L1T_UNPACKER(type)
virtual bool unpack(const Block &block, UnpackerCollections *coll) override