diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc index 117697d69e773..0ca8e2c568ed2 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc @@ -45,6 +45,7 @@ class SiStripBadModuleConfigurableFakeESSource : public edm::ESProducer, public bool m_printDebug; bool m_doByAPVs; SiStripDetInfoFileReader m_detInfoFileReader; + edm::ESGetToken trackTopoToken_; std::vector selectDetectors(const TrackerTopology* tTopo, const std::vector& detIds) const; std::vector>> selectAPVs() const; @@ -55,7 +56,7 @@ class SiStripBadModuleConfigurableFakeESSource : public edm::ESProducer, public #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" SiStripBadModuleConfigurableFakeESSource::SiStripBadModuleConfigurableFakeESSource(const edm::ParameterSet& iConfig) { - setWhatProduced(this); + setWhatProduced(this).setConsumes(trackTopoToken_); findingRecord(); m_badComponentList = iConfig.getUntrackedParameter("BadComponentList"); @@ -79,13 +80,12 @@ SiStripBadModuleConfigurableFakeESSource::ReturnType SiStripBadModuleConfigurabl const SiStripBadModuleRcd& iRecord) { using namespace edm::es; - edm::ESHandle tTopo; - iRecord.getRecord().get(tTopo); + TrackerTopology const& tTopo = iRecord.get(trackTopoToken_); auto quality = std::make_unique(); if (!m_doByAPVs) { - std::vector selDetIds{selectDetectors(tTopo.product(), m_detInfoFileReader.getAllDetIds())}; + std::vector selDetIds{selectDetectors(&tTopo, m_detInfoFileReader.getAllDetIds())}; edm::LogInfo("SiStripQualityConfigurableFakeESSource") << "[produce] number of selected dets to be removed " << selDetIds.size() << std::endl;