32 rct(new
L1RCT(rctLookupTables)),
37 produces<std::vector<unsigned short>>(
"rctCrate");
38 produces<std::vector<unsigned short>>(
"rctCard");
39 produces<std::vector<unsigned short>>(
"rctTower");
40 produces<std::vector<unsigned int>>(
"rctEGammaET");
41 produces<std::vector<bool>>(
"rctHoEFGVetoBit");
42 produces<std::vector<unsigned int>>(
"rctJetMETET");
43 produces<std::vector<bool>>(
"rctTowerActivityBit");
44 produces<std::vector<bool>>(
"rctTowerMIPBit");
45 produces<std::vector<unsigned short>>(
"rctHFCrate");
46 produces<std::vector<unsigned short>>(
"rctHFRegion");
47 produces<std::vector<unsigned int>>(
"rctHFET");
48 produces<std::vector<bool>>(
"rctHFFG");
101 if (
hcal.isValid()) {
109 std::unique_ptr<std::vector<unsigned short>> rctCrate(
new std::vector<unsigned short>);
110 std::unique_ptr<std::vector<unsigned short>> rctCard(
new std::vector<unsigned short>);
111 std::unique_ptr<std::vector<unsigned short>> rctTower(
new std::vector<unsigned short>);
112 std::unique_ptr<std::vector<unsigned int>> rctEGammaET(
new std::vector<unsigned int>);
113 std::unique_ptr<std::vector<bool>> rctHoEFGVetoBit(
new std::vector<bool>);
114 std::unique_ptr<std::vector<unsigned int>> rctJetMETET(
new std::vector<unsigned int>);
115 std::unique_ptr<std::vector<bool>> rctTowerActivityBit(
new std::vector<bool>);
116 std::unique_ptr<std::vector<bool>> rctTowerMIPBit(
new std::vector<bool>);
118 for (
int crate = 0; crate < 18; crate++) {
119 for (
int card = 0; card < 7; card++) {
124 unsigned int lutBits =
126 unsigned int eGammaETCode = lutBits & 0x0000007F;
127 bool hOeFGVetoBit = (lutBits >> 7) & 0x00000001;
128 unsigned int jetMETETCode = (lutBits >> 8) & 0x000001FF;
129 bool activityBit = (lutBits >> 17) & 0x00000001;
130 if (eGammaETCode > 0 || jetMETETCode > 0 || hOeFGVetoBit || activityBit) {
131 rctCrate->push_back(crate);
132 rctCard->push_back(card);
133 rctTower->push_back(
tower);
134 rctEGammaET->push_back(eGammaETCode);
135 rctHoEFGVetoBit->push_back(hOeFGVetoBit);
136 rctJetMETET->push_back(jetMETETCode);
137 rctTowerActivityBit->push_back(activityBit);
138 rctTowerMIPBit->push_back(
false);
144 std::unique_ptr<std::vector<unsigned short>> rctHFCrate(
new std::vector<unsigned short>);
145 std::unique_ptr<std::vector<unsigned short>> rctHFRegion(
new std::vector<unsigned short>);
146 std::unique_ptr<std::vector<unsigned int>> rctHFET(
new std::vector<unsigned int>);
147 std::unique_ptr<std::vector<bool>> rctHFFG(
new std::vector<bool>);
148 for (
int crate = 0; crate < 18; crate++) {
149 for (
int hfRegion = 0; hfRegion < 8; hfRegion++) {
153 rctHFCrate->push_back(crate);
154 rctHFRegion->push_back(hfRegion);
155 rctHFET->push_back(hfETCode);
156 rctHFFG->push_back(
false);
162 event.put(
std::move(rctCrate),
"rctCrate");
163 event.put(
std::move(rctCard),
"rctCard");
164 event.put(
std::move(rctTower),
"rctTower");
165 event.put(
std::move(rctEGammaET),
"rctEGammaET");
166 event.put(
std::move(rctHoEFGVetoBit),
"rctHoEFGVetoBit");
167 event.put(
std::move(rctJetMETET),
"rctJetMETET");
168 event.put(
std::move(rctTowerActivityBit),
"rctTowerActivityBit");
169 event.put(
std::move(rctTowerMIPBit),
"rctTowerMIPBit");
170 event.put(
std::move(rctHFCrate),
"rctHFCrate");
171 event.put(
std::move(rctHFRegion),
"rctHFRegion");
172 event.put(
std::move(rctHFET),
"rctHFET");
173 event.put(
std::move(rctHFFG),
"rctHFFG");