18 rct(new
L1RCT(rctLookupTables)),
28 produces<std::vector<unsigned short>>(
"rctCrate");
29 produces<std::vector<unsigned short>>(
"rctCard");
30 produces<std::vector<unsigned short>>(
"rctTower");
31 produces<std::vector<unsigned int>>(
"rctEGammaET");
32 produces<std::vector<bool>>(
"rctHoEFGVetoBit");
33 produces<std::vector<unsigned int>>(
"rctJetMETET");
34 produces<std::vector<bool>>(
"rctTowerActivityBit");
35 produces<std::vector<bool>>(
"rctTowerMIPBit");
36 produces<std::vector<unsigned short>>(
"rctHFCrate");
37 produces<std::vector<unsigned short>>(
"rctHFRegion");
38 produces<std::vector<unsigned int>>(
"rctHFET");
39 produces<std::vector<bool>>(
"rctHFFG");
95 std::unique_ptr<std::vector<unsigned short>> rctCrate(
new std::vector<unsigned short>);
96 std::unique_ptr<std::vector<unsigned short>> rctCard(
new std::vector<unsigned short>);
97 std::unique_ptr<std::vector<unsigned short>> rctTower(
new std::vector<unsigned short>);
98 std::unique_ptr<std::vector<unsigned int>> rctEGammaET(
new std::vector<unsigned int>);
99 std::unique_ptr<std::vector<bool>> rctHoEFGVetoBit(
new std::vector<bool>);
100 std::unique_ptr<std::vector<unsigned int>> rctJetMETET(
new std::vector<unsigned int>);
101 std::unique_ptr<std::vector<bool>> rctTowerActivityBit(
new std::vector<bool>);
102 std::unique_ptr<std::vector<bool>> rctTowerMIPBit(
new std::vector<bool>);
104 for (
int crate = 0; crate < 18; crate++) {
105 for (
int card = 0; card < 7; card++) {
110 unsigned int lutBits =
112 unsigned int eGammaETCode = lutBits & 0x0000007F;
113 bool hOeFGVetoBit = (lutBits >> 7) & 0x00000001;
114 unsigned int jetMETETCode = (lutBits >> 8) & 0x000001FF;
115 bool activityBit = (lutBits >> 17) & 0x00000001;
116 if (eGammaETCode > 0 || jetMETETCode > 0 || hOeFGVetoBit || activityBit) {
117 rctCrate->push_back(crate);
118 rctCard->push_back(card);
119 rctTower->push_back(
tower);
120 rctEGammaET->push_back(eGammaETCode);
121 rctHoEFGVetoBit->push_back(hOeFGVetoBit);
122 rctJetMETET->push_back(jetMETETCode);
123 rctTowerActivityBit->push_back(activityBit);
124 rctTowerMIPBit->push_back(
false);
130 std::unique_ptr<std::vector<unsigned short>> rctHFCrate(
new std::vector<unsigned short>);
131 std::unique_ptr<std::vector<unsigned short>> rctHFRegion(
new std::vector<unsigned short>);
132 std::unique_ptr<std::vector<unsigned int>> rctHFET(
new std::vector<unsigned int>);
133 std::unique_ptr<std::vector<bool>> rctHFFG(
new std::vector<bool>);
134 for (
int crate = 0; crate < 18; crate++) {
135 for (
int hfRegion = 0; hfRegion < 8; hfRegion++) {
139 rctHFCrate->push_back(crate);
140 rctHFRegion->push_back(hfRegion);
141 rctHFET->push_back(hfETCode);
142 rctHFFG->push_back(
false);
148 event.put(
std::move(rctCrate),
"rctCrate");
149 event.put(
std::move(rctCard),
"rctCard");
150 event.put(
std::move(rctTower),
"rctTower");
151 event.put(
std::move(rctEGammaET),
"rctEGammaET");
152 event.put(
std::move(rctHoEFGVetoBit),
"rctHoEFGVetoBit");
153 event.put(
std::move(rctJetMETET),
"rctJetMETET");
154 event.put(
std::move(rctTowerActivityBit),
"rctTowerActivityBit");
155 event.put(
std::move(rctTowerMIPBit),
"rctTowerMIPBit");
156 event.put(
std::move(rctHFCrate),
"rctHFCrate");
157 event.put(
std::move(rctHFRegion),
"rctHFRegion");
158 event.put(
std::move(rctHFET),
"rctHFET");
159 event.put(
std::move(rctHFFG),
"rctHFFG");