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");
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
unsigned short hcalCompressedET(int crate, int card, int tower)
unsigned short hfCompressedET(int crate, int tower)
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)
T const * product() const
void setChannelMask(const L1RCTChannelMask *channelMask)
unsigned int lookup(unsigned short ecalInput, unsigned short hcalInput, unsigned short fgbit, unsigned short crtNo, unsigned short crdNo, unsigned short twrNo) const