34 ecalDigisLabel(conf.getParameter<
edm::InputTag>(
"ecalDigisLabel")),
35 hcalDigisLabel(conf.getParameter<
edm::InputTag>(
"hcalDigisLabel")) {
36 produces<std::vector<unsigned short>>(
"rctCrate");
37 produces<std::vector<unsigned short>>(
"rctCard");
38 produces<std::vector<unsigned short>>(
"rctTower");
39 produces<std::vector<unsigned int>>(
"rctEGammaET");
40 produces<std::vector<bool>>(
"rctHoEFGVetoBit");
41 produces<std::vector<unsigned int>>(
"rctJetMETET");
42 produces<std::vector<bool>>(
"rctTowerActivityBit");
43 produces<std::vector<bool>>(
"rctTowerMIPBit");
44 produces<std::vector<unsigned short>>(
"rctHFCrate");
45 produces<std::vector<unsigned short>>(
"rctHFRegion");
46 produces<std::vector<unsigned int>>(
"rctHFET");
47 produces<std::vector<bool>>(
"rctHFFG");
110 std::unique_ptr<std::vector<unsigned short>> rctCrate(
111 new std::vector<unsigned short>);
112 std::unique_ptr<std::vector<unsigned short>> rctCard(
113 new std::vector<unsigned short>);
114 std::unique_ptr<std::vector<unsigned short>> rctTower(
115 new std::vector<unsigned short>);
116 std::unique_ptr<std::vector<unsigned int>> rctEGammaET(
117 new std::vector<unsigned int>);
118 std::unique_ptr<std::vector<bool>> rctHoEFGVetoBit(
new std::vector<bool>);
119 std::unique_ptr<std::vector<unsigned int>> rctJetMETET(
120 new std::vector<unsigned int>);
121 std::unique_ptr<std::vector<bool>> rctTowerActivityBit(
new std::vector<bool>);
122 std::unique_ptr<std::vector<bool>> rctTowerMIPBit(
new std::vector<bool>);
124 for (
int crate = 0; crate < 18; crate++) {
125 for (
int card = 0; card < 7; card++) {
126 for (
int tower = 0; tower < 32; tower++) {
127 unsigned short ecalCompressedET =
129 unsigned short ecalFineGrainBit =
131 unsigned short hcalCompressedET =
133 unsigned int lutBits =
135 ecalFineGrainBit, crate, card, tower);
136 unsigned int eGammaETCode = lutBits & 0x0000007F;
137 bool hOeFGVetoBit = (lutBits >> 7) & 0x00000001;
138 unsigned int jetMETETCode = (lutBits >> 8) & 0x000001FF;
139 bool activityBit = (lutBits >> 17) & 0x00000001;
140 if (eGammaETCode > 0 || jetMETETCode > 0 || hOeFGVetoBit ||
142 rctCrate->push_back(crate);
143 rctCard->push_back(card);
144 rctTower->push_back(tower);
145 rctEGammaET->push_back(eGammaETCode);
146 rctHoEFGVetoBit->push_back(hOeFGVetoBit);
147 rctJetMETET->push_back(jetMETETCode);
148 rctTowerActivityBit->push_back(activityBit);
149 rctTowerMIPBit->push_back(
false);
155 std::unique_ptr<std::vector<unsigned short>> rctHFCrate(
156 new std::vector<unsigned short>);
157 std::unique_ptr<std::vector<unsigned short>> rctHFRegion(
158 new std::vector<unsigned short>);
159 std::unique_ptr<std::vector<unsigned int>> rctHFET(
160 new std::vector<unsigned int>);
161 std::unique_ptr<std::vector<bool>> rctHFFG(
new std::vector<bool>);
162 for (
int crate = 0; crate < 18; crate++) {
163 for (
int hfRegion = 0; hfRegion < 8; hfRegion++) {
165 unsigned int hfETCode =
168 rctHFCrate->push_back(crate);
169 rctHFRegion->push_back(hfRegion);
170 rctHFET->push_back(hfETCode);
171 rctHFFG->push_back(
false);
177 event.put(
std::move(rctCrate),
"rctCrate");
178 event.put(
std::move(rctCard),
"rctCard");
179 event.put(
std::move(rctTower),
"rctTower");
180 event.put(
std::move(rctEGammaET),
"rctEGammaET");
181 event.put(
std::move(rctHoEFGVetoBit),
"rctHoEFGVetoBit");
182 event.put(
std::move(rctJetMETET),
"rctJetMETET");
183 event.put(
std::move(rctTowerActivityBit),
"rctTowerActivityBit");
184 event.put(
std::move(rctTowerMIPBit),
"rctTowerMIPBit");
185 event.put(
std::move(rctHFCrate),
"rctHFCrate");
186 event.put(
std::move(rctHFRegion),
"rctHFRegion");
187 event.put(
std::move(rctHFET),
"rctHFET");
188 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