18 rct(new
L1RCT(rctLookupTables)),
19 useEcal(conf.getParameter<bool>(
"useEcal")),
20 useHcal(conf.getParameter<bool>(
"useHcal")),
21 ecalDigisLabel(conf.getParameter<edm::
InputTag>(
"ecalDigisLabel")),
22 hcalDigisLabel(conf.getParameter<edm::
InputTag>(
"hcalDigisLabel")),
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");
const edm::EventSetup & c
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)
T const * product() const
void setEcalScale(const L1CaloEcalScale *ecalScale)
void setRCTParameters(const L1RCTParameters *rctParameters)
void digiInput(const EcalTrigPrimDigiCollection &ecalCollection, const HcalTrigPrimDigiCollection &hcalCollection)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
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