Definition at line 9 of file EtSumUnpacker.cc.
Implements l1t::Unpacker.
Definition at line 21 of file EtSumUnpacker.cc.
References coll, l1t::BlockHeader::getID(), l1t::BlockHeader::getSize(), l1t::Block::header(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), i, l1t::EtSum::kMissingEt, l1t::EtSum::kMissingHt, l1t::EtSum::kTotalEt, l1t::EtSum::kTotalHt, LogDebug, objects.METAnalyzer::met, l1t::Block::payload(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), and l1t::EtSum::setType().
24 LogDebug(
"L1T") <<
"Block ID = " <<
block.header().getID() <<
" size = " <<
block.header().getSize();
26 int nBX = int(ceil(
block.header().getSize() / 6.));
30 int firstBX = -(ceil((
double)nBX/2.)-1);
33 lastBX = ceil((
double)nBX/2.);
35 lastBX = ceil((
double)nBX/2.)-1;
38 auto res_ =
static_cast<L1TObjectCollections*
>(
coll)->getEtSums();
39 res_->setBXRange(firstBX, lastBX);
41 LogDebug(
"L1T") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
47 for (
int bx=firstBX; bx<=lastBX; bx++){
51 uint32_t raw_data =
block.payload()[i++];
58 LogDebug(
"L1T") <<
"ET: pT " << et.
hwPt() <<
" bx " << bx;
60 res_->push_back(bx,et);
65 raw_data =
block.payload()[i++];
74 res_->push_back(bx,ht);
79 raw_data =
block.payload()[i++];
84 met.
setHwPhi((raw_data >> 12) & 0xFF);
87 LogDebug(
"L1T") <<
"MET: phi " << met.
hwPhi() <<
" pT " << met.
hwPt() <<
" bx " << bx;
89 res_->push_back(bx,met);
94 raw_data =
block.payload()[i++];
99 mht.
setHwPhi((raw_data >> 12) & 0xFF);
102 LogDebug(
"L1T") <<
"MHT: phi " << mht.
hwPhi() <<
" pT " << mht.
hwPt() <<
" bx " << bx;
104 res_->push_back(bx,mht);
void setType(EtSumType type)