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>);
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>);
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");
unsigned int lookup(unsigned short ecalInput, unsigned short hcalInput, unsigned short fgbit, unsigned short crtNo, unsigned short crdNo, unsigned short twrNo) const
unsigned short hcalCompressedET(int crate, int card, int tower)
unsigned short hfCompressedET(int crate, int tower)
T const * product() const
void setHcalScale(const L1CaloHcalScale *hcalScale)
unsigned short ecalFineGrainBit(int crate, int card, int tower)
unsigned short ecalCompressedET(int crate, int card, int tower)
void setL1CaloEtScale(const L1CaloEtScale *etScale)
void setEcalScale(const L1CaloEcalScale *ecalScale)
void setRCTParameters(const L1RCTParameters *rctParameters)
void digiInput(const EcalTrigPrimDigiCollection &ecalCollection, const HcalTrigPrimDigiCollection &hcalCollection)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void setChannelMask(const L1RCTChannelMask *channelMask)