27 unsigned int nWords = 6;
28 int nBX, firstBX, lastBX;
37 res->setBXRange(firstBX, lastBX);
39 LogDebug(
"L1T|Muon") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
45 for (
int bx = firstBX; bx <= lastBX; ++bx) {
46 for (
unsigned nWord = 0; nWord < nWords && i < block.
header().
getSize(); nWord += 2) {
47 uint32_t raw_data_00_31 = payload[i++];
48 uint32_t raw_data_32_63 = payload[i++];
49 LogDebug(
"L1T|Muon") <<
"raw_data_00_31 = 0x" << hex << raw_data_00_31 <<
" raw_data_32_63 = 0x" << raw_data_32_63;
52 LogDebug(
"L1T|Muon") <<
"Muon hwPt zero. Skip.";
62 res->push_back(bx, mu);
void getBXRange(int nbx, int &first, int &last)
BlockHeader header() const
static void fillMuon(Muon &, uint32_t, uint32_t)
std::vector< uint32_t > payload() const
virtual bool unpack(const Block &block, UnpackerCollections *coll) override
#define DEFINE_L1T_UNPACKER(type)
static const unsigned ptShift_
int hwChargeValid() const
static const unsigned ptMask_