Implements l1t::Unpacker.
Definition at line 18 of file EtSumUnpacker.cc.
References coll, DEFINE_L1T_UNPACKER, stringResolutionProvider_cfi::et, EtSumCopy_, l1t::BlockHeader::getID(), l1t::BlockHeader::getSize(), l1t::Block::header(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), createfilelist::int, l1t::EtSum::kMinBiasHFM0, l1t::EtSum::kMinBiasHFM1, l1t::EtSum::kMinBiasHFP0, l1t::EtSum::kMinBiasHFP1, l1t::EtSum::kMissingEt, l1t::EtSum::kMissingEtHF, l1t::EtSum::kMissingHt, l1t::EtSum::kMissingHtHF, l1t::EtSum::kTotalEt, l1t::EtSum::kTotalEtEm, l1t::EtSum::kTotalHt, l1t::EtSum::kTowerCount, LogDebug, RazorAnalyzer::met, l1t::stage2::layer2::mp::nOutputFramePerBX, l1t::CaloTools::p4Demux(), l1t::Block::payload(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), reco::LeafCandidate::setP4(), and l1t::EtSum::setType().
Referenced by ~EtSumUnpacker().
23 LogDebug(
"L1T") <<
"Block ID = " <<
block.header().getID() <<
" size = " <<
block.header().getSize();
29 int firstBX = -(ceil((
double)nBX/2.)-1);
32 lastBX = ceil((
double)nBX/2.);
34 lastBX = ceil((
double)nBX/2.)-1;
37 auto res_ =
static_cast<L1TObjectCollections*
>(
coll)->getEtSums(
EtSumCopy_);
38 res_->setBXRange(firstBX, lastBX);
40 LogDebug(
"L1T") <<
"nBX = " << nBX <<
" first BX = " << firstBX <<
" lastBX = " << lastBX;
43 for (
int bx=firstBX; bx<=lastBX; bx++){
49 uint32_t raw_data =
block.payload().at(iFrame);
57 LogDebug(
"L1T") <<
"ET: pT " << et.
hwPt() <<
" bx " << bx;
59 res_->push_back(bx,et);
66 etem.
setHwPt( (raw_data >> 12) & 0xFFF);
70 LogDebug(
"L1T") <<
"ETEM: pT " << etem.
hwPt() <<
" bx " << bx;
72 res_->push_back(bx,etem);
78 mbp0.
setHwPt( (raw_data>>28) & 0xf );
81 res_->push_back(bx, mbp0);
86 raw_data =
block.payload()[iFrame+1];
96 res_->push_back(bx,ht);
101 mbm0.
setHwPt( (raw_data>>28) & 0xf );
104 res_->push_back(bx, mbm0);
109 raw_data =
block.payload()[iFrame+2];
114 met.
setHwPhi((raw_data >> 12) & 0xFF);
118 LogDebug(
"L1T") <<
"MET: phi " << met.
hwPhi() <<
" pT " << met.
hwPt() <<
" bx " << bx;
120 res_->push_back(bx,met);
125 mbp1.
setHwPt( (raw_data>>28) & 0xf );
128 res_->push_back(bx, mbp1);
132 raw_data =
block.payload()[iFrame+3];
137 mht.
setHwPhi((raw_data >> 12) & 0xFF);
141 LogDebug(
"L1T") <<
"MHT: phi " << mht.
hwPhi() <<
" pT " << mht.
hwPt() <<
" bx " << bx;
143 res_->push_back(bx,mht);
148 mbm1.
setHwPt( (raw_data>>28) & 0xf );
151 res_->push_back(bx, mbm1);
156 raw_data =
block.payload()[iFrame+4];
160 methf.
setHwPt(raw_data & 0xFFF);
161 methf.
setHwPhi((raw_data >> 12) & 0xFF);
165 LogDebug(
"L1T") <<
"METHF: phi " << methf.
hwPhi() <<
" pT " << methf.
hwPt() <<
" bx " << bx;
167 res_->push_back(bx,methf);
171 raw_data =
block.payload()[iFrame+5];
175 mhthf.
setHwPt(raw_data & 0xFFF);
176 mhthf.
setHwPhi((raw_data >> 12) & 0xFF);
180 LogDebug(
"L1T") <<
"MHThf: phi " << mhthf.
hwPhi() <<
" pT " << mhthf.
hwPt() <<
" bx " << bx;
182 res_->push_back(bx,mhthf);
186 raw_data =
block.payload()[iFrame+1];
189 towCount.
setHwPt( (raw_data>>12) & 0x1FFF );
193 res_->push_back(bx, towCount);
const unsigned int nOutputFramePerBX
void setType(EtSumType type)
et
define resolution functions of each parameter
void setP4(const LorentzVector &p4) final
set 4-momentum