Implements l1t::Unpacker.
Definition at line 18 of file EGammaUnpacker.cc.
References coll, DEFINE_L1T_UNPACKER, ModuleToSequenceAssign::EGamma, EGammaCopy_, l1t::BlockHeader::getID(), l1t::BlockHeader::getSize(), l1t::Block::header(), l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwIso(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), l1t::L1Candidate::hwQual(), createfilelist::int, LogDebug, l1t::stage2::layer2::demux::nEGPerLink, l1t::stage2::layer2::mp::nOutputFramePerBX, l1t::CaloTools::p4Demux(), l1t::Block::payload(), l1t::L1Candidate::setHwEta(), l1t::L1Candidate::setHwIso(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), l1t::L1Candidate::setHwQual(), and reco::LeafCandidate::setP4().
Referenced by ~EGammaUnpacker().
23 LogDebug(
"L1T") <<
"Block ID = " <<
block.header().getID() <<
" size = " <<
block.header().getSize();
28 int firstBX = -(ceil((
double)nBX/2.)-1);
31 lastBX = ceil((
double)nBX/2.);
33 lastBX = ceil((
double)nBX/2.)-1;
36 auto res_ =
static_cast<L1TObjectCollections*
>(
coll)->getEGammas(
EGammaCopy_);
37 res_->setBXRange(firstBX, lastBX);
39 LogDebug(
"L1T") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
42 for (
int bx=firstBX; bx<=lastBX; bx++){
47 uint32_t raw_data =
block.payload().at(iFrame);
57 if (eg.
hwPt()==0)
continue;
59 int abs_eta = (raw_data >> 9) & 0x7F;
60 if ((raw_data >> 16) & 0x1) {
66 eg.
setHwPhi((raw_data >> 17) & 0xFF);
74 res_->push_back(bx,eg);
const unsigned int nOutputFramePerBX
const unsigned int nEGPerLink
void setP4(const LorentzVector &p4) final
set 4-momentum