32 rct(new
L1RCT(rctLookupTables)),
35 ecalDigisLabel(conf.getParameter<
edm::InputTag>(
"ecalDigisLabel")),
36 hcalDigisLabel(conf.getParameter<
edm::InputTag>(
"hcalDigisLabel"))
38 produces<std::vector<unsigned short> >(
"rctCrate");
39 produces<std::vector<unsigned short> >(
"rctCard");
40 produces<std::vector<unsigned short> >(
"rctTower");
41 produces<std::vector<unsigned int> >(
"rctEGammaET");
42 produces<std::vector<bool> >(
"rctHoEFGVetoBit");
43 produces<std::vector<unsigned int> >(
"rctJetMETET");
44 produces<std::vector<bool> >(
"rctTowerActivityBit");
45 produces<std::vector<bool> >(
"rctTowerMIPBit");
46 produces<std::vector<unsigned short> >(
"rctHFCrate");
47 produces<std::vector<unsigned short> >(
"rctHFRegion");
48 produces<std::vector<unsigned int> >(
"rctHFET");
49 produces<std::vector<bool> >(
"rctHFFG");
54 if(
rct !=
nullptr)
delete rct;
105 std::unique_ptr<std::vector<unsigned short> >
106 rctCrate(
new std::vector<unsigned short>);
107 std::unique_ptr<std::vector<unsigned short> >
108 rctCard(
new std::vector<unsigned short>);
109 std::unique_ptr<std::vector<unsigned short> >
110 rctTower(
new std::vector<unsigned short>);
111 std::unique_ptr<std::vector<unsigned int> >
112 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> >
115 rctJetMETET(
new std::vector<unsigned int>);
116 std::unique_ptr<std::vector<bool> > rctTowerActivityBit(
new std::vector<bool>);
117 std::unique_ptr<std::vector<bool> > rctTowerMIPBit(
new std::vector<bool>);
119 for(
int crate = 0; crate < 18; crate++) {
120 for(
int card = 0; card < 7; card++) {
121 for(
int tower = 0; tower < 32; tower++) {
122 unsigned short ecalCompressedET =
124 unsigned short ecalFineGrainBit =
126 unsigned short hcalCompressedET =
128 unsigned int lutBits =
130 ecalFineGrainBit, crate, card, tower);
131 unsigned int eGammaETCode = lutBits & 0x0000007F;
132 bool hOeFGVetoBit = (lutBits >> 7) & 0x00000001;
133 unsigned int jetMETETCode = (lutBits >> 8) & 0x000001FF;
134 bool activityBit = (lutBits >> 17) & 0x00000001;
135 if(eGammaETCode > 0 || jetMETETCode > 0 ||
136 hOeFGVetoBit || activityBit) {
137 rctCrate->push_back(crate);
138 rctCard->push_back(card);
139 rctTower->push_back(tower);
140 rctEGammaET->push_back(eGammaETCode);
141 rctHoEFGVetoBit->push_back(hOeFGVetoBit);
142 rctJetMETET->push_back(jetMETETCode);
143 rctTowerActivityBit->push_back(activityBit);
144 rctTowerMIPBit->push_back(
false);
150 std::unique_ptr<std::vector<unsigned short> >
151 rctHFCrate(
new std::vector<unsigned short>);
152 std::unique_ptr<std::vector<unsigned short> >
153 rctHFRegion(
new std::vector<unsigned short>);
154 std::unique_ptr<std::vector<unsigned int> > rctHFET(
new std::vector<unsigned int>);
155 std::unique_ptr<std::vector<bool> > rctHFFG(
new std::vector<bool>);
156 for(
int crate = 0; crate < 18; crate++) {
157 for(
int hfRegion = 0; hfRegion < 8; hfRegion++) {
159 unsigned int hfETCode =
162 rctHFCrate->push_back(crate);
163 rctHFRegion->push_back(hfRegion);
164 rctHFET->push_back(hfETCode);
165 rctHFFG->push_back(
false);
171 event.put(
std::move(rctCrate),
"rctCrate");
172 event.put(
std::move(rctCard),
"rctCard");
173 event.put(
std::move(rctTower),
"rctTower");
174 event.put(
std::move(rctEGammaET),
"rctEGammaET");
175 event.put(
std::move(rctHoEFGVetoBit),
"rctHoEFGVetoBit");
176 event.put(
std::move(rctJetMETET),
"rctJetMETET");
177 event.put(
std::move(rctTowerActivityBit),
"rctTowerActivityBit");
178 event.put(
std::move(rctTowerMIPBit),
"rctTowerMIPBit");
179 event.put(
std::move(rctHFCrate),
"rctHFCrate");
180 event.put(
std::move(rctHFRegion),
"rctHFRegion");
181 event.put(
std::move(rctHFET),
"rctHFET");
182 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