11 event.getByToken(static_cast<const CaloTokens*>(toks)->getCaloSpareHFBitCountsToken(), calosparesHFBitCounts);
14 event.getByToken(static_cast<const CaloTokens*>(toks)->getCaloSpareHFRingSumsToken(), calosparesHFRingSums);
16 std::vector<uint32_t>
load;
18 for (
int i = calosparesHFBitCounts->getFirstBX();
i <= calosparesHFBitCounts->getLastBX(); ++
i) {
24 for (
auto j = calosparesHFBitCounts->begin(
i);
j != calosparesHFBitCounts->end(
i) && n < 2; ++
j, ++
n) {
30 for (
auto j = calosparesHFRingSums->begin(
i);
j != calosparesHFRingSums->end(
i) && n < 2; ++
j, ++
n) {
34 uint16_t
object[2] = {0, 0};
36 object[0] = hfbitcount | ((hfringsum & 0x7) << 12);
37 object[1] = ((hfringsum >> 3) & 0x1FF) | (0x1) << 10 | (0
x1) << 12 | (0x1) << 14;
39 uint32_t word0 = (
object[0] & 0xFFFF);
40 uint32_t word1 = (
object[1] & 0xFFFF);
43 word1 |= ((
i == 0) << 15);
45 load.push_back(word0);
46 load.push_back(word1);
49 return {
Block(97, load)};
Blocks pack(const edm::Event &, const PackerTokens *) override
std::vector< Block > Blocks
#define DEFINE_L1T_PACKER(type)