109 m_towerMPToken = produces<CaloTowerBxCollection> (
"MP");
110 m_clusterMPToken = produces<CaloClusterBxCollection> (
"MP");
111 m_egammaMPToken = produces<EGammaBxCollection> (
"MP");
112 m_tauMPToken = produces<TauBxCollection> (
"MP");
113 m_jetMPToken = produces<JetBxCollection> (
"MP");
114 m_etMPToken = produces<EtSumBxCollection> (
"MP");
115 m_egammaToken = produces<EGammaBxCollection> ();
116 m_tauToken = produces<TauBxCollection> ();
117 m_jetToken = produces<JetBxCollection> ();
118 m_etToken = produces<EtSumBxCollection> ();
130 m_useStaticConfig = ps.
getParameter<
bool>(
"useStaticConfig");
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) {
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);
210 LogDebug(
"L1TDebug") <<
"BX=" << ibx <<
", N(Towers)=" << localTowers.size() << std::endl;
212 m_processor->processEvent(localTowers,
224 for(
auto tow = localOutTowers.begin(); tow != localOutTowers.end(); ++tow)
226 for(
auto clus = localClusters.begin(); clus != localClusters.end(); ++clus)
228 for(
auto eg = localMPEGammas.begin(); eg != localMPEGammas.end(); ++eg)
230 for(
auto tau = localMPTaus.begin();
tau != localMPTaus.end(); ++
tau)
232 for(
auto jet = localMPJets.begin();
jet != localMPJets.end(); ++
jet)
234 for(
auto etsum = localMPEtSums.begin(); etsum != localMPEtSums.end(); ++etsum)
236 for(
auto eg = localEGammas.begin(); eg != localEGammas.end(); ++eg)
238 for(
auto tau = localTaus.begin();
tau != localTaus.end(); ++
tau)
240 for(
auto jet = localJets.begin();
jet != localJets.end(); ++
jet)
242 for(
auto etsum = localEtSums.begin(); etsum != localEtSums.end(); ++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;
275 if (
id != m_paramsCacheId) {
277 m_paramsCacheId =
id;
285 if(!m_useStaticConfig){
294 m_params->~CaloParamsHelper();
311 LogDebug(
"L1TDebug") << *m_params << std::endl;
314 edm::LogError(
"l1t|caloStage2") <<
"Could not retrieve params from Event Setup" << std::endl;
321 if ( !m_processor ) {
327 m_processor = m_factory.
create(m_fwv, m_params);
331 edm::LogError(
"l1t|caloStage2") <<
"Firmware could not be configured.\n";
334 LogDebug(
"L1TDebug") <<
"Processor object : " << (m_processor?1:0) << std::endl;
T getParameter(std::string const &) const
std::shared_ptr< Stage2MainProcessor > m_processor
edm::EDPutTokenT< TauBxCollection > m_tauMPToken
def getNodes(rootNode, name)
edm::EDPutTokenT< EGammaBxCollection > m_egammaToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void beginRun(edm::Run const &, edm::EventSetup const &) override
edm::EDPutTokenT< TauBxCollection > m_tauToken
edm::EDPutTokenT< CaloTowerBxCollection > m_towerMPToken
unsigned long long m_paramsCacheId
edm::EDGetTokenT< CaloTowerBxCollection > m_towerToken
ReturnType create(unsigned fwv, CaloParamsHelper const *params)
CaloParamsHelper * m_params
edm::EDPutTokenT< EtSumBxCollection > m_etMPToken
#define DEFINE_FWK_MODULE(type)
void addDefault(ParameterSetDescription const &psetDescription)
L1TStage2Layer2Producer(const edm::ParameterSet &ps)
edm::EDPutTokenT< JetBxCollection > m_jetMPToken
edm::EDPutTokenT< EtSumBxCollection > m_etToken
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
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
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
T const * product() const
void produce(edm::Event &, const edm::EventSetup &) override
void push_back(int bx, T object)
void endRun(edm::Run const &, edm::EventSetup const &) override
~L1TStage2Layer2Producer() override