diff --git a/RecoEcal/EgammaClusterProducers/src/InterestingDetIdCollectionProducer.cc b/RecoEcal/EgammaClusterProducers/src/InterestingDetIdCollectionProducer.cc index bb422be344b55..1e7cf14b6a960 100644 --- a/RecoEcal/EgammaClusterProducers/src/InterestingDetIdCollectionProducer.cc +++ b/RecoEcal/EgammaClusterProducers/src/InterestingDetIdCollectionProducer.cc @@ -32,7 +32,7 @@ The following classes of "interesting id" are considered #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/ESGetToken.h" @@ -47,13 +47,12 @@ The following classes of "interesting id" are considered #include -class InterestingDetIdCollectionProducer : public edm::stream::EDProducer<> { +class InterestingDetIdCollectionProducer : public edm::global::EDProducer<> { public: //! ctor explicit InterestingDetIdCollectionProducer(const edm::ParameterSet&); - void beginRun(edm::Run const&, const edm::EventSetup&) final; //! producer - void produce(edm::Event&, const edm::EventSetup&) override; + void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; private: // ----------member data --------------------------- @@ -66,10 +65,8 @@ class InterestingDetIdCollectionProducer : public edm::stream::EDProducer<> { std::string interestingDetIdCollection_; int minimalEtaSize_; int minimalPhiSize_; - const CaloTopology* caloTopology_; int severityLevel_; - const EcalSeverityLevelAlgo* severity_; bool keepNextToDead_; bool keepNextToBoundary_; }; @@ -81,8 +78,8 @@ InterestingDetIdCollectionProducer::InterestingDetIdCollectionProducer(const edm recHitsToken_ = consumes(iConfig.getParameter("recHitsLabel")); basicClustersToken_ = consumes(iConfig.getParameter("basicClustersLabel")); - caloTopologyToken_ = esConsumes(); - sevLVToken_ = esConsumes(); + caloTopologyToken_ = esConsumes(); + sevLVToken_ = esConsumes(); nextToDeadToken_ = esConsumes(); interestingDetIdCollection_ = iConfig.getParameter("interestingDetIdCollection"); @@ -100,19 +97,17 @@ InterestingDetIdCollectionProducer::InterestingDetIdCollectionProducer(const edm keepNextToBoundary_ = iConfig.getParameter("keepNextToBoundary"); } -void InterestingDetIdCollectionProducer::beginRun(edm::Run const& run, const edm::EventSetup& iSetup) { - edm::ESHandle theCaloTopology = iSetup.getHandle(caloTopologyToken_); - caloTopology_ = &(*theCaloTopology); - - edm::ESHandle sevLv = iSetup.getHandle(sevLVToken_); - severity_ = sevLv.product(); -} - // ------------ method called to produce the data ------------ -void InterestingDetIdCollectionProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { +void InterestingDetIdCollectionProducer::produce(edm::StreamID, + edm::Event& iEvent, + const edm::EventSetup& iSetup) const { using namespace edm; using namespace std; + auto const& caloTopology = iSetup.getData(caloTopologyToken_); + + auto const& severity = iSetup.getData(sevLVToken_); + // take BasicClusters Handle pClusters; iEvent.getByToken(basicClustersToken_, pClusters); @@ -155,7 +150,7 @@ void InterestingDetIdCollectionProducer::produce(edm::Event& iEvent, const edm:: if (eMaxId.null()) continue; - const CaloSubdetectorTopology* topology = caloTopology_->getSubdetectorTopology(eMaxId.det(), eMaxId.subdetId()); + const CaloSubdetectorTopology* topology = caloTopology.getSubdetectorTopology(eMaxId.det(), eMaxId.subdetId()); xtalsToStore = topology->getWindow(eMaxId, minimalEtaSize_, minimalPhiSize_); @@ -172,7 +167,7 @@ void InterestingDetIdCollectionProducer::produce(edm::Event& iEvent, const edm:: indexToStore.push_back(it->id()); } // add hits for severities above a threshold - if (severityLevel_ >= 0 && severity_->severityLevel(*it) >= severityLevel_) { + if (severityLevel_ >= 0 && severity.severityLevel(*it) >= severityLevel_) { indexToStore.push_back(it->id()); } if (keepNextToDead_) { diff --git a/RecoEcal/EgammaClusterProducers/src/InterestingDetIdFromSuperClusterProducer.cc b/RecoEcal/EgammaClusterProducers/src/InterestingDetIdFromSuperClusterProducer.cc index a9bc0b3f692b4..223a7cd9434d9 100644 --- a/RecoEcal/EgammaClusterProducers/src/InterestingDetIdFromSuperClusterProducer.cc +++ b/RecoEcal/EgammaClusterProducers/src/InterestingDetIdFromSuperClusterProducer.cc @@ -31,7 +31,7 @@ The following classes of "interesting id" are considered #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/stream/EDProducer.h" +#include "FWCore/Framework/interface/global/EDProducer.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/ESGetToken.h" @@ -46,13 +46,12 @@ The following classes of "interesting id" are considered #include -class InterestingDetIdFromSuperClusterProducer : public edm::stream::EDProducer<> { +class InterestingDetIdFromSuperClusterProducer : public edm::global::EDProducer<> { public: //! ctor explicit InterestingDetIdFromSuperClusterProducer(const edm::ParameterSet&); - void beginRun(edm::Run const&, const edm::EventSetup&) final; //! producer - void produce(edm::Event&, const edm::EventSetup&) override; + void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override; private: // ----------member data --------------------------- @@ -64,10 +63,8 @@ class InterestingDetIdFromSuperClusterProducer : public edm::stream::EDProducer< std::string interestingDetIdCollection_; int minimalEtaSize_; int minimalPhiSize_; - const CaloTopology* caloTopology_; int severityLevel_; - const EcalSeverityLevelAlgo* severity_; bool keepNextToDead_; bool keepNextToBoundary_; }; @@ -79,8 +76,8 @@ InterestingDetIdFromSuperClusterProducer::InterestingDetIdFromSuperClusterProduc recHitsToken_ = consumes(iConfig.getParameter("recHitsLabel")); superClustersToken_ = consumes(iConfig.getParameter("superClustersLabel")); - caloTopologyToken_ = esConsumes(); - severityLevelToken_ = esConsumes(); + caloTopologyToken_ = esConsumes(); + severityLevelToken_ = esConsumes(); interestingDetIdCollection_ = iConfig.getParameter("interestingDetIdCollection"); minimalEtaSize_ = iConfig.getParameter("etaSize"); @@ -99,19 +96,16 @@ InterestingDetIdFromSuperClusterProducer::InterestingDetIdFromSuperClusterProduc } } -void InterestingDetIdFromSuperClusterProducer::beginRun(edm::Run const& run, const edm::EventSetup& iSetup) { - edm::ESHandle theCaloTopology = iSetup.getHandle(caloTopologyToken_); - caloTopology_ = &(*theCaloTopology); - - edm::ESHandle sevLv = iSetup.getHandle(severityLevelToken_); - severity_ = sevLv.product(); -} - // ------------ method called to produce the data ------------ -void InterestingDetIdFromSuperClusterProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { +void InterestingDetIdFromSuperClusterProducer::produce(edm::StreamID, + edm::Event& iEvent, + const edm::EventSetup& iSetup) const { using namespace edm; using namespace std; + auto const& caloTopology = iSetup.getData(caloTopologyToken_); + + auto const& severity = iSetup.getData(severityLevelToken_); // take BasicClusters Handle pClusters; iEvent.getByToken(superClustersToken_, pClusters); @@ -154,7 +148,7 @@ void InterestingDetIdFromSuperClusterProducer::produce(edm::Event& iEvent, const if (eMaxId.null()) continue; - const CaloSubdetectorTopology* topology = caloTopology_->getSubdetectorTopology(eMaxId.det(), eMaxId.subdetId()); + const CaloSubdetectorTopology* topology = caloTopology.getSubdetectorTopology(eMaxId.det(), eMaxId.subdetId()); xtalsToStore = topology->getWindow(eMaxId, minimalEtaSize_, minimalPhiSize_); std::vector > xtalsInClus = (*clusIt)->hitsAndFractions(); @@ -173,7 +167,7 @@ void InterestingDetIdFromSuperClusterProducer::produce(edm::Event& iEvent, const indexToStore.push_back(it->id()); } // add hits for severities above a threshold - if (severityLevel_ >= 0 && severity_->severityLevel(*it) >= severityLevel_) { + if (severityLevel_ >= 0 && severity.severityLevel(*it) >= severityLevel_) { indexToStore.push_back(it->id()); } if (keepNextToDead_) {