152 LogDebug(
"l1t|stage 2") <<
"L1TStage2Layer2Producer::produce function called..." << std::endl;
159 int bxFirst = towers->getFirstBX();
160 int bxLast = towers->getLastBX();
162 LogDebug(
"L1TDebug") <<
"First BX=" << bxFirst <<
", last BX=" << bxLast << std::endl;
177 for(
int ibx = bxFirst; ibx < bxLast+1; ++ibx) {
178 std::vector<CaloTower> localTowers (CaloTools::caloTowerHashMax()+1);
179 std::vector<CaloTower> localOutTowers;
180 std::vector<CaloCluster> localClusters;
181 std::vector<EGamma> localMPEGammas;
182 std::vector<Tau> localMPTaus;
183 std::vector<Jet> localMPJets;
184 std::vector<EtSum> localMPEtSums;
185 std::vector<EGamma> localEGammas;
186 std::vector<Tau> localTaus;
187 std::vector<Jet> localJets;
188 std::vector<EtSum> localEtSums;
190 LogDebug(
"L1TDebug") <<
"BX=" << ibx <<
", N(Towers)=" << towers->size(ibx) << std::endl;
192 for(std::vector<CaloTower>::const_iterator tower = towers->begin(ibx);
193 tower != towers->end(ibx);
207 localTowers.at(CaloTools::caloTowerHash(tow.hwEta(),tow.hwPhi())) = tow;
210 LogDebug(
"L1TDebug") <<
"BX=" << ibx <<
", N(Towers)=" << localTowers.size() << std::endl;
224 for(
auto tow = localOutTowers.begin(); tow != localOutTowers.end(); ++tow)
225 outTowers.push_back(ibx, *tow);
226 for(
auto clus = localClusters.begin(); clus != localClusters.end(); ++clus)
228 for(
auto eg = localMPEGammas.begin(); eg != localMPEGammas.end(); ++eg)
229 mpegammas.push_back(ibx, CaloTools::egP4MP(*eg));
230 for(
auto tau = localMPTaus.begin();
tau != localMPTaus.end(); ++
tau)
231 mptaus.push_back(ibx, CaloTools::tauP4MP(*
tau));
232 for(
auto jet = localMPJets.begin();
jet != localMPJets.end(); ++
jet)
233 mpjets.push_back(ibx, CaloTools::jetP4MP(*
jet));
234 for(
auto etsum = localMPEtSums.begin(); etsum != localMPEtSums.end(); ++etsum)
235 mpsums.push_back(ibx, CaloTools::etSumP4MP(*etsum));
236 for(
auto eg = localEGammas.begin(); eg != localEGammas.end(); ++eg)
237 egammas.push_back(ibx, CaloTools::egP4Demux(*eg));
238 for(
auto tau = localTaus.begin();
tau != localTaus.end(); ++
tau)
239 taus.push_back(ibx, CaloTools::tauP4Demux(*
tau));
240 for(
auto jet = localJets.begin();
jet != localJets.end(); ++
jet)
241 jets.push_back(ibx, CaloTools::jetP4Demux(*
jet));
242 for(
auto etsum = localEtSums.begin(); etsum != localEtSums.end(); ++etsum)
243 etsums.push_back(ibx, CaloTools::etSumP4Demux(*etsum));
246 LogDebug(
"L1TDebug") <<
"BX=" << ibx <<
", N(Cluster)=" << localClusters.size() <<
", N(EG)=" << localEGammas.size() <<
", N(Tau)=" << localTaus.size() <<
", N(Jet)=" << localJets.size() <<
", N(Sums)=" << localEtSums.size() << std::endl;
std::shared_ptr< Stage2MainProcessor > m_processor
edm::EDPutTokenT< TauBxCollection > m_tauMPToken
edm::EDPutTokenT< EGammaBxCollection > m_egammaToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDPutTokenT< TauBxCollection > m_tauToken
edm::EDPutTokenT< CaloTowerBxCollection > m_towerMPToken
edm::EDGetTokenT< CaloTowerBxCollection > m_towerToken
edm::EDPutTokenT< EtSumBxCollection > m_etMPToken
edm::EDPutTokenT< JetBxCollection > m_jetMPToken
edm::EDPutTokenT< EtSumBxCollection > m_etToken
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
edm::EDPutTokenT< EGammaBxCollection > m_egammaMPToken
edm::EDPutTokenT< CaloClusterBxCollection > m_clusterMPToken
edm::EDPutTokenT< JetBxCollection > m_jetToken