11 event.getByToken(static_cast<const CaloTokens*>(toks)->getEtSumToken(), etSums);
13 std::vector<uint32_t>
load;
15 for (
int i = etSums->getFirstBX();
i <= etSums->getLastBX(); ++
i) {
18 uint16_t objectMissingEt = 0;
19 uint16_t objectMissingEtPhi = 0;
21 int flagMissingEt = 0;
23 for (
auto j = etSums->begin(
i);
j != etSums->end(
i) && n < 4; ++
j, ++
n) {
25 flagMissingEt =
j->hwQual() & 0x1;
26 objectMissingEt =
std::min(
j->hwPt(), 0xFFF) | (flagMissingEt << 12);
27 objectMissingEtPhi =
std::min(
j->hwPhi(), 0x7F);
31 uint32_t word0 = (objectMissingEt & 0xFFFF);
32 uint32_t word1 = (objectMissingEtPhi & 0xFFFF);
35 word1 |= ((
i == 0) << 15);
37 load.push_back(word0);
38 load.push_back(word1);
41 return {
Block(95, load)};
Blocks pack(const edm::Event &, const PackerTokens *) override
std::vector< Block > Blocks
#define DEFINE_L1T_PACKER(type)