From 731d6032c39c42d7a02cc09a4ddd5c6a8a8a740f Mon Sep 17 00:00:00 2001 From: Pieter David Date: Wed, 7 Oct 2020 14:57:47 +0200 Subject: [PATCH 01/22] AnalysisAlgos/SiStripClusterInfoProducer: migrate SiStripProcessedRawDigiProducer to esConsumes; add _ to member variable names --- .../SiStripProcessedRawDigiProducer.cc | 42 +++++++++---------- .../plugins/SiStripProcessedRawDigiProducer.h | 17 ++++---- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc index ad3153f5d378f..2d482f0537500 100644 --- a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc +++ b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc @@ -6,9 +6,6 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/transform.h" -#include "CalibFormats/SiStripObjects/interface/SiStripGain.h" -#include "CalibTracker/Records/interface/SiStripGainRcd.h" - #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripProcessedRawDigi.h" @@ -16,13 +13,14 @@ #include SiStripProcessedRawDigiProducer::SiStripProcessedRawDigiProducer(edm::ParameterSet const& conf) - : inputTags(conf.getParameter >("DigiProducersList")), - inputTokensDigi(edm::vector_transform( - inputTags, [this](edm::InputTag const& tag) { return consumes >(tag); })), - inputTokensRawDigi(edm::vector_transform( - inputTags, [this](edm::InputTag const& tag) { return consumes >(tag); })), - subtractorPed(SiStripRawProcessingFactory::create_SubtractorPed(conf)), - subtractorCMN(SiStripRawProcessingFactory::create_SubtractorCMN(conf)) { + : inputTags_(conf.getParameter >("DigiProducersList")), + inputTokensDigi_(edm::vector_transform( + inputTags_, [this](edm::InputTag const& tag) { return consumes >(tag); })), + inputTokensRawDigi_(edm::vector_transform( + inputTags_, [this](edm::InputTag const& tag) { return consumes >(tag); })), + gainToken_(esConsumes()), + subtractorPed_(SiStripRawProcessingFactory::create_SubtractorPed(conf)), + subtractorCMN_(SiStripRawProcessingFactory::create_SubtractorCMN(conf)) { produces >(""); } @@ -31,16 +29,16 @@ void SiStripProcessedRawDigiProducer::produce(edm::Event& e, const edm::EventSet edm::Handle > inputDigis; edm::Handle > inputRawdigis; - es.get().get(gainHandle); - subtractorPed->init(es); - subtractorCMN->init(es); + gainHandle_ = es.getHandle(gainToken_); + subtractorPed_->init(es); + subtractorCMN_->init(es); - std::string label = findInput(inputRawdigis, inputTokensRawDigi, e); + std::string label = findInput(inputRawdigis, inputTokensRawDigi_, e); if ("VirginRaw" == label) vr_process(*inputRawdigis, *output); else if ("ProcessedRaw" == label) pr_process(*inputRawdigis, *output); - else if ("ZeroSuppressed" == findInput(inputDigis, inputTokensDigi, e)) + else if ("ZeroSuppressed" == findInput(inputDigis, inputTokensDigi_, e)) zs_process(*inputDigis, *output); else edm::LogError("Input Not Found"); @@ -57,8 +55,8 @@ inline std::string SiStripProcessedRawDigiProducer::findInput(edm::Handle& ha unsigned index(token - tokens.begin()); e.getByToken(*token, handle); if (handle.isValid() && !handle->empty()) { - edm::LogInfo("Input") << inputTags.at(index); - return inputTags.at(index).instance(); + edm::LogInfo("Input") << inputTags_.at(index); + return inputTags_.at(index).instance(); } } return "Input Not Found"; @@ -83,7 +81,7 @@ void SiStripProcessedRawDigiProducer::pr_process(const edm::DetSetVector digis; transform( detset->begin(), detset->end(), back_inserter(digis), std::bind(&SiStripRawDigi::adc, std::placeholders::_1)); - subtractorCMN->subtract(detset->id, 0, digis); + subtractorCMN_->subtract(detset->id, 0, digis); common_process(detset->id, digis, output); } } @@ -92,9 +90,9 @@ void SiStripProcessedRawDigiProducer::vr_process(const edm::DetSetVector& output) { for (edm::DetSetVector::const_iterator detset = input.begin(); detset != input.end(); ++detset) { std::vector int_digis(detset->size()); - subtractorPed->subtract(*detset, int_digis); + subtractorPed_->subtract(*detset, int_digis); std::vector digis(int_digis.begin(), int_digis.end()); - subtractorCMN->subtract(detset->id, 0, digis); + subtractorCMN_->subtract(detset->id, 0, digis); common_process(detset->id, digis, output); } } @@ -103,9 +101,9 @@ void SiStripProcessedRawDigiProducer::common_process(const uint32_t detId, std::vector& digis, edm::DetSetVector& output) { //Apply Gains - SiStripApvGain::Range detGainRange = gainHandle->getRange(detId); + SiStripApvGain::Range detGainRange = gainHandle_->getRange(detId); for (std::vector::iterator it = digis.begin(); it < digis.end(); ++it) - (*it) /= (gainHandle->getStripGain(it - digis.begin(), detGainRange)); + (*it) /= (gainHandle_->getStripGain(it - digis.begin(), detGainRange)); //Insert as DetSet edm::DetSet ds(detId); diff --git a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h index 04cde6e8366ec..476f2330352c3 100644 --- a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h +++ b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h @@ -10,13 +10,15 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h" #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h" +#include "CalibFormats/SiStripObjects/interface/SiStripGain.h" +#include "CalibTracker/Records/interface/SiStripGainRcd.h" + #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" #include #include -class SiStripGain; class SiStripProcessedRawDigi; class SiStripProcessedRawDigiProducer : public edm::EDProducer { @@ -33,12 +35,13 @@ class SiStripProcessedRawDigiProducer : public edm::EDProducer { void zs_process(const edm::DetSetVector&, edm::DetSetVector&); void common_process(const uint32_t, std::vector&, edm::DetSetVector&); - std::vector inputTags; - std::vector > > inputTokensDigi; - std::vector > > inputTokensRawDigi; - edm::ESHandle gainHandle; + std::vector inputTags_; + std::vector > > inputTokensDigi_; + std::vector > > inputTokensRawDigi_; + edm::ESGetToken gainToken_; + edm::ESHandle gainHandle_; - std::unique_ptr subtractorPed; - std::unique_ptr subtractorCMN; + std::unique_ptr subtractorPed_; + std::unique_ptr subtractorCMN_; }; #endif From 6329907858a9a4b0e0c52fbd10dde40c24f1ed34 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Thu, 8 Oct 2020 09:56:53 +0200 Subject: [PATCH 02/22] esConsumes migration for CalibTracker/SiStripChannelGain --- .../interface/SiStripGainsPCLHarvester.h | 17 +++- .../interface/SiStripGainsPCLWorker.h | 6 +- .../plugins/DeDxDiscriminatorLearner.cc | 15 ++-- .../plugins/DeDxDiscriminatorLearner.h | 2 + .../plugins/SiStripGainCosmicCalculator.cc | 84 ++++++------------- .../plugins/SiStripGainCosmicCalculator.h | 20 +++-- .../plugins/SiStripGainFromCalibTree.cc | 37 ++++---- .../plugins/SiStripGainFromData.cc | 30 ++++--- .../plugins/SiStripGainRandomCalculator.cc | 21 ++--- .../plugins/SiStripGainRandomCalculator.h | 8 +- .../src/SiStripGainsPCLHarvester.cc | 37 +++----- .../src/SiStripGainsPCLWorker.cc | 21 +++-- 12 files changed, 136 insertions(+), 162 deletions(-) diff --git a/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLHarvester.h b/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLHarvester.h index 14a73ecccbf09..26ab50a355bfb 100644 --- a/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLHarvester.h +++ b/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLHarvester.h @@ -19,7 +19,6 @@ // CMSSW includes #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -29,6 +28,12 @@ #include "DQMServices/Core/interface/DQMStore.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" +#include "CalibFormats/SiStripObjects/interface/SiStripGain.h" +#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" +#include "CalibTracker/Records/interface/SiStripGainRcd.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" // user includes #include "CalibTracker/SiStripChannelGain/interface/APVGainStruct.h" @@ -88,10 +93,14 @@ class SiStripGainsPCLHarvester : public DQMEDHarvester { int CalibrationLevel; - edm::ESHandle tkGeom_; - const TrackerGeometry* bareTkGeomPtr_; // ugly hack to fill APV colls only once, but checks - const TrackerTopology* tTopo_; + const TrackerGeometry* bareTkGeomPtr_ = nullptr; // ugly hack to fill APV colls only once, but checks + const TrackerTopology* tTopo_ = nullptr; std::vector > APVsCollOrdered; std::unordered_map > APVsColl; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken gainToken_; + edm::ESGetToken qualityToken_; }; diff --git a/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLWorker.h b/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLWorker.h index 12cb561fc6402..3281c2e576e0a 100644 --- a/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLWorker.h +++ b/CalibTracker/SiStripChannelGain/interface/SiStripGainsPCLWorker.h @@ -40,7 +40,6 @@ #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -139,6 +138,11 @@ class SiStripGainsPCLWorker : public DQMGlobalEDAnalyzer > gainused_token_; edm::EDGetTokenT > gainusedTick_token_; + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken gainToken_; + edm::ESGetToken qualityToken_; + std::string EventPrefix_; //(""); std::string EventSuffix_; //(""); std::string TrackPrefix_; //("track"); diff --git a/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.cc b/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.cc index dbc314346cee3..0df59d490abdb 100644 --- a/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.cc +++ b/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.cc @@ -23,7 +23,6 @@ #include "DataFormats/TrackReco/interface/Track.h" #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "Geometry/CommonDetUnit/interface/GluedGeomDet.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" @@ -37,6 +36,7 @@ DeDxDiscriminatorLearner::DeDxDiscriminatorLearner(const edm::ParameterSet& iCon m_tracksTag = consumes(iConfig.getParameter("tracks")); m_trajTrackAssociationTag = consumes(iConfig.getParameter("trajectoryTrackAssociation")); + m_tkGeomToken = esConsumes(); P_Min = iConfig.getParameter("P_Min"); P_Max = iConfig.getParameter("P_Max"); @@ -82,11 +82,11 @@ void DeDxDiscriminatorLearner::algoBeginJob(const edm::EventSetup& iSetup) { Charge_Max); if (useCalibration && calibGains.empty()) { - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); - m_off = tkGeom->offsetDU(GeomDetEnumerators::PixelBarrel); //index start at the first pixel + const auto& tkGeom = iSetup.getData(m_tkGeomToken); - DeDxTools::makeCalibrationMap(m_calibrationPath, *tkGeom, calibGains, m_off); + m_off = tkGeom.offsetDU(GeomDetEnumerators::PixelBarrel); //index start at the first pixel + + DeDxTools::makeCalibrationMap(m_calibrationPath, tkGeom, calibGains, m_off); } //Read the calibTree if in calibTree mode @@ -237,8 +237,7 @@ void DeDxDiscriminatorLearner::processHit(const TrackingRecHit* recHit, //this function is only used when we run over a calibTree instead of running over EDM files void DeDxDiscriminatorLearner::algoAnalyzeTheTree(const edm::EventSetup& iSetup) { - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); + const auto& tkGeom = iSetup.getData(m_tkGeomToken); unsigned int NEvent = 0; for (unsigned int i = 0; i < VInputFiles.size(); i++) { @@ -321,7 +320,7 @@ void DeDxDiscriminatorLearner::algoAnalyzeTheTree(const edm::EventSetup& iSetup) int Charge = 0; if (useCalibration) { - auto& gains = calibGains[tkGeom->idToDetUnit(DetId((*rawid)[c]))->index() - m_off]; + auto& gains = calibGains[tkGeom.idToDetUnit(DetId((*rawid)[c]))->index() - m_off]; auto& gain = gains[(*firststrip)[c] / 128]; for (unsigned int s = 0; s < (*nstrips)[c]; s++) { int StripCharge = (*amplitude)[FirstAmplitude - (*nstrips)[c] + s]; diff --git a/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.h b/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.h index 978a86a120e9c..a428fc56e66ef 100644 --- a/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.h +++ b/CalibTracker/SiStripChannelGain/plugins/DeDxDiscriminatorLearner.h @@ -42,6 +42,8 @@ class DeDxDiscriminatorLearner : public ConditionDBWriter m_trajTrackAssociationTag; edm::EDGetTokenT m_tracksTag; + edm::ESGetToken m_tkGeomToken; + float MinTrackMomentum; float MaxTrackMomentum; float MinTrackEta; diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.cc index 7adf228257c7e..310cd7468c148 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.cc @@ -4,10 +4,7 @@ // Original Author: G. Bruno, D. Kcira // Created: Mon May 20 10:04:31 CET 2007 #include "CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.h" -#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" -#include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" @@ -17,8 +14,6 @@ #include "DataFormats/FEDRawData/interface/FEDNumbering.h" #include "CLHEP/Random/RandFlat.h" #include "CLHEP/Random/RandGauss.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetType.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "DataFormats/TrackReco/interface/Track.h" @@ -28,8 +23,6 @@ #include "DataFormats/TrackerCommon/interface/SiStripSubStructure.h" #include "DataFormats/DetId/interface/DetId.h" #include "DataFormats/SiStripDetId/interface/StripSubdetector.h" -#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "TrackingTools/PatternTools/interface/Trajectory.h" //#include "DQM/SiStripCommon/interface/SiStripGenerateKey.h" @@ -62,7 +55,10 @@ SiStripGainCosmicCalculator::SiStripGainCosmicCalculator(const edm::ParameterSet } printdebug_ = iConfig.getUntrackedParameter("printDebug", false); - tTopo = nullptr; + + tTopoToken_ = esConsumes(); + detCablingToken_ = esConsumes(); + tkGeomToken_ = esConsumes(); } SiStripGainCosmicCalculator::~SiStripGainCosmicCalculator() { @@ -72,18 +68,9 @@ SiStripGainCosmicCalculator::~SiStripGainCosmicCalculator() { void SiStripGainCosmicCalculator::algoEndJob() {} void SiStripGainCosmicCalculator::algoBeginJob(const edm::EventSetup& iSetup) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - tTopo = tTopoHandle.product(); - - edm::ESHandle siStripDetCablingH; - iSetup.get().get(siStripDetCablingH); - siStripDetCabling = siStripDetCablingH.product(); - - edm::ESHandle tkGeomH; - iSetup.get().get(tkGeomH); - tkGeom = tkGeomH.product(); + tTopo_ = &iSetup.getData(tTopoToken_); + siStripDetCabling_ = &iSetup.getData(detCablingToken_); + tkGeom_ = &iSetup.getData(tkGeomToken_); std::cout << "SiStripGainCosmicCalculator::algoBeginJob called" << std::endl; total_nr_of_events = 0; @@ -107,54 +94,37 @@ void SiStripGainCosmicCalculator::algoBeginJob(const edm::EventSetup& iSetup) { local_histo->GetXaxis()->SetBinLabel(2, "matched"); // get cabling and find out list of active detectors - edm::ESHandle siStripDetCabling; - iSetup.get().get(siStripDetCabling); std::vector activeDets; activeDets.clear(); SelectedDetIds.clear(); - siStripDetCabling->addActiveDetectorsRawIds(activeDets); + siStripDetCabling_->addActiveDetectorsRawIds(activeDets); // SelectedDetIds = activeDets; // all active detector modules // use SiStripSubStructure for selecting certain regions SiStripSubStructure::getTIBDetectors( - activeDets, SelectedDetIds, tTopo, 0, 0, 0, 0); // this adds rawDetIds to SelectedDetIds + activeDets, SelectedDetIds, tTopo_, 0, 0, 0, 0); // this adds rawDetIds to SelectedDetIds SiStripSubStructure::getTOBDetectors( - activeDets, SelectedDetIds, tTopo, 0, 0, 0); // this adds rawDetIds to SelectedDetIds + activeDets, SelectedDetIds, tTopo_, 0, 0, 0); // this adds rawDetIds to SelectedDetIds // get tracker geometry and find nr. of apv pairs for each active detector - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); - for (TrackerGeometry::DetContainer::const_iterator it = tkGeom->dets().begin(); it != tkGeom->dets().end(); - it++) { // loop over detector modules - if (dynamic_cast((*it)) != nullptr) { - uint32_t detid = ((*it)->geographicalId()).rawId(); + for (auto det : tkGeom_->dets()) { // loop over detector modules + if (dynamic_cast(det) != nullptr) { + uint32_t detid = det->geographicalId().rawId(); // get thickness for all detector modules, not just for active, this is strange double module_thickness = - (*it) - ->surface() + det->surface() .bounds() .thickness(); // get thickness of detector from GeomDet (DetContainer == vector) thickness_map.insert(std::make_pair(detid, module_thickness)); // - bool is_active_detector = false; - for (std::vector::iterator iactive = SelectedDetIds.begin(); iactive != SelectedDetIds.end(); - iactive++) { - if (*iactive == detid) { - is_active_detector = true; - break; // leave for loop if found matching detid - } - } + const bool is_active_detector = + std::end(SelectedDetIds) != std::find(std::begin(SelectedDetIds), std::end(SelectedDetIds), detid); // - bool exclude_this_detid = false; - for (std::vector::const_iterator imod = detModulesToBeExcluded.begin(); - imod != detModulesToBeExcluded.end(); - imod++) { - if (*imod == detid) - exclude_this_detid = true; // found in exclusion list - break; - } + const bool exclude_this_detid = + std::end(detModulesToBeExcluded) != + std::find(std::begin(detModulesToBeExcluded), std::end(detModulesToBeExcluded), detid); // if (is_active_detector && (!exclude_this_detid)) { // check whether is active detector and that should not be excluded - const StripTopology& p = dynamic_cast((*it))->specificTopology(); + const StripTopology& p = dynamic_cast(det)->specificTopology(); unsigned short NAPVPairs = p.nstrips() / 256; if (NAPVPairs < 2 || NAPVPairs > 3) { edm::LogError("SiStripGainCosmicCalculator") @@ -291,7 +261,7 @@ std::pair SiStripGainCosmicCalculator::getPeakOfLandau( double SiStripGainCosmicCalculator::moduleWidth(const uint32_t detid) // get width of the module detid { //dk: copied from A. Giammanco and hacked, module_width values : 10.49 12.03 6.144 7.14 9.3696 double module_width = 0.; - const GeomDetUnit* it = tkGeom->idToDetUnit(DetId(detid)); + const GeomDetUnit* it = tkGeom_->idToDetUnit(DetId(detid)); if (dynamic_cast(it) == nullptr && dynamic_cast(it) == nullptr) { std::cout << "this detID doesn't seem to belong to the Tracker" << std::endl; } else { @@ -304,7 +274,7 @@ double SiStripGainCosmicCalculator::moduleWidth(const uint32_t detid) // get wi double SiStripGainCosmicCalculator::moduleThickness(const uint32_t detid) // get thickness of the module detid { //dk: copied from A. Giammanco and hacked double module_thickness = 0.; - const GeomDetUnit* it = tkGeom->idToDetUnit(DetId(detid)); + const GeomDetUnit* it = tkGeom_->idToDetUnit(DetId(detid)); if (dynamic_cast(it) == nullptr && dynamic_cast(it) == nullptr) { std::cout << "this detID doesn't seem to belong to the Tracker" << std::endl; } else { @@ -410,16 +380,16 @@ std::unique_ptr SiStripGainCosmicCalculator::getNewObject() { // calculate generalized_layer: 31,32 = TIB1, 33 = TIB2, 33 = TIB3, 51 = TOB1, 52 = TOB2, 60 = TEC if (thedetId.subdetId() == StripSubdetector::TIB) { generalized_layer = - 10 * thedetId.subdetId() + tTopo->tibLayer(thedetId.rawId()) + tTopo->tibStereo(thedetId.rawId()); - if (tTopo->tibLayer(thedetId.rawId()) == 2) { + 10 * thedetId.subdetId() + tTopo_->tibLayer(thedetId.rawId()) + tTopo_->tibStereo(thedetId.rawId()); + if (tTopo_->tibLayer(thedetId.rawId()) == 2) { generalized_layer++; - if (tTopo->tibGlued(thedetId.rawId())) + if (tTopo_->tibGlued(thedetId.rawId())) edm::LogError("ClusterMTCCFilter") << "WRONGGGG" << std::endl; } } else { generalized_layer = 10 * thedetId.subdetId(); if (thedetId.subdetId() == StripSubdetector::TOB) { - generalized_layer += tTopo->tobLayer(thedetId.rawId()); + generalized_layer += tTopo_->tobLayer(thedetId.rawId()); } } if (generalized_layer == 31) { @@ -439,7 +409,7 @@ std::unique_ptr SiStripGainCosmicCalculator::getNewObject() { } // control view const FedChannelConnection& fedchannelconnection = - siStripDetCabling->getConnection(extracted_detid, extracted_apvpairid); + siStripDetCabling_->getConnection(extracted_detid, extracted_apvpairid); std::ostringstream local_key; // in S. Mersi's analysis the APVPair id seems to be used instead of the lldChannel, hence use the same here local_key << "fecCrate" << fedchannelconnection.fecCrate() << "_fecSlot" << fedchannelconnection.fecSlot() diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.h b/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.h index d7e2b1a6ffc68..8541903eda07d 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.h +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainCosmicCalculator.h @@ -21,9 +21,13 @@ #include #include -class TrackerTopology; -class SiStripDetCabling; -class TrackerGeometry; +#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" + +#include "Geometry/Records/interface/TrackerTopologyRcd.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" +#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" class SiStripGainCosmicCalculator : public ConditionDBWriter { public: @@ -52,13 +56,17 @@ class SiStripGainCosmicCalculator : public ConditionDBWriter { std::map thickness_map; // map of detector id to respective thickness std::vector SelectedDetIds; std::vector detModulesToBeExcluded; - SiStripDetCabling const* siStripDetCabling = nullptr; - TrackerGeometry const* tkGeom = nullptr; unsigned int MinNrEntries; double MaxChi2OverNDF; bool outputHistogramsInRootFile; TString outputFileName; bool printdebug_; - const TrackerTopology* tTopo; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken detCablingToken_; + edm::ESGetToken tkGeomToken_; + const TrackerTopology* tTopo_ = nullptr; + const SiStripDetCabling* siStripDetCabling_ = nullptr; + const TrackerGeometry* tkGeom_ = nullptr; }; #endif diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc index 57a6560a5c360..ec0a54cff4ac5 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromCalibTree.cc @@ -8,7 +8,6 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/Exception.h" @@ -323,7 +322,13 @@ class SiStripGainFromCalibTree : public ConditionDBWriter { private: std::vector APVsCollOrdered; std::unordered_map APVsColl; - const TrackerTopology* tTopo_; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken runInfoToken_; + edm::ESGetToken gainToken_; + edm::ESGetToken qualityToken_; + const TrackerTopology* tTopo_ = nullptr; }; inline int SiStripGainFromCalibTree::statCollectionFromMode(const char* tag) const { @@ -465,7 +470,11 @@ SiStripGainFromCalibTree::SiStripGainFromCalibTree(const edm::ParameterSet& iCon consumes>(edm::InputTag(label, TrackPrefix_ + "hitsvalid" + TrackSuffix_)); trackalgo_token_ = consumes>(edm::InputTag(label, TrackPrefix_ + "algo" + TrackSuffix_)); - tTopo_ = nullptr; + tTopoToken_ = esConsumes(); + tkGeomToken_ = esConsumes(); + runInfoToken_ = esConsumes(); + gainToken_ = esConsumes(); + qualityToken_ = esConsumes(); } void SiStripGainFromCalibTree::bookDQMHistos(const char* dqm_dir, const char* tag) { @@ -671,13 +680,9 @@ void SiStripGainFromCalibTree::algoBeginJob(const edm::EventSetup& iSetup) { this->bookDQMHistos(dqm_dir.c_str(), dqm_tag_[elem].c_str()); } - edm::ESHandle TopoHandle; - iSetup.get().get(TopoHandle); - tTopo_ = TopoHandle.product(); + tTopo_ = &iSetup.getData(tTopoToken_); - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); - auto const& Det = tkGeom->dets(); + auto const& Det = iSetup.getData(tkGeomToken_).dets(); NPixelDets = 0; NStripAPVs = 0; @@ -791,10 +796,9 @@ void SiStripGainFromCalibTree::algoBeginJob(const edm::EventSetup& iSetup) { } bool SiStripGainFromCalibTree::isBFieldConsistentWithMode(const edm::EventSetup& iSetup) const { - edm::ESHandle runInfo; - iSetup.get().get(runInfo); + const auto& runInfo = iSetup.getData(runInfoToken_); - double average_current = runInfo.product()->m_avg_current; + double average_current = runInfo.m_avg_current; bool isOn = (average_current > MagFieldCurrentTh); bool is0T = (m_calibrationMode.substr(m_calibrationMode.length() - 2) == "0T"); @@ -820,16 +824,13 @@ void SiStripGainFromCalibTree::algoBeginRun(const edm::Run& run, const edm::Even } } - edm::ESHandle gainHandle; - iSetup.get().get(gainHandle); + const auto gainHandle = iSetup.getHandle(gainToken_); if (!gainHandle.isValid()) { edm::LogError("SiStripGainFromCalibTree") << "gainHandle is not valid\n"; exit(0); } - edm::ESHandle SiStripQuality_; - iSetup.get().get(SiStripQuality_); - + const auto& siStripQuality = iSetup.getData(qualityToken_); for (unsigned int a = 0; a < APVsCollOrdered.size(); a++) { stAPVGain* APV = APVsCollOrdered[a]; @@ -837,7 +838,7 @@ void SiStripGainFromCalibTree::algoBeginRun(const edm::Run& run, const edm::Even if (APV->SubDet == PixelSubdetector::PixelBarrel || APV->SubDet == PixelSubdetector::PixelEndcap) continue; - APV->isMasked = SiStripQuality_->IsApvBad(APV->DetId, APV->APVId); + APV->isMasked = siStripQuality.IsApvBad(APV->DetId, APV->APVId); // if(!FirstSetOfConstants){ if (gainHandle->getNumberOfTags() != 2) { diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc index 6116bd8ab775a..a4368a3ba1533 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainFromData.cc @@ -7,7 +7,6 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/Exception.h" @@ -293,6 +292,10 @@ class SiStripGainFromData : public ConditionDBWriter { std::vector APVsCollOrdered; std::unordered_map APVsColl; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken gainToken_; }; SiStripGainFromData::SiStripGainFromData(const edm::ParameterSet& iConfig) @@ -328,6 +331,10 @@ SiStripGainFromData::SiStripGainFromData(const edm::ParameterSet& iConfig) dqmStore_ = edm::Service().operator->(); + tTopoToken_ = esConsumes(); + tkGeomToken_ = esConsumes(); + gainToken_ = esConsumes(); + //if( OutputHistos!="" ) // dqmStore_->open(OutputHistos.c_str(), true); } @@ -335,10 +342,7 @@ SiStripGainFromData::SiStripGainFromData(const edm::ParameterSet& iConfig) SiStripGainFromData::~SiStripGainFromData() {} void SiStripGainFromData::algoBeginJob(const edm::EventSetup& iSetup) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); + const TrackerTopology* const tTopo = &iSetup.getData(tTopoToken_); iSetup_ = &iSetup; @@ -564,14 +568,10 @@ void SiStripGainFromData::algoBeginJob(const edm::EventSetup& iSetup) { gROOT->cd(); - edm::ESHandle tkGeom; - iSetup.get().get(tkGeom); - auto const& Det = tkGeom->dets(); + auto const& Det = iSetup.getData(tkGeomToken_).dets(); - edm::ESHandle gainHandle; // if(strcmp(AlgoMode.c_str(),"MultiJob")!=0 && !FirstSetOfConstants){ - iSetup.get().get(gainHandle); - if (!gainHandle.isValid()) { + if (!iSetup.getHandle(gainToken_)) { printf("\n#####################\n\nERROR --> gainHandle is not valid\n\n#####################\n\n"); exit(0); } @@ -1135,9 +1135,8 @@ void SiStripGainFromData::algoEndJob() { } void SiStripGainFromData::algoBeginRun(const edm::Run&, const edm::EventSetup& iSetup) { - edm::ESHandle gainHandle; if ((strcmp(AlgoMode.c_str(), "MultiJob") != 0 && !FirstSetOfConstants) || Validation) { - iSetup.get().get(gainHandle); + const auto gainHandle = iSetup.getHandle(gainToken_); if (!gainHandle.isValid()) { printf("\n#####################\n\nERROR --> gainHandle is not valid\n\n#####################\n\n"); exit(0); @@ -1400,13 +1399,12 @@ double SiStripGainFromData::ComputeChargeOverPath(const SiStripCluster* Cluster, bool SiStripGainFromData::IsFarFromBorder(TrajectoryStateOnSurface trajState, const uint32_t detid, const edm::EventSetup* iSetup) { - edm::ESHandle tkGeom; - iSetup->get().get(tkGeom); + const auto& tkGeom = iSetup->getData(tkGeomToken_); LocalPoint HitLocalPos = trajState.localPosition(); LocalError HitLocalError = trajState.localError().positionError(); - const GeomDetUnit* it = tkGeom->idToDetUnit(DetId(detid)); + const GeomDetUnit* it = tkGeom.idToDetUnit(DetId(detid)); if (dynamic_cast(it) == nullptr && dynamic_cast(it) == nullptr) { std::cout << "this detID doesn't seem to belong to the Tracker" << std::endl; return false; diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.cc b/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.cc index 79091fef737e6..4664230cdb98b 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.cc +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.cc @@ -6,11 +6,8 @@ #include "CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" @@ -21,7 +18,7 @@ using namespace cms; using namespace std; SiStripGainRandomCalculator::SiStripGainRandomCalculator(const edm::ParameterSet& iConfig) - : ConditionDBWriter(iConfig), m_cacheID_(0) { + : ConditionDBWriter(iConfig) { edm::LogInfo("SiStripGainRandomCalculator::SiStripGainRandomCalculator"); // std::string Mode=iConfig.getParameter("Mode"); @@ -35,6 +32,8 @@ SiStripGainRandomCalculator::SiStripGainRandomCalculator(const edm::ParameterSet sigmaGain_ = iConfig.getParameter("SigmaGain"); minimumPosValue_ = iConfig.getParameter("MinPositiveGain"); printdebug_ = iConfig.getUntrackedParameter("printDebug", false); + + tkGeomToken_ = esConsumes(); } SiStripGainRandomCalculator::~SiStripGainRandomCalculator() { @@ -42,21 +41,15 @@ SiStripGainRandomCalculator::~SiStripGainRandomCalculator() { } void SiStripGainRandomCalculator::algoAnalyze(const edm::Event& event, const edm::EventSetup& iSetup) { - unsigned long long cacheID = iSetup.get().cacheIdentifier(); - - if (m_cacheID_ != cacheID) { - m_cacheID_ = cacheID; - - edm::ESHandle pDD; - - iSetup.get().get(pDD); + if (tkDigiGeomRcdWatcher_.check(iSetup)) { + const auto& dd = iSetup.getData(tkGeomToken_); edm::LogInfo("SiStripGainRandomCalculator::algoAnalyze - got new geometry ") << std::endl; detid_apvs_.clear(); - edm::LogInfo("SiStripGainCalculator") << " There are " << pDD->detUnits().size() << " detectors" << std::endl; + edm::LogInfo("SiStripGainCalculator") << " There are " << dd.detUnits().size() << " detectors" << std::endl; - for (const auto& it : pDD->detUnits()) { + for (const auto& it : dd.detUnits()) { if (dynamic_cast(it) != nullptr) { uint32_t detid = (it->geographicalId()).rawId(); const StripTopology& p = dynamic_cast(it)->specificTopology(); diff --git a/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.h b/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.h index f1f1eef49bbe2..4c3ca750ca592 100644 --- a/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.h +++ b/CalibTracker/SiStripChannelGain/plugins/SiStripGainRandomCalculator.h @@ -21,6 +21,10 @@ #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" +#include "FWCore/Framework/interface/ESWatcher.h" + #include #include @@ -40,7 +44,9 @@ class SiStripGainRandomCalculator : public ConditionDBWriter { double minimumPosValue_; std::vector > detid_apvs_; - unsigned long long m_cacheID_; bool printdebug_; + + edm::ESGetToken tkGeomToken_; + edm::ESWatcher tkDigiGeomRcdWatcher_; }; #endif diff --git a/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLHarvester.cc b/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLHarvester.cc index ad52b7a87aab6..6537b4e41930f 100644 --- a/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLHarvester.cc +++ b/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLHarvester.cc @@ -2,12 +2,6 @@ #include // CMSSW includes -#include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" -#include "CalibFormats/SiStripObjects/interface/SiStripGain.h" -#include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" -#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripGainRcd.h" -#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" #include "DataFormats/DetId/interface/DetId.h" #include "DataFormats/SiStripCluster/interface/SiStripClusterCollection.h" @@ -19,8 +13,6 @@ #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" #include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" @@ -35,14 +27,7 @@ //********************************************************************************// SiStripGainsPCLHarvester::SiStripGainsPCLHarvester(const edm::ParameterSet& ps) - : doStoreOnDB(false), - GOOD(0), - BAD(0), - MASKED(0), - NStripAPVs(0), - NPixelDets(0), - bareTkGeomPtr_(nullptr), - tTopo_(nullptr) { + : doStoreOnDB(false), GOOD(0), BAD(0), MASKED(0), NStripAPVs(0), NPixelDets(0) { m_Record = ps.getUntrackedParameter("Record", "SiStripApvGainRcd"); CalibrationLevel = ps.getUntrackedParameter("CalibrationLevel", 0); MinNrEntries = ps.getUntrackedParameter("minNrEntries", 20); @@ -63,6 +48,11 @@ SiStripGainsPCLHarvester::SiStripGainsPCLHarvester(const edm::ParameterSet& ps) dqm_tag_.push_back("IsoMuon"); // statistic collection from Isolated Muon @ 3.8 T dqm_tag_.push_back("IsoMuon0T"); // statistic collection from Isolated Muon @ 0 T dqm_tag_.push_back("Harvest"); // statistic collection: Harvest + + tTopoToken_ = esConsumes(); + tkGeomToken_ = esConsumes(); + gainToken_ = esConsumes(); + qualityToken_ = esConsumes(); } //********************************************************************************// @@ -74,15 +64,13 @@ void SiStripGainsPCLHarvester::beginRun(edm::Run const& run, const edm::EventSet this->checkBookAPVColls(iSetup); // check whether APV colls are booked and do so if not yet done this->checkAndRetrieveTopology(iSetup); - edm::ESHandle gainHandle; - iSetup.get().get(gainHandle); + const auto gainHandle = iSetup.getHandle(gainToken_); if (!gainHandle.isValid()) { edm::LogError("SiStripGainPCLHarvester") << "gainHandle is not valid\n"; exit(0); } - edm::ESHandle SiStripQuality_; - iSetup.get().get(SiStripQuality_); + const auto& stripQuality = iSetup.getData(qualityToken_); for (unsigned int a = 0; a < APVsCollOrdered.size(); a++) { std::shared_ptr APV = APVsCollOrdered[a]; @@ -90,7 +78,7 @@ void SiStripGainsPCLHarvester::beginRun(edm::Run const& run, const edm::EventSet if (APV->SubDet == PixelSubdetector::PixelBarrel || APV->SubDet == PixelSubdetector::PixelEndcap) continue; - APV->isMasked = SiStripQuality_->IsApvBad(APV->DetId, APV->APVId); + APV->isMasked = stripQuality.IsApvBad(APV->DetId, APV->APVId); if (gainHandle->getNumberOfTags() != 2) { edm::LogError("SiStripGainPCLHarvester") << "NUMBER OF GAIN TAG IS EXPECTED TO BE 2\n"; @@ -517,8 +505,7 @@ bool SiStripGainsPCLHarvester::IsGoodLandauFit(double* FitResults) { //********************************************************************************// // ------------ method called once each job just before starting event loop ------------ void SiStripGainsPCLHarvester::checkBookAPVColls(const edm::EventSetup& es) { - es.get().get(tkGeom_); - const TrackerGeometry* newBareTkGeomPtr = &(*tkGeom_); + auto newBareTkGeomPtr = &es.getData(tkGeomToken_); if (newBareTkGeomPtr == bareTkGeomPtr_) return; // already filled APVColls, nothing changed @@ -628,9 +615,7 @@ void SiStripGainsPCLHarvester::checkBookAPVColls(const edm::EventSetup& es) { void SiStripGainsPCLHarvester::checkAndRetrieveTopology(const edm::EventSetup& setup) { if (!tTopo_) { - edm::ESHandle TopoHandle; - setup.get().get(TopoHandle); - tTopo_ = TopoHandle.product(); + tTopo_ = &setup.getData(tTopoToken_); } } diff --git a/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLWorker.cc b/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLWorker.cc index f4d73a987de2a..e10d14d05da40 100644 --- a/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLWorker.cc +++ b/CalibTracker/SiStripChannelGain/src/SiStripGainsPCLWorker.cc @@ -99,6 +99,11 @@ SiStripGainsPCLWorker::SiStripGainsPCLWorker(const edm::ParameterSet& iConfig) { trackhitsvalid_token_ = consumes>(edm::InputTag(label, TrackPrefix_ + "hitsvalid" + TrackSuffix_)); trackalgo_token_ = consumes>(edm::InputTag(label, TrackPrefix_ + "algo" + TrackSuffix_)); + + tTopoToken_ = esConsumes(); + tkGeomToken_ = esConsumes(); + gainToken_ = esConsumes(); + qualityToken_ = esConsumes(); } //********************************************************************************// @@ -109,20 +114,16 @@ void SiStripGainsPCLWorker::dqmBeginRun(edm::Run const& run, static constexpr float defaultGainTick = 690. / 640.; // fills the APV collections at each begin run - edm::ESHandle tkGeom_; - iSetup.get().get(tkGeom_); - const TrackerGeometry* bareTkGeomPtr = &(*tkGeom_); + const TrackerGeometry* bareTkGeomPtr = &iSetup.getData(tkGeomToken_); checkBookAPVColls(bareTkGeomPtr, histograms); - edm::ESHandle gainHandle; - iSetup.get().get(gainHandle); + const auto gainHandle = iSetup.getHandle(gainToken_); if (!gainHandle.isValid()) { edm::LogError("SiStripGainPCLWorker") << "gainHandle is not valid\n"; exit(0); } - edm::ESHandle SiStripQuality_; - iSetup.get().get(SiStripQuality_); + const auto& siStripQuality = iSetup.getData(qualityToken_); for (unsigned int a = 0; a < histograms.APVsCollOrdered.size(); a++) { std::shared_ptr APV = histograms.APVsCollOrdered[a]; @@ -130,7 +131,7 @@ void SiStripGainsPCLWorker::dqmBeginRun(edm::Run const& run, if (APV->SubDet == PixelSubdetector::PixelBarrel || APV->SubDet == PixelSubdetector::PixelEndcap) continue; - APV->isMasked = SiStripQuality_->IsApvBad(APV->DetId, APV->APVId); + APV->isMasked = siStripQuality.IsApvBad(APV->DetId, APV->APVId); if (gainHandle->getNumberOfTags() != 2) { edm::LogError("SiStripGainPCLWorker") << "NUMBER OF GAIN TAG IS EXPECTED TO BE 2\n"; @@ -168,9 +169,7 @@ void SiStripGainsPCLWorker::dqmAnalyze(edm::Event const& iEvent, edm::LogInfo("SiStripGainsPCLWorker") << "Processing run " << runnumber << " and event " << eventnumber << std::endl; - edm::ESHandle TopoHandle; - iSetup.get().get(TopoHandle); - const TrackerTopology* topo = TopoHandle.product(); + const TrackerTopology* topo = &iSetup.getData(tTopoToken_); // ***************************** // * Event data handles From 8510fae84cec08ac673cf0311560c1f805130d98 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Thu, 8 Oct 2020 10:26:45 +0200 Subject: [PATCH 03/22] esConsumes migration for CalibTracker/SiStripCommon --- .../plugins/ShallowDigisProducer.cc | 16 +++++++--------- .../SiStripCommon/plugins/ShallowDigisProducer.h | 7 ++++--- .../plugins/SiStripDetInfoFileWriter.cc | 11 ++++------- .../plugins/SiStripDetInfoFileWriter.h | 4 ++++ 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.cc b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.cc index c0c6c733a091f..a3a9b65b1e38d 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.cc +++ b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.cc @@ -7,11 +7,9 @@ #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/Common/interface/DetSetVectorNew.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" -#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" -#include "CondFormats/SiStripObjects/interface/SiStripNoises.h" ShallowDigisProducer::ShallowDigisProducer(const edm::ParameterSet& conf) - : inputTags(conf.getParameter >("DigiProducersList")) { + : inputTags(conf.getParameter >("DigiProducersList")), noisesToken_(esConsumes()) { produces >("id"); produces >("subdet"); produces >("strip"); @@ -28,15 +26,15 @@ void ShallowDigisProducer::insert(products& p, edm::Event& e) { } template -inline void ShallowDigisProducer::recordDigis(const T& digiCollection, products& p) { +inline void ShallowDigisProducer::recordDigis(const T& digiCollection, products& p, const SiStripNoises& noises) { for (auto const& set : digiCollection) { - SiStripNoises::Range detNoiseRange = noiseHandle->getRange(set.detId()); + SiStripNoises::Range detNoiseRange = noises.getRange(set.detId()); for (auto const& digi : set) { p.id->push_back(set.detId()); p.subdet->push_back((set.detId() >> 25) & 0x7); p.strip->push_back(digi.strip()); p.adc->push_back(digi.adc()); - p.noise->push_back(noiseHandle->getNoise(digi.strip(), detNoiseRange)); + p.noise->push_back(noises.getNoise(digi.strip(), detNoiseRange)); } } } @@ -45,11 +43,11 @@ void ShallowDigisProducer::produce(edm::Event& e, const edm::EventSetup& es) { products p; edm::Handle > inputOld; edm::Handle > inputNew; - es.get().get(noiseHandle); + const auto& noises = es.getData(noisesToken_); if (findInput(inputOld, e)) - recordDigis(*inputOld, p); + recordDigis(*inputOld, p, noises); else if (findInput(inputNew, e)) - recordDigis(*inputNew, p); + recordDigis(*inputNew, p, noises); else edm::LogWarning("Input Not Found"); insert(p, e); diff --git a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h index 1b7da31dcfa04..5ab6303072881 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h +++ b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h @@ -5,7 +5,8 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Utilities/interface/InputTag.h" -class SiStripNoises; +#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" +#include "CondFormats/SiStripObjects/interface/SiStripNoises.h" class ShallowDigisProducer : public edm::stream::EDProducer<> { public: @@ -26,13 +27,13 @@ class ShallowDigisProducer : public edm::stream::EDProducer<> { noise(new std::vector()) {} }; std::vector inputTags; - edm::ESHandle noiseHandle; + edm::ESGetToken noisesToken_; void produce(edm::Event &, const edm::EventSetup &) override; template bool findInput(edm::Handle &, const edm::Event &); template - void recordDigis(const T &, products &); + void recordDigis(const T &, products &, const SiStripNoises &noises); void insert(products &, edm::Event &); }; diff --git a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc index 33662448367ce..a267804e849f8 100644 --- a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc +++ b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc @@ -9,8 +9,6 @@ #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" @@ -22,6 +20,7 @@ SiStripDetInfoFileWriter::SiStripDetInfoFileWriter(const edm::ParameterSet& iCon edm::LogInfo("SiStripDetInfoFileWriter::SiStripDetInfoFileWriter"); filePath_ = iConfig.getUntrackedParameter("FilePath", std::string("SiStripDetInfo.dat")); + tkGeomToken_ = esConsumes(); } SiStripDetInfoFileWriter::~SiStripDetInfoFileWriter() { @@ -32,15 +31,13 @@ void SiStripDetInfoFileWriter::beginRun(const edm::Run&, const edm::EventSetup& outputFile_.open(filePath_.c_str()); if (outputFile_.is_open()) { - edm::ESHandle pDD; - - iSetup.get().get(pDD); + const auto& dd = iSetup.getData(tkGeomToken_); edm::LogInfo("SiStripDetInfoFileWriter::beginRun - got geometry ") << std::endl; - edm::LogInfo("SiStripDetInfoFileWriter") << " There are " << pDD->detUnits().size() << " detectors" << std::endl; + edm::LogInfo("SiStripDetInfoFileWriter") << " There are " << dd.detUnits().size() << " detectors" << std::endl; - for (const auto& it : pDD->detUnits()) { + for (const auto& it : dd.detUnits()) { const StripGeomDetUnit* mit = dynamic_cast(it); if (mit != nullptr) { diff --git a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.h b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.h index d7b693259c362..fd3d1353abc43 100644 --- a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.h +++ b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.h @@ -23,6 +23,9 @@ #include #include +#include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" + class SiStripDetInfoFileWriter : public edm::EDAnalyzer { public: explicit SiStripDetInfoFileWriter(const edm::ParameterSet&); @@ -36,5 +39,6 @@ class SiStripDetInfoFileWriter : public edm::EDAnalyzer { private: std::ofstream outputFile_; std::string filePath_; + edm::ESGetToken tkGeomToken_; }; #endif From 23ea3e5c292852c4b668d5caa48de4df1cdd7237 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Thu, 8 Oct 2020 10:43:06 +0200 Subject: [PATCH 04/22] esConsumes migration for CalibTracker/SiStripDCS --- .../SiStripDCS/plugins/FilterTrackerOn.cc | 11 ++++------- .../SiStripDCS/plugins/FilterTrackerOn.h | 4 ++++ .../plugins/SiStripDetVOffTkMapPlotter.cc | 16 ++++++++-------- .../plugins/SiStripDetVOffTrendPlotter.cc | 9 +++++---- .../SiStripDCS/plugins/TkVoltageMapCreator.cc | 9 +++++---- 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc index 566691c632a44..717d28b3cf992 100644 --- a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc +++ b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc @@ -2,25 +2,22 @@ #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" -#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include #include FilterTrackerOn::FilterTrackerOn(const edm::ParameterSet& iConfig) - : minModulesWithHVoff_(iConfig.getParameter("MinModulesWithHVoff")) {} + : minModulesWithHVoff_(iConfig.getParameter("MinModulesWithHVoff")), detVOffToken_(esConsumes()) {} FilterTrackerOn::~FilterTrackerOn() {} bool FilterTrackerOn::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - ESHandle detVOff; - iSetup.get().get(detVOff); + const auto& detVOff = iSetup.getData(detVOffToken_); - // std::cout << "detVOff->getHVoffCounts() = " << detVOff->getHVoffCounts() << " < " << minModulesWithHVoff_; - if (detVOff->getHVoffCounts() > minModulesWithHVoff_) { + // std::cout << "detVOff.getHVoffCounts() = " << detVOff.getHVoffCounts() << " < " << minModulesWithHVoff_; + if (detVOff.getHVoffCounts() > minModulesWithHVoff_) { // std::cout << " skipping event" << std::endl; return false; } diff --git a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.h b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.h index 7cbaa8bf1e123..8dec5dd9d7269 100644 --- a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.h +++ b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.h @@ -27,6 +27,9 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" +#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" + class FilterTrackerOn : public edm::EDFilter { public: explicit FilterTrackerOn(const edm::ParameterSet&); @@ -38,4 +41,5 @@ class FilterTrackerOn : public edm::EDFilter { void endJob() override; int minModulesWithHVoff_; + edm::ESGetToken detVOffToken_; }; diff --git a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTkMapPlotter.cc b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTkMapPlotter.cc index e6dea49009fa1..52ccc3ac514ea 100644 --- a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTkMapPlotter.cc +++ b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTkMapPlotter.cc @@ -41,6 +41,9 @@ class SiStripDetVOffTkMapPlotter : public edm::EDAnalyzer { std::string m_plotFormat; // Specify output root file name. Leave empty if do not want to save plots in a root file. std::string m_outputFile; + + edm::ESGetToken tkDetMapToken_; + edm::ESGetToken geomDetToken_; }; SiStripDetVOffTkMapPlotter::SiStripDetVOffTkMapPlotter(const edm::ParameterSet& iConfig) @@ -50,7 +53,9 @@ SiStripDetVOffTkMapPlotter::SiStripDetVOffTkMapPlotter(const edm::ParameterSet& m_IOV(iConfig.getUntrackedParameter("IOV", 0)), m_Time(iConfig.getUntrackedParameter("Time", "")), m_plotFormat(iConfig.getUntrackedParameter("plotFormat", "png")), - m_outputFile(iConfig.getUntrackedParameter("outputFile", "")) { + m_outputFile(iConfig.getUntrackedParameter("outputFile", "")), + tkDetMapToken_(esConsumes()), + geomDetToken_(esConsumes()) { m_connectionPool.setParameters(iConfig.getParameter("DBParameters")); m_connectionPool.configure(); } @@ -85,17 +90,12 @@ void SiStripDetVOffTkMapPlotter::analyze(const edm::Event& evt, const edm::Event << boost::posix_time::to_simple_string(cond::time::to_boost(theIov)) << ")"; auto payload = condDbSession.fetchPayload((*iiov).payloadId); - edm::ESHandle tkDetMapHandle; - evtSetup.get().get(tkDetMapHandle); - const TkDetMap* tkDetMap = tkDetMapHandle.product(); + const TkDetMap* tkDetMap = &evtSetup.getData(tkDetMapToken_); TrackerMap lvmap, hvmap; TkHistoMap lvhisto(tkDetMap, "LV_Status", "LV_Status", -1); TkHistoMap hvhisto(tkDetMap, "HV_Status", "HV_Status", -1); - edm::ESHandle geomDetHandle; - evtSetup.get().get(geomDetHandle); - - const auto detids = TrackerGeometryUtils::getSiStripDetIds(*geomDetHandle); + const auto detids = TrackerGeometryUtils::getSiStripDetIds(evtSetup.getData(geomDetToken_)); for (auto id : detids) { if (payload->IsModuleLVOff(id)) lvhisto.fill(id, 1); // RED diff --git a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTrendPlotter.cc b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTrendPlotter.cc index 19b0ba22a0ca6..5565d22c58fd3 100644 --- a/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTrendPlotter.cc +++ b/CalibTracker/SiStripDCS/plugins/SiStripDetVOffTrendPlotter.cc @@ -59,6 +59,8 @@ class SiStripDetVOffTrendPlotter : public edm::EDAnalyzer { // IOV TAG #HV, #LV std::map>> iovMap; + + edm::ESGetToken geomDetToken_; }; SiStripDetVOffTrendPlotter::SiStripDetVOffTrendPlotter(const edm::ParameterSet &iConfig) @@ -71,7 +73,8 @@ SiStripDetVOffTrendPlotter::SiStripDetVOffTrendPlotter(const edm::ParameterSet & m_outputPlot(iConfig.getUntrackedParameter("outputPlot", "")), m_outputRootFile(iConfig.getUntrackedParameter("outputRootFile", "")), m_outputCSV(iConfig.getUntrackedParameter("outputCSV", "")), - fout(nullptr) { + fout(nullptr), + geomDetToken_(esConsumes()) { m_connectionPool.setParameters(iConfig.getParameter("DBParameters")); m_connectionPool.configure(); if (!m_outputRootFile.empty()) @@ -85,9 +88,7 @@ SiStripDetVOffTrendPlotter::~SiStripDetVOffTrendPlotter() { void SiStripDetVOffTrendPlotter::analyze(const edm::Event &evt, const edm::EventSetup &evtSetup) { // get total number of modules - edm::ESHandle geomDetHandle; - evtSetup.get().get(geomDetHandle); - const auto num_modules = TrackerGeometryUtils::getSiStripDetIds(*geomDetHandle).size(); + const auto num_modules = TrackerGeometryUtils::getSiStripDetIds(evtSetup.getData(geomDetToken_)).size(); // get start and end time for DB query boost::posix_time::ptime p_start, p_end; diff --git a/CalibTracker/SiStripDCS/plugins/TkVoltageMapCreator.cc b/CalibTracker/SiStripDCS/plugins/TkVoltageMapCreator.cc index 949d75f2cb9e2..1b79296cbe9e7 100644 --- a/CalibTracker/SiStripDCS/plugins/TkVoltageMapCreator.cc +++ b/CalibTracker/SiStripDCS/plugins/TkVoltageMapCreator.cc @@ -47,6 +47,8 @@ class TkVoltageMapCreator : public edm::EDAnalyzer { const std::string _lvtkmapname; const std::string _hvfile; const std::string _hvtkmapname; + + edm::ESGetToken tkDetMapToken_; }; // @@ -64,7 +66,8 @@ TkVoltageMapCreator::TkVoltageMapCreator(const edm::ParameterSet& iConfig) : _lvfile(iConfig.getParameter("LVStatusFile")), _lvtkmapname(iConfig.getParameter("LVTkMapName")), _hvfile(iConfig.getParameter("HVStatusFile")), - _hvtkmapname(iConfig.getParameter("HVTkMapName")) + _hvtkmapname(iConfig.getParameter("HVTkMapName")), + tkDetMapToken_(esConsumes()) { //now do what ever initialization is needed @@ -83,9 +86,7 @@ TkVoltageMapCreator::~TkVoltageMapCreator() { void TkVoltageMapCreator::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; } void TkVoltageMapCreator::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { - edm::ESHandle tkDetMapHandle; - iSetup.get().get(tkDetMapHandle); - const TkDetMap* tkDetMap = tkDetMapHandle.product(); + const TkDetMap* tkDetMap = &iSetup.getData(tkDetMapToken_); TrackerMap lvmap, hvmap; From e4a205bd5f6c7e7dcc138f7284ca2782e20c6f0f Mon Sep 17 00:00:00 2001 From: Pieter David Date: Thu, 8 Oct 2020 11:23:30 +0200 Subject: [PATCH 05/22] esConsumes migration for CalibTracker/SiStripESProducers --- .../plugins/DBWriter/DummyCondDBWriter.h | 19 ++++++------ .../plugins/DBWriter/DummyCondObjPrinter.h | 22 +++++++------- .../DBWriter/SiStripFedCablingManipulator.cc | 30 +++++++++---------- .../DBWriter/SiStripFedCablingManipulator.h | 8 +++-- 4 files changed, 38 insertions(+), 41 deletions(-) diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h index 9c5399e657877..4deb99d07975a 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h @@ -3,7 +3,7 @@ // user include files #include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/Run.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -26,12 +26,15 @@ class DummyCondDBWriter : public edm::EDAnalyzer { private: edm::ParameterSet iConfig_; - unsigned long long cacheID; + edm::ESWatcher watcher_; + edm::ESGetToken token_; }; template DummyCondDBWriter::DummyCondDBWriter(const edm::ParameterSet& iConfig) - : iConfig_(iConfig), cacheID(0) { + : iConfig_(iConfig), + token_(esConsumes( + edm::ESInputTag(iConfig.getUntrackedParameter("label", "")))) { edm::LogInfo("DummyCondDBWriter") << "DummyCondDBWriter constructor for typename " << typeid(TObject).name() << " and record " << typeid(TRecord).name() << std::endl; } @@ -44,18 +47,14 @@ DummyCondDBWriter::~DummyCondDBWriter() { template void DummyCondDBWriter::endRun(const edm::Run& run, const edm::EventSetup& es) { std::string rcdName = iConfig_.getParameter("record"); - std::string labelName = iConfig_.getUntrackedParameter("label", ""); - if (cacheID == es.get().cacheIdentifier()) { + if (!watcher_.check(es)) { edm::LogInfo("DummyCondDBWriter") << "not needed to store objects with Record " << rcdName << " at run " << run.run() << std::endl; return; } - cacheID = es.get().cacheIdentifier(); - edm::ESHandle esobj; - es.get().get(labelName, esobj); - TObjectO* obj = new TObjectO(*(esobj.product())); + auto obj = std::make_unique(es.getData(token_)); cond::Time_t Time_; //And now write data in DB @@ -69,7 +68,7 @@ void DummyCondDBWriter::endRun(const edm::Run& run, else Time_ = iConfig_.getUntrackedParameter("OpenIovAtTime", 1); - dbservice->writeOne(obj, Time_, rcdName); + dbservice->writeOne(obj.release(), Time_, rcdName); } else { edm::LogError("SiStripFedCablingBuilder") << "Service is unavailable" << std::endl; } diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondObjPrinter.h b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondObjPrinter.h index 24a24c15118a8..8d9a1d577243e 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondObjPrinter.h +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondObjPrinter.h @@ -3,7 +3,7 @@ // user include files #include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" @@ -22,12 +22,14 @@ class DummyCondObjPrinter : public edm::EDAnalyzer { private: edm::ParameterSet iConfig_; - unsigned long long cacheID; + edm::ESWatcher watcher_; + edm::ESGetToken token_; + edm::ESGetToken tTopoToken_; }; template DummyCondObjPrinter::DummyCondObjPrinter(const edm::ParameterSet& iConfig) - : iConfig_(iConfig), cacheID(0) { + : iConfig_(iConfig), token_(esConsumes()), tTopoToken_(esConsumes()) { edm::LogInfo("DummyCondObjPrinter") << "DummyCondObjPrinter constructor for typename " << typeid(TObject).name() << " and record " << typeid(TRecord).name() << std::endl; } @@ -39,18 +41,14 @@ DummyCondObjPrinter::~DummyCondObjPrinter() { template void DummyCondObjPrinter::analyze(const edm::Event& e, const edm::EventSetup& es) { - if (cacheID == es.get().cacheIdentifier()) + if (!watcher_.check(es)) return; - cacheID = es.get().cacheIdentifier(); - - edm::ESHandle esobj; - es.get().get(esobj); - edm::ESHandle tTopo; - es.get().get(tTopo); + const auto& esobj = es.getData(token_); + const auto tTopo = &es.getData(tTopoToken_); std::stringstream sSummary, sDebug; - esobj->printSummary(sSummary, tTopo.product()); - esobj->printDebug(sDebug, tTopo.product()); + esobj.printSummary(sSummary, tTopo); + esobj.printDebug(sDebug, tTopo); // edm::LogInfo("DummyCondObjPrinter") << "\nPrintSummary \n" << sSummary.str() << std::endl; // edm::LogWarning("DummyCondObjPrinter") << "\nPrintDebug \n" << sDebug.str() << std::endl; diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.cc b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.cc index e2aaa6572de8d..4d4432bdca850 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.cc +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.cc @@ -1,11 +1,10 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h" -#include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h" -#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" #include #include -SiStripFedCablingManipulator::SiStripFedCablingManipulator(const edm::ParameterSet& iConfig) : iConfig_(iConfig) { +SiStripFedCablingManipulator::SiStripFedCablingManipulator(const edm::ParameterSet& iConfig) + : iConfig_(iConfig), fedCablingToken_(esConsumes()) { edm::LogInfo("SiStripFedCablingManipulator") << "SiStripFedCablingManipulator constructor " << std::endl; } @@ -15,18 +14,16 @@ SiStripFedCablingManipulator::~SiStripFedCablingManipulator() { } void SiStripFedCablingManipulator::endRun(const edm::Run& run, const edm::EventSetup& es) { - edm::ESHandle esobj; - es.get().get(esobj); + const auto& esobj = es.getData(fedCablingToken_); - SiStripFedCabling* obj = nullptr; - manipulate(esobj.product(), obj); + auto obj = manipulate(esobj); cond::Time_t Time_ = 0; //And now write data in DB edm::Service dbservice; if (dbservice.isAvailable()) { - if (obj == nullptr) { + if (!obj) { edm::LogError("SiStripFedCablingManipulator") << "null pointer obj. nothing will be written " << std::endl; return; } @@ -44,20 +41,21 @@ void SiStripFedCablingManipulator::endRun(const edm::Run& run, const edm::EventS edm::LogInfo("SiStripFedCablingManipulator") << "first request for storing objects with Record " << "SiStripFedCablingRcd" << " at time " << Time_ << std::endl; - dbservice->createNewIOV(obj, Time_, dbservice->endOfTime(), "SiStripFedCablingRcd"); + dbservice->createNewIOV(obj.release(), Time_, dbservice->endOfTime(), "SiStripFedCablingRcd"); } else { edm::LogInfo("SiStripFedCablingManipulator") << "appending a new object to existing tag " << "SiStripFedCablingRcd" << " in since mode " << std::endl; - dbservice->appendSinceTime(obj, Time_, "SiStripFedCablingRcd"); + dbservice->appendSinceTime(obj.release(), Time_, "SiStripFedCablingRcd"); } } else { edm::LogError("SiStripFedCablingManipulator") << "Service is unavailable" << std::endl; } } -void SiStripFedCablingManipulator::manipulate(const SiStripFedCabling* iobj, SiStripFedCabling*& oobj) { +std::unique_ptr SiStripFedCablingManipulator::manipulate(const SiStripFedCabling& iobj) { std::string fp = iConfig_.getParameter("file"); + std::unique_ptr oobj; std::ifstream inputFile_; inputFile_.open(fp.c_str()); @@ -69,8 +67,7 @@ void SiStripFedCablingManipulator::manipulate(const SiStripFedCabling* iobj, SiS if (fp.empty()) { edm::LogInfo("SiStripFedCablingManipulator") << "::manipulate : since no file is specified, the copy of the input cabling will be applied" << std::endl; - oobj = new SiStripFedCabling(*iobj); - + oobj = std::make_unique(iobj); } else if (!inputFile_.is_open()) { edm::LogError("SiStripFedCablingManipulator") << "::manipulate - ERROR in opening file " << fp << std::endl; throw cms::Exception("CorruptedData") << "::manipulate - ERROR in opening file " << fp << std::endl; @@ -106,9 +103,9 @@ void SiStripFedCablingManipulator::manipulate(const SiStripFedCabling* iobj, SiS std::vector conns; - auto feds = iobj->fedIds(); + auto feds = iobj.fedIds(); for (auto ifeds = feds.begin(); ifeds != feds.end(); ifeds++) { - auto conns_per_fed = iobj->fedConnections(*ifeds); + auto conns_per_fed = iobj.fedConnections(*ifeds); for (auto iconn = conns_per_fed.begin(); iconn != conns_per_fed.end(); ++iconn) { std::map >::const_iterator it = dcuDetIdMap.find(iconn->dcuId()); if (it != dcuDetIdMap.end() && it->second.first == iconn->detId()) { @@ -154,6 +151,7 @@ void SiStripFedCablingManipulator::manipulate(const SiStripFedCabling* iobj, SiS } } - oobj = new SiStripFedCabling(conns); + oobj = std::make_unique(conns); } + return oobj; } diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h index 92266213709e6..a6d60788f7622 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h @@ -9,12 +9,13 @@ #include "FWCore/ServiceRegistry/interface/Service.h" #include "CondCore/DBOutputService/interface/PoolDBOutputService.h" +#include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h" +#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" + #include "FWCore/Utilities/interface/Exception.h" #include -class SiStripFedCabling; - class SiStripFedCablingManipulator : public edm::EDAnalyzer { public: explicit SiStripFedCablingManipulator(const edm::ParameterSet& iConfig); @@ -24,9 +25,10 @@ class SiStripFedCablingManipulator : public edm::EDAnalyzer { void endRun(const edm::Run& run, const edm::EventSetup& es) override; private: - void manipulate(const SiStripFedCabling*, SiStripFedCabling*&); + std::unique_ptr manipulate(const SiStripFedCabling&); edm::ParameterSet iConfig_; + edm::ESGetToken fedCablingToken_; }; #endif From 576a53d376744cf9e799a5eaae1bed4cc3697310 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 12:07:07 +0200 Subject: [PATCH 06/22] esConsumes migration for CalibTracker/SiStripLorentzAngle --- .../interface/SiStripCalibLorentzAngle.h | 14 +++-- .../interface/SiStripLAProfileBooker.h | 13 ++++- .../plugins/EnsembleCalibrationLA.cc | 9 ++-- .../plugins/EnsembleCalibrationLA.h | 2 + .../plugins/SiStripCalibLorentzAngle.cc | 52 ++++++++----------- .../plugins/SiStripLAProfileBooker.cc | 48 ++++++----------- 6 files changed, 64 insertions(+), 74 deletions(-) diff --git a/CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h b/CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h index e328d6cbcfdca..b248beff46759 100644 --- a/CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h +++ b/CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h @@ -10,13 +10,17 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CondFormats/SiStripObjects/interface/SiStripLorentzAngle.h" +#include "CondFormats/DataRecord/interface/SiStripLorentzAngleRcd.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "DataFormats/DetId/interface/DetId.h" #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" #include "DataFormats/GeometryVector/interface/GlobalPoint.h" #include "MagneticField/Engine/interface/MagneticField.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" +#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include #include #include @@ -48,11 +52,13 @@ class SiStripCalibLorentzAngle : public ConditionDBWriter { void algoBeginJob(const edm::EventSetup &) override; private: - edm::ESHandle estracker; - edm::ESHandle magfield_; + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken magFieldToken_; + edm::ESGetToken lorentzAngleToken_; - const TrackerGeometry *tracker; - const TrackerTopology *tTopo; + const TrackerGeometry *tkGeom_ = nullptr; + const TrackerTopology *tTopo_ = nullptr; typedef std::map ProfileMap; ProfileMap Profiles; diff --git a/CalibTracker/SiStripLorentzAngle/interface/SiStripLAProfileBooker.h b/CalibTracker/SiStripLorentzAngle/interface/SiStripLAProfileBooker.h index 8bb6519d548b5..4ca90c18f8235 100644 --- a/CalibTracker/SiStripLorentzAngle/interface/SiStripLAProfileBooker.h +++ b/CalibTracker/SiStripLorentzAngle/interface/SiStripLAProfileBooker.h @@ -7,10 +7,17 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "MagneticField/Engine/interface/MagneticField.h" +#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" + +#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" +#include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" + #include "DQMServices/Core/interface/DQMStore.h" #include "DataFormats/DetId/interface/DetId.h" @@ -73,7 +80,11 @@ class SiStripLAProfileBooker : public edm::EDAnalyzer { edm::ParameterSet conf_; std::string treename_; - const TrackerGeometry* tracker; + const TrackerGeometry* tkGeom_ = nullptr; + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken magFieldToken_; + edm::ESGetToken detCablingToken_; }; #endif diff --git a/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.cc b/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.cc index 99ec85a05f10f..48a1576d89a40 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.cc +++ b/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.cc @@ -1,8 +1,6 @@ #include "CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h" #include "CalibTracker/SiStripCommon/interface/Book.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include #include #include @@ -20,7 +18,8 @@ namespace sistrip { nbins(conf.getParameter("NBins")), lowBin(conf.getParameter("LowBin")), highBin(conf.getParameter("HighBin")), - vMethods(conf.getParameter >("Methods")) {} + vMethods(conf.getParameter >("Methods")), + tTopoToken_(esConsumes()) {} void EnsembleCalibrationLA::endJob() { Book book("la_ensemble"); @@ -44,9 +43,7 @@ namespace sistrip { } void EnsembleCalibrationLA::endRun(const edm::Run&, const edm::EventSetup& eSetup) { - edm::ESHandle tTopoHandle; - eSetup.get().get(tTopoHandle); - tTopo_ = tTopoHandle.product(); + tTopo_ = &eSetup.getData(tTopoToken_); } void EnsembleCalibrationLA::write_ensembles_text(const Book& book) { diff --git a/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h b/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h index 86b6bb5caee54..584a711c89933 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h +++ b/CalibTracker/SiStripLorentzAngle/plugins/EnsembleCalibrationLA.h @@ -4,6 +4,7 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" #include "CalibTracker/SiStripLorentzAngle/interface/LA_Filler_Fitter.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" namespace sistrip { class EnsembleCalibrationLA : public edm::EDAnalyzer { @@ -34,6 +35,7 @@ namespace sistrip { }; std::map calibrations; + edm::ESGetToken tTopoToken_; const TrackerTopology* tTopo_; }; } // namespace sistrip diff --git a/CalibTracker/SiStripLorentzAngle/plugins/SiStripCalibLorentzAngle.cc b/CalibTracker/SiStripLorentzAngle/plugins/SiStripCalibLorentzAngle.cc index 83f02c75b8def..8ecea99d05808 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/SiStripCalibLorentzAngle.cc +++ b/CalibTracker/SiStripLorentzAngle/plugins/SiStripCalibLorentzAngle.cc @@ -3,41 +3,31 @@ #include #include #include "CondCore/DBOutputService/interface/PoolDBOutputService.h" -#include "CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h" #include "FWCore/Framework/interface/ESHandle.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" #include "DataFormats/SiStripDetId/interface/StripSubdetector.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "CLHEP/Random/RandGauss.h" -#include "CondFormats/DataRecord/interface/SiStripLorentzAngleRcd.h" #include "DQM/SiStripCommon/interface/SiStripHistoId.h" #include "DQMServices/Core/interface/DQMStore.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "DQM/SiStripCommon/interface/ExtractTObject.h" -#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" -#include "MagneticField/Engine/interface/MagneticField.h" + +#include "CalibTracker/SiStripLorentzAngle/interface/SiStripCalibLorentzAngle.h" SiStripCalibLorentzAngle::SiStripCalibLorentzAngle(edm::ParameterSet const& conf) - : ConditionDBWriter(conf), tTopo(nullptr), conf_(conf) {} + : ConditionDBWriter(conf), + tTopoToken_(esConsumes()), + tkGeomToken_(esConsumes()), + magFieldToken_(esConsumes()), + lorentzAngleToken_(esConsumes()), + conf_(conf) {} void SiStripCalibLorentzAngle::algoBeginJob(const edm::EventSetup& c) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - c.get().get(tTopoHandle); - tTopo = tTopoHandle.product(); - - c.get().get(estracker); - tracker = &(*estracker); - - //get magnetic field and geometry from ES - edm::ESHandle magfield_; - c.get().get(magfield_); - - edm::ESHandle SiStripLorentzAngle_; - c.get().get(SiStripLorentzAngle_); - detid_la = SiStripLorentzAngle_->getLorentzAngles(); + tTopo_ = &c.getData(tTopoToken_); + tkGeom_ = &c.getData(tkGeomToken_); + const auto& magField = c.getData(magFieldToken_); + detid_la = c.getData(lorentzAngleToken_).getLorentzAngles(); DQMStore* dbe_ = edm::Service().operator->(); @@ -365,7 +355,7 @@ void SiStripCalibLorentzAngle::algoBeginJob(const edm::EventSetup& c) { const GeomDetUnit* stripdet; MonoStereo = subid.stereo(); - if (!(stripdet = tracker->idToDetUnit(subid))) { + if (!(stripdet = tkGeom_->idToDetUnit(subid))) { no_mod_histo++; ModuleHisto = false; edm::LogInfo("SiStripCalibLorentzAngle") << "### NO MODULE HISTOGRAM"; @@ -373,11 +363,11 @@ void SiStripCalibLorentzAngle::algoBeginJob(const edm::EventSetup& c) { if (stripdet != nullptr && ModuleHisto == true) { if (subid.subdetId() == int(StripSubdetector::TIB)) { - Layer = tTopo->tibLayer(detid); + Layer = tTopo_->tibLayer(detid); TIB = 1; } if (subid.subdetId() == int(StripSubdetector::TOB)) { - Layer = tTopo->tobLayer(detid); + Layer = tTopo_->tobLayer(detid); TOB = 1; } @@ -393,13 +383,13 @@ void SiStripCalibLorentzAngle::algoBeginJob(const edm::EventSetup& c) { gz = gposition.z(); //get magnetic field - const StripGeomDetUnit* det = dynamic_cast(estracker->idToDetUnit(detid)); + const StripGeomDetUnit* det = dynamic_cast(tkGeom_->idToDetUnit(detid)); if (det == nullptr) { edm::LogError("SiStripCalibLorentzAngle") << "[SiStripCalibLorentzAngle::getNewObject] the detID " << id << " doesn't seem to belong to Tracker" << std::endl; continue; } - LocalVector lbfield = (det->surface()).toLocal(magfield_->inTesla(det->surface().position())); + LocalVector lbfield = (det->surface()).toLocal(magField.inTesla(det->surface().position())); theBfield = lbfield.mag(); theBfield = (theBfield > 0) ? theBfield : 0.00001; TH1Ds["MagneticField"]->Fill(theBfield); @@ -830,7 +820,7 @@ std::unique_ptr SiStripCalibLorentzAngle::getNewObject() { } else { - const TrackerGeometry::DetIdContainer& Id = estracker->detIds(); + const TrackerGeometry::DetIdContainer& Id = tkGeom_->detIds(); TrackerGeometry::DetIdContainer::const_iterator Iditer; for (Iditer = Id.begin(); Iditer != Id.end(); Iditer++) { @@ -839,7 +829,7 @@ std::unique_ptr SiStripCalibLorentzAngle::getNewObject() { hallMobility = 0.; if (subid.subdetId() == int(StripSubdetector::TIB)) { - uint32_t tibLayer = tTopo->tibLayer(*Iditer); + uint32_t tibLayer = tTopo_->tibLayer(*Iditer); if (tibLayer == 1) { hallMobility = mean_TIB1; } @@ -857,7 +847,7 @@ std::unique_ptr SiStripCalibLorentzAngle::getNewObject() { } if (subid.subdetId() == int(StripSubdetector::TOB)) { - uint32_t tobLayer = tTopo->tobLayer(*Iditer); + uint32_t tobLayer = tTopo_->tobLayer(*Iditer); if (tobLayer == 1) { hallMobility = mean_TOB1; } @@ -887,7 +877,7 @@ std::unique_ptr SiStripCalibLorentzAngle::getNewObject() { } if (subid.subdetId() == int(StripSubdetector::TEC)) { - if (tTopo->tecRing(subid) < 5) { + if (tTopo_->tecRing(subid) < 5) { hallMobility = meanMobility_TIB; } else { hallMobility = meanMobility_TOB; diff --git a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc index 35a1f3894d81e..38dabcd0ac3cf 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc +++ b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc @@ -7,16 +7,12 @@ #include #include "CalibTracker/SiStripLorentzAngle/interface/SiStripLAProfileBooker.h" -#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" -#include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/CommonDetUnit/interface/GluedGeomDet.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" @@ -24,8 +20,6 @@ #include "DataFormats/Common/interface/Handle.h" #include "DataFormats/TrackReco/interface/Track.h" #include "DataFormats/SiStripDetId/interface/StripSubdetector.h" -#include "DataFormats/TrackerCommon/interface/TrackerTopology.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" #include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h" #include "DataFormats/GeometryVector/interface/GlobalPoint.h" @@ -58,33 +52,26 @@ class DetIdLess { //Constructor -SiStripLAProfileBooker::SiStripLAProfileBooker(edm::ParameterSet const& conf) : conf_(conf) {} +SiStripLAProfileBooker::SiStripLAProfileBooker(edm::ParameterSet const& conf) + : conf_(conf), + tTopoToken_(esConsumes()), + tkGeomToken_(esConsumes()), + magFieldToken_(esConsumes()), + detCablingToken_(esConsumes()) {} //BeginRun void SiStripLAProfileBooker::beginRun(const edm::Run&, const edm::EventSetup& c) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - c.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); - - //get magnetic field and geometry from ES - edm::ESHandle esmagfield; - c.get().get(esmagfield); - const MagneticField* magfield = &(*esmagfield); - - edm::ESHandle estracker; - c.get().get(estracker); - tracker = &(*estracker); + const TrackerTopology* const tTopo = &c.getData(tTopoToken_); + tkGeom_ = &c.getData(tkGeomToken_); + const auto& magField = c.getData(magFieldToken_); std::vector activeDets; - edm::ESHandle tkmechstruct = nullptr; if (conf_.getParameter("UseStripCablingDB")) { - c.get().get(tkmechstruct); activeDets.clear(); - tkmechstruct->addActiveDetectorsRawIds(activeDets); + c.getData(detCablingToken_).addActiveDetectorsRawIds(activeDets); } else { - const TrackerGeometry::DetIdContainer& Id = estracker->detIds(); + const TrackerGeometry::DetIdContainer& Id = tkGeom_->detIds(); TrackerGeometry::DetIdContainer::const_iterator Iditer; activeDets.clear(); for (Iditer = Id.begin(); Iditer != Id.end(); Iditer++) { @@ -187,7 +174,7 @@ void SiStripLAProfileBooker::beginRun(const edm::Run&, const edm::EventSetup& c) std::string hid; //Mono single sided detectors LocalPoint p; - auto stripdet = tracker->idToDet(subid); + auto stripdet = tkGeom_->idToDet(subid); if (!stripdet->isLeaf()) continue; const StripTopology& topol = (const StripTopology&)stripdet->topology(); @@ -203,7 +190,7 @@ void SiStripLAProfileBooker::beginRun(const edm::Run&, const edm::EventSetup& c) param->pitch = topol.localPitch(p) * 10000; const GlobalPoint globalp = (stripdet->surface()).toGlobal(p); - GlobalVector globalmagdir = magfield->inTesla(globalp); + GlobalVector globalmagdir = magField.inTesla(globalp); param->magfield = (stripdet->surface()).toLocal(globalmagdir); profile->setAxisTitle("tan(#theta_{t})", 1); @@ -260,10 +247,7 @@ SiStripLAProfileBooker::~SiStripLAProfileBooker() { // Analyzer: Functions that gets called by framework every event void SiStripLAProfileBooker::analyze(const edm::Event& e, const edm::EventSetup& es) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - es.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); + const TrackerTopology* const tTopo = &es.getData(tTopoToken_); RunNumber = e.id().run(); EventNumber = e.id().event(); @@ -371,7 +355,7 @@ void SiStripLAProfileBooker::analyze(const edm::Event& e, const edm::EventSetup& if (matchedhit) { //if matched hit... - GluedGeomDet* gdet = (GluedGeomDet*)tracker->idToDet(matchedhit->geographicalId()); + GluedGeomDet* gdet = (GluedGeomDet*)tkGeom_->idToDet(matchedhit->geographicalId()); GlobalVector gtrkdir = gdet->toGlobal(trackdirection); @@ -565,7 +549,7 @@ void SiStripLAProfileBooker::analyze(const edm::Event& e, const edm::EventSetup& const SiStripRecHit2D::ClusterRef& cluster = hit->cluster(); - GeomDetUnit* gdet = (GeomDetUnit*)tracker->idToDet(hit->geographicalId()); + GeomDetUnit* gdet = (GeomDetUnit*)tkGeom_->idToDet(hit->geographicalId()); const LocalPoint position = hit->localPosition(); StripSubdetector detid = (StripSubdetector)hit->geographicalId(); id_detector = detid.rawId(); From 130373cbf12b46656825dd3f29b5845478ba2b31 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 15:50:45 +0200 Subject: [PATCH 07/22] esConsumes migration for CalibTracker/SiStripQuality --- ...ripHotStripAlgorithmFromClusterOccupancy.h | 3 +- .../SiStripQualityHotStripIdentifier.cc | 22 +++------- .../SiStripQualityHotStripIdentifier.h | 13 ++++-- .../plugins/SiStripQualityStatistics.cc | 43 +++++++------------ .../plugins/SiStripQualityStatistics.h | 12 +++++- ...ipHotStripAlgorithmFromClusterOccupancy.cc | 2 +- 6 files changed, 44 insertions(+), 51 deletions(-) diff --git a/CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h b/CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h index a0f69db8b22f4..64d9527a32a3b 100644 --- a/CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h +++ b/CalibTracker/SiStripQuality/interface/SiStripHotStripAlgorithmFromClusterOccupancy.h @@ -40,7 +40,6 @@ #include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h" #include "FWCore/ParameterSet/interface/FileInPath.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -70,7 +69,7 @@ class SiStripHotStripAlgorithmFromClusterOccupancy { WriteOutputFile_ = WriteOutputFile; } void setTrackerGeometry(const TrackerGeometry* tkgeom) { TkGeom = tkgeom; } - void extractBadStrips(SiStripQuality*, HistoMap&, edm::ESHandle&); + void extractBadStrips(SiStripQuality*, HistoMap&, const SiStripQuality*); private: // unsigned long long m_cacheID_; diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.cc b/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.cc index b510679845d96..e962bd78ef6de 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.cc +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.cc @@ -8,7 +8,6 @@ #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h" #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h" #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include #include #include @@ -19,7 +18,6 @@ SiStripQualityHotStripIdentifier::SiStripQualityHotStripIdentifier(const edm::ParameterSet& iConfig) : ConditionDBWriter(iConfig), - m_cacheID_(0), dataLabel_(iConfig.getUntrackedParameter("dataLabel", "")), conf_(iConfig), fp_(iConfig.getUntrackedParameter( @@ -27,7 +25,8 @@ SiStripQualityHotStripIdentifier::SiStripQualityHotStripIdentifier(const edm::Pa Cluster_src_(iConfig.getParameter("Cluster_src")), Track_src_(iConfig.getUntrackedParameter("Track_src")), tracksCollection_in_EventTree(iConfig.getUntrackedParameter("RemoveTrackClusters", false)), - tTopo(nullptr) { + tTopoToken_(esConsumes()), + stripQualityToken_(esConsumes()) { reader = new SiStripDetInfoFileReader(fp_.fullPath()); edm::ParameterSet pset = iConfig.getUntrackedParameter("ClusterSelection", edm::ParameterSet()); @@ -55,7 +54,7 @@ std::unique_ptr SiStripQualityHotStripIdentifier::getNewObject( theIdentifier.setMinNumEntriesPerStrip(parameters.getUntrackedParameter("MinNumEntriesPerStrip", 5)); SiStripQuality* qobj = new SiStripQuality(); - theIdentifier.extractBadStrips(qobj, ClusterPositionHistoMap, SiStripQuality_); + theIdentifier.extractBadStrips(qobj, ClusterPositionHistoMap, stripQuality_); edm::LogInfo("SiStripQualityHotStripIdentifier") << " [SiStripQualityHotStripIdentifier::getNewObject] copy SiStripObject in SiStripBadStrip" << std::endl; @@ -90,20 +89,13 @@ std::unique_ptr SiStripQualityHotStripIdentifier::getNewObject( } void SiStripQualityHotStripIdentifier::algoBeginRun(const edm::Run& run, const edm::EventSetup& iSetup) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - tTopo = tTopoHandle.product(); + tTopo = &iSetup.getData(tTopoToken_); resetHistos(); - unsigned long long cacheID = iSetup.get().cacheIdentifier(); - if (m_cacheID_ == cacheID) - return; - - m_cacheID_ = cacheID; - - iSetup.get().get(dataLabel_, SiStripQuality_); + if (stripQualityWatcher_.check(iSetup)) { + stripQuality_ = &iSetup.getData(stripQualityToken_); + } } void SiStripQualityHotStripIdentifier::algoEndJob() { diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.h b/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.h index cfea6392081ce..41b5379b95c39 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.h +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityHotStripIdentifier.h @@ -2,9 +2,9 @@ #define SiStripQualityHotStripIdentifier_H #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" @@ -12,6 +12,8 @@ #include "FWCore/ParameterSet/interface/FileInPath.h" #include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "CalibTracker/SiStripQuality/interface/SiStripQualityHistos.h" @@ -44,19 +46,22 @@ class SiStripQualityHotStripIdentifier : public ConditionDBWriter SiStripQuality_; + const SiStripQuality *stripQuality_ = nullptr; const edm::ParameterSet conf_; edm::FileInPath fp_; SiStripDetInfoFileReader *reader; edm::InputTag Cluster_src_; edm::InputTag Track_src_; bool tracksCollection_in_EventTree; - const TrackerTopology *tTopo; + const TrackerTopology *tTopo = nullptr; unsigned short MinClusterWidth_, MaxClusterWidth_; SiStrip::QualityHistosMap ClusterPositionHistoMap; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken stripQualityToken_; + edm::ESWatcher stripQualityWatcher_; }; #endif diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc index 6e081b21e8892..6ed872e458353 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc @@ -16,7 +16,6 @@ // // -#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "CalibTracker/SiStripCommon/interface/SiStripDetInfoFileReader.h" #include "CalibTracker/SiStripESProducers/interface/SiStripQualityHelpers.h" #include "CommonTools/TrackerMap/interface/TrackerMap.h" @@ -24,7 +23,6 @@ #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" #include "DQM/SiStripCommon/interface/TkHistoMap.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h" @@ -36,7 +34,11 @@ SiStripQualityStatistics::SiStripQualityStatistics(const edm::ParameterSet& iCon tkMap(nullptr), tkMapFullIOVs(nullptr), addBadCompFromFedErr_(iConfig.getUntrackedParameter("AddBadComponentsFromFedErrors", false)), - fedErrCutoff_(float(iConfig.getUntrackedParameter("FedErrorBadComponentsCutoff", 0.8))) { + fedErrCutoff_(float(iConfig.getUntrackedParameter("FedErrorBadComponentsCutoff", 0.8))), + tTopoToken_(esConsumes()), + tkDetMapToken_(esConsumes()), + stripQualityToken_(esConsumes()), + fedCablingToken_(esConsumes()) { reader = new SiStripDetInfoFileReader( iConfig .getUntrackedParameter("file", @@ -72,35 +74,22 @@ void SiStripQualityStatistics::dqmEndJob(DQMStore::IBooker& booker, DQMStore::IG } void SiStripQualityStatistics::endRun(edm::Run const& run, edm::EventSetup const& iSetup) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - tTopo_ = tTopoHandle.product(); + tTopo_ = &iSetup.getData(tTopoToken_); if ((!tkhisto) && (!TkMapFileName_.empty())) { - edm::ESHandle tkDetMapHandle; - iSetup.get().get(tkDetMapHandle); //here the baseline (the value of the empty,not assigned bins) is put to -1 (default is zero) - tkhisto = std::make_unique(tkDetMapHandle.product(), "BadComp", "BadComp", -1.); + tkhisto = std::make_unique(&iSetup.getData(tkDetMapToken_), "BadComp", "BadComp", -1.); } - unsigned long long cacheID = iSetup.get().cacheIdentifier(); + if (stripQualityWatcher_.check(iSetup)) { + run_ = run.id(); - if (m_cacheID_ == cacheID) - return; - - m_cacheID_ = cacheID; - run_ = run.id(); - - edm::ESHandle qualityHandle; - iSetup.get().get(dataLabel_, qualityHandle); - - if (!addBadCompFromFedErr_) { - updateAndSave(qualityHandle.product()); - } else { - siStripQuality_ = qualityHandle.product(); - edm::ESHandle fedCablingHandle; - iSetup.get().get(fedCablingHandle); - fedCabling_ = fedCablingHandle.product(); + const auto stripQuality = &iSetup.getData(stripQualityToken_); + if (!addBadCompFromFedErr_) { + updateAndSave(stripQuality); + } else { + siStripQuality_ = stripQuality; + fedCabling_ = &iSetup.getData(fedCablingToken_); + } } } diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h index 20bda0fa39f33..2282746bbc777 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.h @@ -6,11 +6,14 @@ // user include files #include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "DQMServices/Core/interface/DQMEDHarvester.h" + +#include "DQM/SiStripCommon/interface/TkHistoMap.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" +#include "Geometry/Records/interface/TrackerTopologyRcd.h" -class TrackerMap; -class TkHistoMap; class SiStripDetInfoFileReader; class SiStripFedCabling; @@ -44,6 +47,11 @@ class SiStripQualityStatistics : public DQMEDHarvester { std::unique_ptr tkhisto; bool addBadCompFromFedErr_; float fedErrCutoff_; + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkDetMapToken_; + edm::ESGetToken stripQualityToken_; + edm::ESGetToken fedCablingToken_; + edm::ESWatcher stripQualityWatcher_; const TrackerTopology* tTopo_; const SiStripFedCabling* fedCabling_; const SiStripQuality* siStripQuality_; diff --git a/CalibTracker/SiStripQuality/src/SiStripHotStripAlgorithmFromClusterOccupancy.cc b/CalibTracker/SiStripQuality/src/SiStripHotStripAlgorithmFromClusterOccupancy.cc index d4dc9a020abc2..1c37323faccad 100644 --- a/CalibTracker/SiStripQuality/src/SiStripHotStripAlgorithmFromClusterOccupancy.cc +++ b/CalibTracker/SiStripQuality/src/SiStripHotStripAlgorithmFromClusterOccupancy.cc @@ -23,7 +23,7 @@ SiStripHotStripAlgorithmFromClusterOccupancy::~SiStripHotStripAlgorithmFromClust void SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips(SiStripQuality* OutSiStripQuality, HistoMap& DM, - edm::ESHandle& InSiStripQuality) { + const SiStripQuality* InSiStripQuality) { LogTrace("SiStripHotStripAlgorithmFromClusterOccupancy") << "[SiStripHotStripAlgorithmFromClusterOccupancy::extractBadStrips] " << std::endl; From 5a40184a66d46a8c703988ac4a448d4f53d9e171 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 16:01:24 +0200 Subject: [PATCH 08/22] esConsumes migration for EventFilter/SiStripChannelChargeFilter --- .../interface/ClusterMTCCFilter.h | 3 +++ .../src/ClusterMTCCFilter.cc | 16 ++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/EventFilter/SiStripChannelChargeFilter/interface/ClusterMTCCFilter.h b/EventFilter/SiStripChannelChargeFilter/interface/ClusterMTCCFilter.h index 80040ec9fff3c..8757c8ef08739 100644 --- a/EventFilter/SiStripChannelChargeFilter/interface/ClusterMTCCFilter.h +++ b/EventFilter/SiStripChannelChargeFilter/interface/ClusterMTCCFilter.h @@ -15,7 +15,9 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" #include "DataFormats/DetId/interface/DetId.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +class TrackerTopology; namespace cms { class ClusterMTCCFilter : public edm::EDFilter { public: @@ -32,6 +34,7 @@ namespace cms { std::vector ModulesToBeExcluded; // unsigned int: generalized_layer: 10*subdetId + layer std::map > clusters_in_subcomponents; + edm::ESGetToken tTopoToken_; }; } // namespace cms #endif diff --git a/EventFilter/SiStripChannelChargeFilter/src/ClusterMTCCFilter.cc b/EventFilter/SiStripChannelChargeFilter/src/ClusterMTCCFilter.cc index 32fba39c6af79..14e65c169833e 100644 --- a/EventFilter/SiStripChannelChargeFilter/src/ClusterMTCCFilter.cc +++ b/EventFilter/SiStripChannelChargeFilter/src/ClusterMTCCFilter.cc @@ -11,8 +11,6 @@ #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripDetId/interface/StripSubdetector.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" using namespace std; @@ -35,6 +33,7 @@ namespace cms { ChargeThresholdTEC = ps.getParameter("ChargeThresholdTEC"); MinClustersDiffComponents = ps.getParameter("MinClustersDiffComponents"); clusterProducer = ps.getParameter("ClusterProducer"); + tTopoToken_ = esConsumes(); // produces(); produces(); @@ -42,10 +41,7 @@ namespace cms { } bool ClusterMTCCFilter::filter(edm::Event& e, edm::EventSetup const& c) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - c.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); + const auto& tTopo = c.getData(tTopoToken_); //get SiStripCluster edm::Handle> h; @@ -81,16 +77,16 @@ namespace cms { // calculate generalized_layer: 31 = TIB1, 32 = TIB2, 33 = TIB3, 50 = TOB, 60 = TEC if (thedetId.subdetId() == StripSubdetector::TIB) { generalized_layer = - 10 * thedetId.subdetId() + tTopo->tibLayer(thedetId.rawId()) + tTopo->tibStereo(thedetId.rawId()); - if (tTopo->tibLayer(thedetId.rawId()) == 2) { + 10 * thedetId.subdetId() + tTopo.tibLayer(thedetId.rawId()) + tTopo.tibStereo(thedetId.rawId()); + if (tTopo.tibLayer(thedetId.rawId()) == 2) { generalized_layer++; - if (tTopo->tibGlued(thedetId.rawId())) + if (tTopo.tibGlued(thedetId.rawId())) edm::LogError("ClusterMTCCFilter") << "WRONGGGG" << endl; } } else { generalized_layer = 10 * thedetId.subdetId(); if (thedetId.subdetId() == StripSubdetector::TOB) { - generalized_layer += tTopo->tobLayer(thedetId.rawId()); + generalized_layer += tTopo.tobLayer(thedetId.rawId()); } } // fill clusters_in_subcomponents From aced4591d9bb19b5e27fd4f32d04edeae972839b Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 16:32:30 +0200 Subject: [PATCH 09/22] esConsumes migration for EventFilter/SiStripRawToDigi --- .../plugins/SiStripRawToDigiModule.cc | 23 +++++++------------ .../plugins/SiStripRawToDigiModule.h | 11 ++++++--- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc index 8f6497a3bdf10..672a412cb5886 100644 --- a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc +++ b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc @@ -3,7 +3,6 @@ #include "SiStripRawToDigiUnpacker.h" #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h" -#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/Common/interface/Handle.h" #include "DataFormats/DetId/interface/DetIdCollection.h" @@ -11,7 +10,6 @@ #include "DataFormats/SiStripCommon/interface/SiStripEventSummary.h" #include "DataFormats/SiStripDigi/interface/SiStripDigi.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include @@ -20,10 +18,11 @@ namespace sistrip { RawToDigiModule::RawToDigiModule(const edm::ParameterSet& pset) : rawToDigi_(nullptr), cabling_(nullptr), - cacheId_(0), extractCm_(false), doFullCorruptBufferChecks_(false), - doAPVEmulatorCheck_(true) { + doAPVEmulatorCheck_(true), + tTopoToken_(esConsumes()), + fedCablingToken_(esConsumes()) { if (edm::isDebugEnabled()) { LogTrace("SiStripRawToDigi") << "[sistrip::RawToDigiModule::" << __func__ << "]" << " Constructing object..."; @@ -85,8 +84,6 @@ namespace sistrip { } } - void RawToDigiModule::beginRun(const edm::Run& run, const edm::EventSetup& setup) { updateCabling(setup); } - /** Retrieves cabling map from EventSetup and FEDRawDataCollection from Event, creates a DetSetVector of SiStrip(Raw)Digis, uses the @@ -137,15 +134,12 @@ namespace sistrip { } void RawToDigiModule::updateCabling(const edm::EventSetup& setup) { - uint32_t cache_id = setup.get().cacheIdentifier(); - - if (cacheId_ != cache_id) { - edm::ESHandle c; - setup.get().get(c); - cabling_ = c.product(); + if (fedCablingWatcher_.check(setup)) { + const bool isFirst = cabling_ != nullptr; + cabling_ = &setup.getData(fedCablingToken_); if (edm::isDebugEnabled()) { - if (!cacheId_) { + if (isFirst) { std::stringstream ss; ss << "[sistrip::RawToDigiModule::" << __func__ << "]" << " Updating cabling for first time..." << std::endl @@ -161,10 +155,9 @@ namespace sistrip { << " Summary of FED cabling:" << std::endl; edm::ESHandle tTopo; setup.get().get(tTopo); - cabling_->summary(sss, tTopo.product()); + cabling_->summary(sss, &setup.getData(tTopoToken_)); LogTrace("SiStripRawToDigi") << sss.str(); } - cacheId_ = cache_id; } } diff --git a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.h b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.h index 98c7e872d5be2..8a387c21b6baf 100644 --- a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.h +++ b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.h @@ -4,9 +4,11 @@ #include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" #include "FWCore/Utilities/interface/Visibility.h" +#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" #include #include @@ -17,6 +19,7 @@ namespace sistrip { class RawToDigiUnpacker; } class SiStripFedCabling; +class TrackerTopology; /** @file EventFilter/SiStripRawToDigi/interface/SiStripRawToDigiModule.h @@ -33,7 +36,6 @@ namespace sistrip { RawToDigiModule(const edm::ParameterSet&); ~RawToDigiModule() override; - void beginRun(const edm::Run&, const edm::EventSetup&) override; void produce(edm::Event&, const edm::EventSetup&) override; void endStream() override; @@ -42,13 +44,16 @@ namespace sistrip { RawToDigiUnpacker* rawToDigi_; edm::EDGetTokenT token_; - const SiStripFedCabling* cabling_; - uint32_t cacheId_; + const SiStripFedCabling* cabling_ = nullptr; bool extractCm_; bool doFullCorruptBufferChecks_; //March 2012: add flag for disabling APVe check in configuration bool doAPVEmulatorCheck_; + + edm::ESGetToken tTopoToken_; + edm::ESGetToken fedCablingToken_; + edm::ESWatcher fedCablingWatcher_; }; } // namespace sistrip From 4f3b4da70e82a1cd27356eb352ef1aa415c313f7 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 17:21:01 +0200 Subject: [PATCH 10/22] esConsumes migration for RecoLocalTracker/SistripClusterizer --- .../interface/StripClusterizerAlgorithm.h | 17 +++++++------- .../StripClusterizerAlgorithmFactory.h | 4 +++- .../interface/ThreeThresholdAlgorithm.h | 11 +++++++-- .../plugins/ClustersFromRawProducer.cc | 3 ++- .../plugins/SiStripClusterizer.cc | 3 ++- .../src/StripClusterizerAlgorithmFactory.cc | 6 +++-- .../src/ThreeThresholdAlgorithm.cc | 21 +++++++++-------- .../test/ClusterizerUnitTester.cc | 23 ++++++++++++------- .../test/ClusterizerUnitTester.h | 8 +++---- .../test/StripByStripTestDriver.cc | 2 +- 10 files changed, 59 insertions(+), 39 deletions(-) diff --git a/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h b/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h index d05078dcd8a10..8fb6e4ba74af9 100644 --- a/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h +++ b/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h @@ -8,7 +8,6 @@ class SiStripDigi; #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/Common/interface/DetSetVectorNew.h" -#include "FWCore/Framework/interface/ESHandle.h" #include #include "RecoLocalTracker/Records/interface/SiStripClusterizerConditionsRcd.h" @@ -33,10 +32,8 @@ class StripClusterizerAlgorithm { virtual ~StripClusterizerAlgorithm() {} - void initialize(const edm::EventSetup& es) { - es.get().get(m_conditionsLabel, m_conditionsHandle); - } - const SiStripClusterizerConditions& conditions() const { return *m_conditionsHandle; } + void initialize(const edm::EventSetup& es) { m_conditions = &es.getData(m_conditionsToken); } + const SiStripClusterizerConditions& conditions() const { return *m_conditions; } //Offline DetSet interface typedef edmNew::DetSetVector output_t; @@ -46,7 +43,7 @@ class StripClusterizerAlgorithm { virtual void clusterizeDetUnit(const edmNew::DetSet&, output_t::TSFastFiller&) const {} //HLT stripByStrip interface - Det const& stripByStripBegin(uint32_t id) const { return m_conditionsHandle->findDetId(id); } + Det const& stripByStripBegin(uint32_t id) const { return m_conditions->findDetId(id); } virtual void stripByStripAdd(State& state, uint16_t strip, uint8_t adc, std::vector& out) const {} virtual void stripByStripEnd(State& state, std::vector& out) const {} @@ -60,7 +57,9 @@ class StripClusterizerAlgorithm { }; protected: - explicit StripClusterizerAlgorithm(const std::string& conditionsLabel = "") : m_conditionsLabel(conditionsLabel) {} + explicit StripClusterizerAlgorithm( + const edm::ESGetToken& conditionsToken) + : m_conditionsToken(conditionsToken) {} private: template @@ -73,7 +72,7 @@ class StripClusterizerAlgorithm { } } - std::string m_conditionsLabel; - edm::ESHandle m_conditionsHandle; + edm::ESGetToken m_conditionsToken; + const SiStripClusterizerConditions* m_conditions; }; #endif diff --git a/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithmFactory.h b/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithmFactory.h index bfaea0c0fcbdd..e949dc668e02f 100644 --- a/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithmFactory.h +++ b/RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithmFactory.h @@ -7,8 +7,10 @@ namespace edm { class StripClusterizerAlgorithm; #include +#include "FWCore/Framework/interface/ConsumesCollector.h" + class StripClusterizerAlgorithmFactory { public: - static std::unique_ptr create(const edm::ParameterSet&); + static std::unique_ptr create(edm::ConsumesCollector&&, const edm::ParameterSet&); }; #endif diff --git a/RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h b/RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h index ef422f50a7ecb..6c9964dd2a43f 100644 --- a/RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h +++ b/RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h @@ -28,8 +28,15 @@ class ThreeThresholdAlgorithm final : public StripClusterizerAlgorithm { template void clusterizeDetUnit_(const T&, output_t::TSFastFiller&) const; - ThreeThresholdAlgorithm( - const std::string&, float, float, float, unsigned, unsigned, unsigned, bool removeApvShots, float minGoodCharge); + ThreeThresholdAlgorithm(const edm::ESGetToken&, + float, + float, + float, + unsigned, + unsigned, + unsigned, + bool removeApvShots, + float minGoodCharge); //constant methods with state information uint16_t firstStrip(State const& state) const { return state.lastStrip - state.ADCs.size() + 1; } diff --git a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc index 6e43b05851e04..f3b76fe293b13 100644 --- a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc +++ b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc @@ -169,7 +169,8 @@ class SiStripClusterizerFromRaw final : public edm::stream::EDProducer<> { public: explicit SiStripClusterizerFromRaw(const edm::ParameterSet& conf) : onDemand(conf.getParameter("onDemand")), - clusterizer_(StripClusterizerAlgorithmFactory::create(conf.getParameter("Clusterizer"))), + clusterizer_(StripClusterizerAlgorithmFactory::create(consumesCollector(), + conf.getParameter("Clusterizer"))), rawAlgos_(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"))), doAPVEmulatorCheck_(conf.existsAs("DoAPVEmulatorCheck") ? conf.getParameter("DoAPVEmulatorCheck") : true), diff --git a/RecoLocalTracker/SiStripClusterizer/plugins/SiStripClusterizer.cc b/RecoLocalTracker/SiStripClusterizer/plugins/SiStripClusterizer.cc index d5e7fe00f62f0..afdf791b648cc 100644 --- a/RecoLocalTracker/SiStripClusterizer/plugins/SiStripClusterizer.cc +++ b/RecoLocalTracker/SiStripClusterizer/plugins/SiStripClusterizer.cc @@ -6,7 +6,8 @@ SiStripClusterizer::SiStripClusterizer(const edm::ParameterSet& conf) : inputTags(conf.getParameter>("DigiProducersList")), - algorithm(StripClusterizerAlgorithmFactory::create(conf.getParameter("Clusterizer"))) { + algorithm(StripClusterizerAlgorithmFactory::create(consumesCollector(), + conf.getParameter("Clusterizer"))) { produces>(); inputTokens = edm::vector_transform( inputTags, [this](edm::InputTag const& tag) { return consumes>(tag); }); diff --git a/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc b/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc index 1a947a08c1dae..bb1bfceff6038 100644 --- a/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc +++ b/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc @@ -5,12 +5,14 @@ #include "RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h" #include "RecoLocalTracker/SiStripClusterizer/interface/ClusterChargeCut.h" -std::unique_ptr StripClusterizerAlgorithmFactory::create(const edm::ParameterSet& conf) { +std::unique_ptr StripClusterizerAlgorithmFactory::create(edm::ConsumesCollector&& iC, + const edm::ParameterSet& conf) { std::string algorithm = conf.getParameter("Algorithm"); if (algorithm == "ThreeThresholdAlgorithm") { return std::unique_ptr( - new ThreeThresholdAlgorithm(conf.getParameter("ConditionsLabel"), + new ThreeThresholdAlgorithm(iC.esConsumes( + edm::ESInputTag(conf.getParameter("ConditionsLabel"))), conf.getParameter("ChannelThreshold"), conf.getParameter("SeedThreshold"), conf.getParameter("ClusterThreshold"), diff --git a/RecoLocalTracker/SiStripClusterizer/src/ThreeThresholdAlgorithm.cc b/RecoLocalTracker/SiStripClusterizer/src/ThreeThresholdAlgorithm.cc index 548d43e443fbe..7bc7fc495830e 100644 --- a/RecoLocalTracker/SiStripClusterizer/src/ThreeThresholdAlgorithm.cc +++ b/RecoLocalTracker/SiStripClusterizer/src/ThreeThresholdAlgorithm.cc @@ -7,16 +7,17 @@ #include "DataFormats/SiStripCluster/interface/SiStripClusterTools.h" -ThreeThresholdAlgorithm::ThreeThresholdAlgorithm(const std::string& conditionsLabel, - float chan, - float seed, - float cluster, - unsigned holes, - unsigned bad, - unsigned adj, - bool removeApvShots, - float minGoodCharge) - : StripClusterizerAlgorithm(conditionsLabel), +ThreeThresholdAlgorithm::ThreeThresholdAlgorithm( + const edm::ESGetToken& conditionsToken, + float chan, + float seed, + float cluster, + unsigned holes, + unsigned bad, + unsigned adj, + bool removeApvShots, + float minGoodCharge) + : StripClusterizerAlgorithm(conditionsToken), ChannelThreshold(chan), SeedThreshold(seed), ClusterThresholdSquared(cluster * cluster), diff --git a/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.cc b/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.cc index 0e06952b8b9f5..b004d193aef3e 100644 --- a/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.cc +++ b/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.cc @@ -8,28 +8,35 @@ #include #include +ClusterizerUnitTester::ClusterizerUnitTester(const PSet& conf) + : testGroups(conf.getParameter("ClusterizerTestGroups")) { + for (const auto& group : testGroups) { + clusterizers.push_back(StripClusterizerAlgorithmFactory::create(consumesCollector(), + group.getParameter("ClusterizerParameters"))); + } +} + void ClusterizerUnitTester::analyze(const edm::Event&, const edm::EventSetup& es) { detId = 0; - for (iter_t group = testGroups.begin(); group < testGroups.end(); group++) { - clusterizer = StripClusterizerAlgorithmFactory::create(group->getParameter("ClusterizerParameters")); - clusterizer->initialize(es); - testTheGroup(*group); + for (std::size_t i = 0; i != testGroups.size(); ++i) { + clusterizers[i]->initialize(es); + testTheGroup(testGroups[i], clusterizers[i].get()); } } -void ClusterizerUnitTester::testTheGroup(const PSet& group) { +void ClusterizerUnitTester::testTheGroup(const PSet& group, const StripClusterizerAlgorithm* clusterizer) { std::string label = group.getParameter("Label"); PSet params = group.getParameter("ClusterizerParameters"); VPSet tests = group.getParameter("Tests"); std::cout << "\nTesting group: \"" << label << "\"\n " << params << std::endl; - for (iter_t test = tests.begin(); test < tests.end(); test++) { - runTheTest(*test); + for (const auto& test : tests) { + runTheTest(test, clusterizer); detId++; } } -void ClusterizerUnitTester::runTheTest(const PSet& test) { +void ClusterizerUnitTester::runTheTest(const PSet& test, const StripClusterizerAlgorithm* clusterizer) { std::string label = test.getParameter("Label"); VPSet clusterset = test.getParameter("Clusters"); VPSet digiset = test.getParameter("Digis"); diff --git a/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.h b/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.h index 5b46ff8218b0b..42e9749904da7 100644 --- a/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.h +++ b/RecoLocalTracker/SiStripClusterizer/test/ClusterizerUnitTester.h @@ -17,15 +17,15 @@ class ClusterizerUnitTester : public edm::EDAnalyzer { typedef edmNew::DetSetVector output_t; public: - ClusterizerUnitTester(const PSet& conf) : testGroups(conf.getParameter("ClusterizerTestGroups")) {} + explicit ClusterizerUnitTester(const PSet& conf); ~ClusterizerUnitTester() {} private: void analyze(const edm::Event&, const edm::EventSetup&); void initializeTheGroup(const PSet&, const edm::EventSetup&); - void testTheGroup(const PSet&); - void runTheTest(const PSet&); + void testTheGroup(const PSet&, const StripClusterizerAlgorithm*); + void runTheTest(const PSet&, const StripClusterizerAlgorithm*); void constructClusters(const VPSet&, output_t&); void constructDigis(const VPSet&, edmNew::DetSetVector&); @@ -39,7 +39,7 @@ class ClusterizerUnitTester : public edm::EDAnalyzer { static std::string printCluster(const SiStripCluster&); VPSet testGroups; - std::unique_ptr clusterizer; + std::vector> clusterizers; uint32_t detId; }; diff --git a/RecoLocalTracker/SiStripClusterizer/test/StripByStripTestDriver.cc b/RecoLocalTracker/SiStripClusterizer/test/StripByStripTestDriver.cc index 83e8f69d91629..3646ad5542495 100644 --- a/RecoLocalTracker/SiStripClusterizer/test/StripByStripTestDriver.cc +++ b/RecoLocalTracker/SiStripClusterizer/test/StripByStripTestDriver.cc @@ -8,7 +8,7 @@ StripByStripTestDriver::StripByStripTestDriver(const edm::ParameterSet& conf) : inputTag(conf.getParameter("DigiProducer")), hlt(conf.getParameter("HLT")) //, /*hltFactory(0)*/ { - algorithm = StripClusterizerAlgorithmFactory::create(conf); + algorithm = StripClusterizerAlgorithmFactory::create(consumesCollector(), conf); produces(""); } From 85053fbd37de32960b5bcde5474447ebf45265e0 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 9 Oct 2020 17:36:01 +0200 Subject: [PATCH 11/22] Remove some (now unnecessary) ESHandle includes in CalibTracker/SiStrip* packages --- CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h | 1 - CalibTracker/SiStripCommon/plugins/ShallowGainCalibration.h | 1 - CalibTracker/SiStripCommon/plugins/ShallowSimTracksProducer.cc | 1 - CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc | 1 - CalibTracker/SiStripCommon/plugins/TkDetMapESProducer.cc | 1 - CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc | 1 - CalibTracker/SiStripDCS/interface/SiStripDetVOffBuilder.h | 1 - CalibTracker/SiStripDCS/interface/SiStripPsuDetIdMap.h | 1 - CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc | 1 - .../plugins/DBWriter/SiStripFedCablingManipulator.h | 1 - .../plugins/fake/SiStripApvGainBuilderFromTag.h | 1 - .../plugins/fake/SiStripBackPlaneCorrectionFakeESSource.cc | 1 - .../plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc | 1 - .../plugins/fake/SiStripLorentzAngleFakeESSource.cc | 1 - .../plugins/fake/SiStripNoiseNormalizedWithApvGainBuilder.h | 1 - .../plugins/real/SiStripLorentzAngleDepESProducer.cc | 2 -- .../SiStripESProducers/test/testSiStripQualityESProducer.h | 1 - .../SiStripQuality/plugins/SiStripBadModuleByHandBuilder.h | 1 - 18 files changed, 19 deletions(-) diff --git a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h index 5ab6303072881..551ea7beea75d 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h +++ b/CalibTracker/SiStripCommon/plugins/ShallowDigisProducer.h @@ -3,7 +3,6 @@ #include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Utilities/interface/InputTag.h" #include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" diff --git a/CalibTracker/SiStripCommon/plugins/ShallowGainCalibration.h b/CalibTracker/SiStripCommon/plugins/ShallowGainCalibration.h index 0010d6a44994e..ecbb3e22ff0c9 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowGainCalibration.h +++ b/CalibTracker/SiStripCommon/plugins/ShallowGainCalibration.h @@ -20,7 +20,6 @@ #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h" diff --git a/CalibTracker/SiStripCommon/plugins/ShallowSimTracksProducer.cc b/CalibTracker/SiStripCommon/plugins/ShallowSimTracksProducer.cc index 58720c70d7d6e..d952f580fe791 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowSimTracksProducer.cc +++ b/CalibTracker/SiStripCommon/plugins/ShallowSimTracksProducer.cc @@ -2,7 +2,6 @@ #include "CalibTracker/SiStripCommon/interface/ShallowTools.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/RecoCandidate/interface/TrackAssociation.h" diff --git a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc index a267804e849f8..9aa18d1401659 100644 --- a/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc +++ b/CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.cc @@ -6,7 +6,6 @@ #include "CalibTracker/SiStripCommon/plugins/SiStripDetInfoFileWriter.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" diff --git a/CalibTracker/SiStripCommon/plugins/TkDetMapESProducer.cc b/CalibTracker/SiStripCommon/plugins/TkDetMapESProducer.cc index e47327db129df..1ac35d6026675 100644 --- a/CalibTracker/SiStripCommon/plugins/TkDetMapESProducer.cc +++ b/CalibTracker/SiStripCommon/plugins/TkDetMapESProducer.cc @@ -1,4 +1,3 @@ -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESProducer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" diff --git a/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc b/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc index df00709fc88ad..85a657c95c7bd 100644 --- a/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc +++ b/CalibTracker/SiStripCommon/src/SiStripDCSStatus.cc @@ -1,7 +1,6 @@ #include "CalibTracker/SiStripCommon/interface/SiStripDCSStatus.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "DataFormats/Common/interface/Handle.h" diff --git a/CalibTracker/SiStripDCS/interface/SiStripDetVOffBuilder.h b/CalibTracker/SiStripDCS/interface/SiStripDetVOffBuilder.h index 70c6fe2890854..106335efac14f 100644 --- a/CalibTracker/SiStripDCS/interface/SiStripDetVOffBuilder.h +++ b/CalibTracker/SiStripDCS/interface/SiStripDetVOffBuilder.h @@ -3,7 +3,6 @@ #define USING_NEW_CORAL #include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" diff --git a/CalibTracker/SiStripDCS/interface/SiStripPsuDetIdMap.h b/CalibTracker/SiStripDCS/interface/SiStripPsuDetIdMap.h index a5564d604f6aa..00b455a8c9532 100644 --- a/CalibTracker/SiStripDCS/interface/SiStripPsuDetIdMap.h +++ b/CalibTracker/SiStripDCS/interface/SiStripPsuDetIdMap.h @@ -3,7 +3,6 @@ #include #include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" diff --git a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc index 717d28b3cf992..7f490897bdf12 100644 --- a/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc +++ b/CalibTracker/SiStripDCS/plugins/FilterTrackerOn.cc @@ -1,6 +1,5 @@ #include "CalibTracker/SiStripDCS/plugins/FilterTrackerOn.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h index a6d60788f7622..4f78184574d4f 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/SiStripFedCablingManipulator.h @@ -3,7 +3,6 @@ // user include files #include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ServiceRegistry/interface/Service.h" diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripApvGainBuilderFromTag.h b/CalibTracker/SiStripESProducers/plugins/fake/SiStripApvGainBuilderFromTag.h index bffff2cf13406..ca049e2299c15 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripApvGainBuilderFromTag.h +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripApvGainBuilderFromTag.h @@ -10,7 +10,6 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" #include "FWCore/ParameterSet/interface/FileInPath.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBackPlaneCorrectionFakeESSource.cc b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBackPlaneCorrectionFakeESSource.cc index 98a0ade8d2916..cef3b4a83774c 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBackPlaneCorrectionFakeESSource.cc +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBackPlaneCorrectionFakeESSource.cc @@ -17,7 +17,6 @@ // user include files #include "FWCore/Framework/interface/ESProducer.h" #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc index 7b2b0a6d25a8b..439d6c8c22e1c 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripBadModuleConfigurableFakeESSource.cc @@ -51,7 +51,6 @@ class SiStripBadModuleConfigurableFakeESSource : public edm::ESProducer, public std::vector>> selectAPVs() const; }; -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripLorentzAngleFakeESSource.cc b/CalibTracker/SiStripESProducers/plugins/fake/SiStripLorentzAngleFakeESSource.cc index 765ff23f2339e..920cf6df72dbd 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripLorentzAngleFakeESSource.cc +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripLorentzAngleFakeESSource.cc @@ -70,7 +70,6 @@ class SiStripLorentzAngleFakeESSource : public edm::ESProducer, public edm::Even edm::ESGetToken m_geomDetToken; }; -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "Geometry/TrackerNumberingBuilder/interface/utils.h" diff --git a/CalibTracker/SiStripESProducers/plugins/fake/SiStripNoiseNormalizedWithApvGainBuilder.h b/CalibTracker/SiStripESProducers/plugins/fake/SiStripNoiseNormalizedWithApvGainBuilder.h index bf0edd78b1871..ade9c53db714a 100644 --- a/CalibTracker/SiStripESProducers/plugins/fake/SiStripNoiseNormalizedWithApvGainBuilder.h +++ b/CalibTracker/SiStripESProducers/plugins/fake/SiStripNoiseNormalizedWithApvGainBuilder.h @@ -10,7 +10,6 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" #include "FWCore/ParameterSet/interface/FileInPath.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" diff --git a/CalibTracker/SiStripESProducers/plugins/real/SiStripLorentzAngleDepESProducer.cc b/CalibTracker/SiStripESProducers/plugins/real/SiStripLorentzAngleDepESProducer.cc index 07b3a9a15672a..434f4a45f29c1 100644 --- a/CalibTracker/SiStripESProducers/plugins/real/SiStripLorentzAngleDepESProducer.cc +++ b/CalibTracker/SiStripESProducers/plugins/real/SiStripLorentzAngleDepESProducer.cc @@ -24,8 +24,6 @@ #include "FWCore/Framework/interface/ESProducer.h" #include "FWCore/Framework/interface/ModuleFactory.h" -#include "FWCore/Framework/interface/ESHandle.h" - #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" diff --git a/CalibTracker/SiStripESProducers/test/testSiStripQualityESProducer.h b/CalibTracker/SiStripESProducers/test/testSiStripQualityESProducer.h index abbdd7d1bf6df..c51e32d30f7f7 100644 --- a/CalibTracker/SiStripESProducers/test/testSiStripQualityESProducer.h +++ b/CalibTracker/SiStripESProducers/test/testSiStripQualityESProducer.h @@ -9,7 +9,6 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" diff --git a/CalibTracker/SiStripQuality/plugins/SiStripBadModuleByHandBuilder.h b/CalibTracker/SiStripQuality/plugins/SiStripBadModuleByHandBuilder.h index 629cf6d0135ef..73b150810db3e 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripBadModuleByHandBuilder.h +++ b/CalibTracker/SiStripQuality/plugins/SiStripBadModuleByHandBuilder.h @@ -3,7 +3,6 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CommonTools/ConditionDBWriter/interface/ConditionDBWriter.h" From ac8c3394060a481ef15412d44d36ed11c23246f7 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Sun, 11 Oct 2020 11:41:47 +0200 Subject: [PATCH 12/22] esConsumes migration for DPGAnalysis/SiStripTools --- .../interface/EventWithHistoryFilter.h | 3 + .../SiStripTools/interface/Multiplicities.h | 13 +-- .../plugins/APVCyclePhaseProducerFromL1TS.cc | 22 ++--- .../SiStripTools/plugins/APVShotsAnalyzer.cc | 43 ++++----- .../SiStripTools/plugins/APVShotsFilter.cc | 32 +++---- .../plugins/CommonModeAnalyzer.cc | 29 +++---- .../SiStripTools/plugins/DetIdSelectorTest.cc | 14 +-- .../SiStripTools/plugins/DuplicateRecHits.cc | 13 ++- .../SiStripTools/plugins/LargeEvents.cc | 6 +- .../SiStripTools/plugins/OccupancyPlots.cc | 59 ++++++------- .../OverlapProblemTSOSPositionFilter.cc | 10 +-- .../plugins/SeedMultiplicityAnalyzer.cc | 21 +++-- .../plugins/SiPixelQualityHistory.cc | 54 ++++++------ .../plugins/SiStripQualityHistory.cc | 59 ++++++------- .../plugins/TrackerDpgAnalysis.cc | 87 ++++++++++--------- .../src/EventWithHistoryFilter.cc | 17 ++-- 16 files changed, 223 insertions(+), 259 deletions(-) diff --git a/DPGAnalysis/SiStripTools/interface/EventWithHistoryFilter.h b/DPGAnalysis/SiStripTools/interface/EventWithHistoryFilter.h index 21bebe16ed357..752bcca170711 100644 --- a/DPGAnalysis/SiStripTools/interface/EventWithHistoryFilter.h +++ b/DPGAnalysis/SiStripTools/interface/EventWithHistoryFilter.h @@ -5,6 +5,8 @@ #include #include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/Utilities/interface/InputTag.h" +#include "CondFormats/SiStripObjects/interface/SiStripLatency.h" +#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include "DPGAnalysis/SiStripTools/interface/EventWithHistory.h" #include "DPGAnalysis/SiStripTools/interface/APVCyclePhaseCollection.h" @@ -42,6 +44,7 @@ class EventWithHistoryFilter { edm::EDGetTokenT m_historyToken; std::string m_partition; edm::EDGetTokenT m_APVPhaseToken; + edm::ESGetToken m_apvLatencyToken; std::vector m_apvmodes; std::vector m_dbxrange; std::vector m_dbxrangelat; diff --git a/DPGAnalysis/SiStripTools/interface/Multiplicities.h b/DPGAnalysis/SiStripTools/interface/Multiplicities.h index f11792e63729f..ffbc2ca65d989 100644 --- a/DPGAnalysis/SiStripTools/interface/Multiplicities.h +++ b/DPGAnalysis/SiStripTools/interface/Multiplicities.h @@ -58,27 +58,28 @@ class SingleMultiplicity { private: int m_modthr; bool m_useQuality; - std::string m_qualityLabel; + edm::ESGetToken m_qualityToken; int m_mult; edm::EDGetTokenT m_collection; }; template -SingleMultiplicity::SingleMultiplicity() - : m_modthr(-1), m_useQuality(false), m_qualityLabel(), m_mult(0), m_collection() {} +SingleMultiplicity::SingleMultiplicity() : m_modthr(-1), m_useQuality(false), m_mult(0), m_collection() {} template SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) : m_modthr(iConfig.getUntrackedParameter("moduleThreshold")), m_useQuality(iConfig.getUntrackedParameter("useQuality", false)), - m_qualityLabel(iConfig.getUntrackedParameter("qualityLabel", "")), + m_qualityToken(iC.esConsumes( + edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} template SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC) : m_modthr(iConfig.getUntrackedParameter("moduleThreshold")), m_useQuality(iConfig.getUntrackedParameter("useQuality", false)), - m_qualityLabel(iConfig.getUntrackedParameter("qualityLabel", "")), + m_qualityToken(iC.esConsumes( + edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} @@ -88,7 +89,7 @@ void SingleMultiplicity::getEvent(const edm::Event& iEvent, const edm::EventS edm::ESHandle qualityHandle; if (m_useQuality) { - iSetup.get().get(m_qualityLabel, qualityHandle); + qualityHandle = iSetup.getHandle(m_qualityToken); } edm::Handle digis; diff --git a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc index 0991cfb8f2753..e75de1ffdd304 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc @@ -72,6 +72,8 @@ class APVCyclePhaseProducerFromL1TS : public edm::stream::EDProducer<> { edm::ESWatcher m_eswatcher; edm::EDGetTokenT _l1tscollectionToken; edm::EDGetTokenT _tcdsRecordToken; + edm::ESGetToken _confObjectToken; + edm::ESGetToken _tTopoToken; const bool m_ignoreDB; const std::string m_rcdLabel; std::vector _defpartnames; @@ -107,6 +109,8 @@ APVCyclePhaseProducerFromL1TS::APVCyclePhaseProducerFromL1TS(const edm::Paramete _l1tscollectionToken( consumes(iConfig.getParameter("l1TSCollection"))), _tcdsRecordToken(consumes(iConfig.getParameter("tcdsRecordLabel"))), + _confObjectToken(esConsumes()), + _tTopoToken(esConsumes()), m_ignoreDB(iConfig.getUntrackedParameter("ignoreDB", false)), m_rcdLabel(iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")), _defpartnames(iConfig.getParameter >("defaultPartitionNames")), @@ -150,21 +154,17 @@ void APVCyclePhaseProducerFromL1TS::beginRun(const edm::Run& iRun, const edm::Ev // update the parameters from DB if (!m_ignoreDB && m_eswatcher.check(iSetup)) { - edm::ESHandle confObj; - iSetup.get().get(m_rcdLabel, confObj); - - edm::ESHandle tTopo; - iSetup.get().get(tTopo); + const auto& confObj = iSetup.getData(_confObjectToken); std::stringstream summary; - confObj->printDebug(summary, tTopo.product()); + confObj.printDebug(summary, &iSetup.getData(_tTopoToken)); LogDebug("SiStripConfObjectSummary") << summary.str(); - _defpartnames = confObj->get >("defaultPartitionNames"); - _defphases = confObj->get >("defaultPhases"); - _useEC0 = confObj->get("useEC0"); - m_badRun = confObj->get("badRun"); - _magicOffset = confObj->get("magicOffset"); + _defpartnames = confObj.get >("defaultPartitionNames"); + _defphases = confObj.get >("defaultPhases"); + _useEC0 = confObj.get("useEC0"); + m_badRun = confObj.get("badRun"); + _magicOffset = confObj.get("magicOffset"); std::stringstream ss; printConfiguration(ss); diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc index eed18cf7b26e1..9f2b011d83419 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc @@ -27,6 +27,7 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -77,13 +78,18 @@ class APVShotsAnalyzer : public edm::EDAnalyzer { void analyze(const edm::Event&, const edm::EventSetup&) override; void endJob() override; - void updateDetCabling(const edm::EventSetup& setup); + void updateDetCabling(const SiStripDetCablingRcd& iRcd); // ----------member data --------------------------- edm::EDGetTokenT > _digicollectionToken; edm::EDGetTokenT _historyProductToken; edm::EDGetTokenT _apvphasecollToken; + edm::ESGetToken _tkDetMapToken; + bool _useCabling; + edm::ESWatcher _detCablingWatcher; + edm::ESGetToken _detCablingToken; + const SiStripDetCabling* _detCabling = nullptr; //!< The cabling object. const std::string _phasepart; bool _zs; std::string _suffix; @@ -118,11 +124,6 @@ class APVShotsAnalyzer : public edm::EDAnalyzer { TH1F** _fedrun; std::unique_ptr tkhisto, tkhisto2; - - // DetCabling - bool _useCabling; - uint32_t _cacheIdDet; //!< DB cache ID used to establish if the cabling has changed during the run. - const SiStripDetCabling* _detCabling; //!< The cabling object. }; // @@ -141,14 +142,15 @@ APVShotsAnalyzer::APVShotsAnalyzer(const edm::ParameterSet& iConfig) consumes >(iConfig.getParameter("digiCollection"))), _historyProductToken(consumes(iConfig.getParameter("historyProduct"))), _apvphasecollToken(consumes(iConfig.getParameter("apvPhaseCollection"))), + _tkDetMapToken(esConsumes()), + _useCabling(iConfig.getUntrackedParameter("useCabling", true)), + _detCablingWatcher(this, &APVShotsAnalyzer::updateDetCabling), + _detCablingToken(esConsumes()), _phasepart(iConfig.getUntrackedParameter("phasePartition", "None")), _zs(iConfig.getUntrackedParameter("zeroSuppressed", true)), _suffix(iConfig.getParameter("mapSuffix")), _nevents(0), - _rhm(consumesCollector()), - _useCabling(iConfig.getUntrackedParameter("useCabling", true)), - _cacheIdDet(0), - _detCabling(nullptr) { + _rhm(consumesCollector()) { //now do what ever initialization is needed if (!_zs) @@ -256,14 +258,11 @@ void APVShotsAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& if (_useCabling) { //retrieve cabling - updateDetCabling(iSetup); + _detCablingWatcher.check(iSetup); } if (!(tkhisto && tkhisto2)) { - edm::ESHandle tkDetMapHandle; - iSetup.get().get(tkDetMapHandle); - const TkDetMap* tkDetMap = tkDetMapHandle.product(); - + const TkDetMap* tkDetMap = &iSetup.getData(_tkDetMapToken); tkhisto = std::make_unique(tkDetMap, "ShotMultiplicity", "ShotMultiplicity", -1); tkhisto2 = std::make_unique(tkDetMap, "StripMultiplicity", "StripMultiplicity", -1); } @@ -477,19 +476,7 @@ void APVShotsAnalyzer::endJob() { tkhisto2->save(rootmapname); } -void APVShotsAnalyzer::updateDetCabling(const edm::EventSetup& setup) { - if (_useCabling) { - uint32_t cache_id = setup.get().cacheIdentifier(); //.get( cabling_ ); - - if (_cacheIdDet != cache_id) { // If the cache ID has changed since the last update... - // Update the cabling object - edm::ESHandle c; - setup.get().get(c); - _detCabling = c.product(); - _cacheIdDet = cache_id; - } // end of new cache ID check - } -} +void APVShotsAnalyzer::updateDetCabling(const SiStripDetCablingRcd& iRcd) { _detCabling = &iRcd.get(_detCablingToken); } //define this as a plug-in DEFINE_FWK_MODULE(APVShotsAnalyzer); diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc index 321d8bf8eca42..899009fb09aab 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc @@ -24,6 +24,8 @@ #include "FWCore/Utilities/interface/EDGetToken.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDFilter.h" +#include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -63,7 +65,7 @@ class APVShotsFilter : public edm::EDFilter { bool filter(edm::Event&, const edm::EventSetup&) override; void endJob() override; - void updateDetCabling(const edm::EventSetup& setup); + void updateDetCabling(const SiStripDetCablingRcd& iRcd); // ----------member data --------------------------- edm::EDGetTokenT heToken_; @@ -77,8 +79,9 @@ class APVShotsFilter : public edm::EDFilter { // DetCabling bool _useCabling; - uint32_t _cacheIdDet; //!< DB cache ID used to establish if the cabling has changed during the run. - const SiStripDetCabling* _detCabling; //!< The cabling object. + edm::ESWatcher _detCablingWatcher; + edm::ESGetToken _detCablingToken; + const SiStripDetCabling* _detCabling = nullptr; //!< The cabling object. }; // @@ -97,10 +100,8 @@ APVShotsFilter::APVShotsFilter(const edm::ParameterSet& iConfig) _zs(iConfig.getUntrackedParameter("zeroSuppressed", true)), _nevents(0), _useCabling(iConfig.getUntrackedParameter("useCabling", true)), - _cacheIdDet(0), - _detCabling(nullptr) - -{ + _detCablingWatcher(this, &APVShotsFilter::updateDetCabling), + _detCablingToken(esConsumes()) { //now do what ever initialization is needed edm::InputTag digicollection = iConfig.getParameter("digiCollection"); edm::InputTag historyProduct = iConfig.getParameter("historyProduct"); @@ -128,7 +129,7 @@ bool APVShotsFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { if (_useCabling) { //retrieve cabling - updateDetCabling(iSetup); + _detCablingWatcher.check(iSetup); } _nevents++; @@ -224,20 +225,7 @@ bool APVShotsFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { // ------------ method called once each job just after ending the event loop ------------ void APVShotsFilter::endJob() { edm::LogInfo("APVShotsFilter") << _nevents << " analyzed events"; } -#include "FWCore/Framework/interface/ESHandle.h" -void APVShotsFilter::updateDetCabling(const edm::EventSetup& setup) { - if (_useCabling) { - uint32_t cache_id = setup.get().cacheIdentifier(); //.get( cabling_ ); - - if (_cacheIdDet != cache_id) { // If the cache ID has changed since the last update... - // Update the cabling object - edm::ESHandle c; - setup.get().get(c); - _detCabling = c.product(); - _cacheIdDet = cache_id; - } // end of new cache ID check - } -} +void APVShotsFilter::updateDetCabling(const SiStripDetCablingRcd& iRcd) { _detCabling = &iRcd.get(_detCablingToken); } // ------------ method fills 'descriptions' with the allowed parameters for the module ------------ void APVShotsFilter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { diff --git a/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc index 78ce69c3f71fd..ddb500e0b9542 100644 --- a/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc @@ -28,10 +28,11 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -74,7 +75,7 @@ class CommonModeAnalyzer : public edm::EDAnalyzer { void analyze(const edm::Event&, const edm::EventSetup&) override; void endJob() override; - void updateDetCabling(const edm::EventSetup& setup); + void updateDetCabling(const SiStripDetCablingRcd& iRcd); // ----------member data --------------------------- @@ -98,8 +99,9 @@ class CommonModeAnalyzer : public edm::EDAnalyzer { RunHistogramManager m_rhm; - uint32_t m_cacheIdDet; //!< DB cache ID used to establish if the cabling has changed during the run. - const SiStripDetCabling* m_detCabling; //!< The cabling object. + edm::ESWatcher m_detCablingWatcher; + edm::ESGetToken m_detCablingToken; + const SiStripDetCabling* m_detCabling = nullptr; //!< The cabling object. }; // @@ -133,8 +135,8 @@ CommonModeAnalyzer::CommonModeAnalyzer(const edm::ParameterSet& iConfig) m_cmvsbxrun(), m_cmvsorbitrun(), m_rhm(consumesCollector()), - m_cacheIdDet(0), - m_detCabling(nullptr) { + m_detCablingWatcher(this, &CommonModeAnalyzer::updateDetCabling), + m_detCablingToken(esConsumes()) { //now do what ever initialization is needed edm::Service tfserv; @@ -198,7 +200,7 @@ CommonModeAnalyzer::~CommonModeAnalyzer() { void CommonModeAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - updateDetCabling(iSetup); + m_detCablingWatcher.check(iSetup); m_nevents++; @@ -288,16 +290,9 @@ void CommonModeAnalyzer::beginJob() {} // ------------ method called once each job just after ending the event loop ------------ void CommonModeAnalyzer::endJob() { edm::LogInfo("EndOfJob") << m_nevents << " analyzed events"; } -void CommonModeAnalyzer::updateDetCabling(const edm::EventSetup& setup) { - uint32_t cache_id = setup.get().cacheIdentifier(); //.get( cabling_ ); - - if (m_cacheIdDet != cache_id) { // If the cache ID has changed since the last update... - // Update the cabling object - edm::ESHandle c; - setup.get().get(c); - m_detCabling = c.product(); - m_cacheIdDet = cache_id; - } // end of new cache ID check + +void CommonModeAnalyzer::updateDetCabling(const SiStripDetCablingRcd& iRcd) { + m_detCabling = &iRcd.get(m_detCablingToken); } //define this as a plug-in diff --git a/DPGAnalysis/SiStripTools/plugins/DetIdSelectorTest.cc b/DPGAnalysis/SiStripTools/plugins/DetIdSelectorTest.cc index 1617bf28d98ce..50ae1c7b7e0c6 100644 --- a/DPGAnalysis/SiStripTools/plugins/DetIdSelectorTest.cc +++ b/DPGAnalysis/SiStripTools/plugins/DetIdSelectorTest.cc @@ -69,6 +69,9 @@ class DetIdSelectorTest : public edm::EDAnalyzer { std::vector detidsels_; std::unique_ptr tkhisto_; TrackerMap tkmap_; + + edm::ESGetToken tkDetMapToken_; + edm::ESGetToken geomDetToken_; }; // @@ -82,7 +85,8 @@ class DetIdSelectorTest : public edm::EDAnalyzer { // // constructors and destructor // -DetIdSelectorTest::DetIdSelectorTest(const edm::ParameterSet& iConfig) : detidsels_(), tkhisto_(nullptr), tkmap_() { +DetIdSelectorTest::DetIdSelectorTest(const edm::ParameterSet& iConfig) + : detidsels_(), tkhisto_(nullptr), tkmap_(), tkDetMapToken_(esConsumes()), geomDetToken_(esConsumes()) { //now do what ever initialization is needed std::vector selconfigs = iConfig.getParameter >("selections"); @@ -111,15 +115,11 @@ void DetIdSelectorTest::analyze(const edm::Event& iEvent, const edm::EventSetup& using namespace edm; if (!tkhisto_) { - edm::ESHandle tkDetMapHandle; - iSetup.get().get(tkDetMapHandle); - tkhisto_ = std::make_unique(tkDetMapHandle.product(), "SelectorTest", "SelectorTest", -1); + tkhisto_ = std::make_unique(&iSetup.getData(tkDetMapToken_), "SelectorTest", "SelectorTest", -1); } { - edm::ESHandle geomDetHandle; - iSetup.get().get(geomDetHandle); - const auto detids = TrackerGeometryUtils::getSiStripDetIds(*geomDetHandle); + const auto detids = TrackerGeometryUtils::getSiStripDetIds(iSetup.getData(geomDetToken_)); for (std::vector::const_iterator detid = detids.begin(); detid != detids.end(); ++detid) { LogDebug("DetID") << *detid; diff --git a/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc b/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc index 8a70a940b6fdb..f3a2d57d50e5e 100644 --- a/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc +++ b/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc @@ -74,8 +74,8 @@ class DuplicateRecHits : public edm::EDAnalyzer { // ----------member data --------------------------- edm::EDGetTokenT m_trkcollToken; - std::string m_buildername; - const TransientTrackingRecHitBuilder* m_builder; + edm::ESGetToken m_builderToken; + const TransientTrackingRecHitBuilder* m_builder = nullptr; TH1F* m_nduplicate; TH1F* m_nduplmod; @@ -94,9 +94,8 @@ class DuplicateRecHits : public edm::EDAnalyzer { // DuplicateRecHits::DuplicateRecHits(const edm::ParameterSet& iConfig) : m_trkcollToken(consumes(iConfig.getParameter("trackCollection"))), - m_buildername(iConfig.getParameter("TTRHBuilder")) - -{ + m_builderToken( + esConsumes(edm::ESInputTag(iConfig.getParameter("TTRHBuilder")))) { //now do what ever initialization is needed // histogram parameters @@ -153,9 +152,7 @@ void DuplicateRecHits::analyze(const edm::Event& iEvent, const edm::EventSetup& } void DuplicateRecHits::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { - edm::ESHandle theBuilder; - iSetup.get().get(m_buildername, theBuilder); - m_builder = theBuilder.product(); + m_builder = &iSetup.getData(m_builderToken); } void DuplicateRecHits::endRun(const edm::Run& iRun, const edm::EventSetup&) {} diff --git a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc index 6477404729b26..78f06dc8f8ce1 100644 --- a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc +++ b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc @@ -66,9 +66,9 @@ class LargeEvents : public edm::EDFilter { int _absthr; int _modthr; bool _useQuality; - std::string _qualityLabel; edm::ESHandle _qualityHandle; edm::ESWatcher _qualityWatcher; + edm::ESGetToken _qualityToken; }; // @@ -88,7 +88,7 @@ LargeEvents::LargeEvents(const edm::ParameterSet& iConfig) _absthr(iConfig.getUntrackedParameter("absoluteThreshold")), _modthr(iConfig.getUntrackedParameter("moduleThreshold")), _useQuality(iConfig.getUntrackedParameter("useQuality", false)), - _qualityLabel(iConfig.getUntrackedParameter("qualityLabel", "")) { + _qualityToken(esConsumes(edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))) { //now do what ever initialization is needed } @@ -109,7 +109,7 @@ bool LargeEvents::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { if (_useQuality) { if (_qualityWatcher.check(iSetup)) { - iSetup.get().get(_qualityLabel, _qualityHandle); + _qualityHandle = iSetup.getHandle(_qualityToken); LogDebug("SiStripQualityUpdated") << "SiStripQuality has changed and it will be updated"; } } diff --git a/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc b/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc index 1cee3c4ac6f9f..7f685e802a904 100644 --- a/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc +++ b/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc @@ -80,6 +80,9 @@ class OccupancyPlots : public edm::EDAnalyzer { std::vector > > m_multiplicityMapTokens; std::vector > > m_occupancyMapTokens; edm::FileInPath m_fp; + edm::ESGetToken m_tkGeomToken; + edm::ESGetToken m_stripQualityToken; + edm::ESGetToken m_pixelQualityToken; RunHistogramManager m_rhm; std::map m_wantedsubdets; @@ -125,6 +128,9 @@ OccupancyPlots::OccupancyPlots(const edm::ParameterSet& iConfig) [this](edm::InputTag const& tag) { return consumes >(tag); })), m_fp(iConfig.getUntrackedParameter( "file", edm::FileInPath("CalibTracker/SiPixelESProducers/data/PixelSkimmedGeometry.txt"))), + m_tkGeomToken(esConsumes(edm::ESInputTag(""))), + m_stripQualityToken(esConsumes(edm::ESInputTag(""))), + m_pixelQualityToken(esConsumes(edm::ESInputTag(""))), m_rhm(consumesCollector()), m_wantedsubdets() { //now do what ever initialization is needed @@ -207,25 +213,22 @@ void OccupancyPlots::beginJob() {} void OccupancyPlots::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { m_rhm.beginRun(iRun); } void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { - // edm::ESHandle trkgeo; - // iSetup.get().get("",trkgeo); - edm::ESHandle trkgeo; - iSetup.get().get("", trkgeo); + const auto& trkgeo = iSetup.getData(m_tkGeomToken); // Test new TrackerGeometry features LogDebug("IsThereTest") << "Test of TrackerGeometry::isThere"; - LogTrace("IsThereTest") << " is there PixelBarrel: " << trkgeo->isThere(GeomDetEnumerators::PixelBarrel); - LogTrace("IsThereTest") << " is there PixelEndcap: " << trkgeo->isThere(GeomDetEnumerators::PixelEndcap); - LogTrace("IsThereTest") << " is there P1PXB: " << trkgeo->isThere(GeomDetEnumerators::P1PXB); - LogTrace("IsThereTest") << " is there P1PXEC: " << trkgeo->isThere(GeomDetEnumerators::P1PXEC); - LogTrace("IsThereTest") << " is there P2PXB: " << trkgeo->isThere(GeomDetEnumerators::P2PXB); - LogTrace("IsThereTest") << " is there P2PXEC: " << trkgeo->isThere(GeomDetEnumerators::P2PXEC); - LogTrace("IsThereTest") << " is there TIB: " << trkgeo->isThere(GeomDetEnumerators::TIB); - LogTrace("IsThereTest") << " is there TID: " << trkgeo->isThere(GeomDetEnumerators::TID); - LogTrace("IsThereTest") << " is there TOB: " << trkgeo->isThere(GeomDetEnumerators::TOB); - LogTrace("IsThereTest") << " is there TEC: " << trkgeo->isThere(GeomDetEnumerators::TEC); - LogTrace("IsThereTest") << " is there P2OTB: " << trkgeo->isThere(GeomDetEnumerators::P2OTB); - LogTrace("IsThereTest") << " is there P2OTEC: " << trkgeo->isThere(GeomDetEnumerators::P2OTEC); + LogTrace("IsThereTest") << " is there PixelBarrel: " << trkgeo.isThere(GeomDetEnumerators::PixelBarrel); + LogTrace("IsThereTest") << " is there PixelEndcap: " << trkgeo.isThere(GeomDetEnumerators::PixelEndcap); + LogTrace("IsThereTest") << " is there P1PXB: " << trkgeo.isThere(GeomDetEnumerators::P1PXB); + LogTrace("IsThereTest") << " is there P1PXEC: " << trkgeo.isThere(GeomDetEnumerators::P1PXEC); + LogTrace("IsThereTest") << " is there P2PXB: " << trkgeo.isThere(GeomDetEnumerators::P2PXB); + LogTrace("IsThereTest") << " is there P2PXEC: " << trkgeo.isThere(GeomDetEnumerators::P2PXEC); + LogTrace("IsThereTest") << " is there TIB: " << trkgeo.isThere(GeomDetEnumerators::TIB); + LogTrace("IsThereTest") << " is there TID: " << trkgeo.isThere(GeomDetEnumerators::TID); + LogTrace("IsThereTest") << " is there TOB: " << trkgeo.isThere(GeomDetEnumerators::TOB); + LogTrace("IsThereTest") << " is there TEC: " << trkgeo.isThere(GeomDetEnumerators::TEC); + LogTrace("IsThereTest") << " is there P2OTB: " << trkgeo.isThere(GeomDetEnumerators::P2OTB); + LogTrace("IsThereTest") << " is there P2OTEC: " << trkgeo.isThere(GeomDetEnumerators::P2OTEC); const Local2DPoint center(0., 0.); const Local3DPoint locz(0., 0., 1.); @@ -233,7 +236,7 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) const Local3DPoint locy(0., 1., 0.); const GlobalPoint origin(0., 0., 0.); - TrackingGeometry::DetIdContainer detunits = trkgeo->detUnitIds(); + TrackingGeometry::DetIdContainer detunits = trkgeo.detUnitIds(); for (TrackingGeometry::DetIdContainer::const_iterator det = detunits.begin(); det != detunits.end(); ++det) { if (det->det() != DetId::Tracker) @@ -241,10 +244,10 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) edm::LogInfo("DetIdFromGeometry") << det->rawId(); - GlobalPoint position = trkgeo->idToDet(*det)->toGlobal(center); - GlobalPoint zpos = trkgeo->idToDet(*det)->toGlobal(locz); - GlobalPoint xpos = trkgeo->idToDet(*det)->toGlobal(locx); - GlobalPoint ypos = trkgeo->idToDet(*det)->toGlobal(locy); + GlobalPoint position = trkgeo.idToDet(*det)->toGlobal(center); + GlobalPoint zpos = trkgeo.idToDet(*det)->toGlobal(locz); + GlobalPoint xpos = trkgeo.idToDet(*det)->toGlobal(locx); + GlobalPoint ypos = trkgeo.idToDet(*det)->toGlobal(locy); GlobalVector posvect = position - origin; GlobalVector dz = zpos - position; GlobalVector dx = xpos - position; @@ -303,10 +306,9 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) if (m_nchannels_real && *m_nchannels_real) (*m_nchannels_real)->Reset(); - edm::ESHandle quality; - iSetup.get().get("", quality); + const auto& stripQuality = iSetup.getData(m_stripQualityToken); - for (const auto det : trkgeo->detUnits()) { + for (const auto det : trkgeo.detUnits()) { const StripGeomDetUnit* stripDet = dynamic_cast(det); if (stripDet != nullptr) { const DetId detid = stripDet->geographicalId(); @@ -315,7 +317,7 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) // int nchannreal = stripDet->specificTopology().nstrips(); int nchannreal = 0; for (int strip = 0; strip < nchannideal; ++strip) { - if (!quality->IsStripBad(detid, strip)) + if (!stripQuality.IsStripBad(detid, strip)) ++nchannreal; } @@ -332,8 +334,7 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) } } - edm::ESHandle pxlquality; - iSetup.get().get("", pxlquality); + const auto& pxlquality = iSetup.getData(m_pixelQualityToken); SiPixelDetInfoFileReader pxlreader(m_fp.fullPath()); @@ -342,13 +343,13 @@ void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) for (std::vector::const_iterator detid = pxldetids.begin(); detid != pxldetids.end(); ++detid) { int nchannideal = pxlreader.getDetUnitDimensions(*detid).first * pxlreader.getDetUnitDimensions(*detid).second; int nchannreal = 0; - if (!pxlquality->IsModuleBad(*detid)) { + if (!pxlquality.IsModuleBad(*detid)) { nchannreal = pxlreader.getDetUnitDimensions(*detid).first * pxlreader.getDetUnitDimensions(*detid).second; } /* int nchannreal = 0; for(int strip = 0; strip < nchannideal; ++strip) { - if(!quality->IsStripBad(*detid,strip)) ++nchannreal; + if(!stripquality.IsStripBad(*detid,strip)) ++nchannreal; } */ diff --git a/DPGAnalysis/SiStripTools/plugins/OverlapProblemTSOSPositionFilter.cc b/DPGAnalysis/SiStripTools/plugins/OverlapProblemTSOSPositionFilter.cc index 75c143e3fcc42..afbef202e909f 100644 --- a/DPGAnalysis/SiStripTools/plugins/OverlapProblemTSOSPositionFilter.cc +++ b/DPGAnalysis/SiStripTools/plugins/OverlapProblemTSOSPositionFilter.cc @@ -28,7 +28,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Run.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -73,6 +72,7 @@ class OverlapProblemTSOSPositionFilter : public edm::EDFilter { const bool m_validOnly; edm::EDGetTokenT m_ttacollToken; + edm::ESGetToken m_tTopoToken; }; // @@ -89,7 +89,8 @@ class OverlapProblemTSOSPositionFilter : public edm::EDFilter { OverlapProblemTSOSPositionFilter::OverlapProblemTSOSPositionFilter(const edm::ParameterSet& iConfig) : m_validOnly(iConfig.getParameter("onlyValidRecHit")), m_ttacollToken( - consumes(iConfig.getParameter("trajTrackAssoCollection"))) + consumes(iConfig.getParameter("trajTrackAssoCollection"))), + m_tTopoToken(esConsumes()) { //now do what ever initialization is needed @@ -117,8 +118,7 @@ bool OverlapProblemTSOSPositionFilter::filter(edm::Event& iEvent, const edm::Eve Handle ttac; iEvent.getByToken(m_ttacollToken, ttac); - edm::ESHandle tTopo; - iSetup.get().get(tTopo); + const auto& tTopo = iSetup.getData(m_tTopoToken); for (TrajTrackAssociationCollection::const_iterator pair = ttac->begin(); pair != ttac->end(); ++pair) { const edm::Ref >& traj = pair->key; @@ -141,7 +141,7 @@ bool OverlapProblemTSOSPositionFilter::filter(edm::Event& iEvent, const edm::Eve if (hit->geographicalId().subdetId() != StripSubdetector::TEC) continue; - if (tTopo->tecRing(hit->geographicalId()) != 6) + if (tTopo.tecRing(hit->geographicalId()) != 6) continue; if (tsos.localPosition().y() < 6.) diff --git a/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc index 8643f61c95195..efe6a6363c7c4 100644 --- a/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc @@ -93,7 +93,8 @@ class SeedMultiplicityAnalyzer : public edm::EDAnalyzer { // ----------member data --------------------------- - std::string _buildername; + edm::ESGetToken _magFieldToken; + edm::ESGetToken _TTRHBuilderToken; std::vector> _seedcollTokens; std::vector _seedbins; std::vector _seedmax; @@ -128,7 +129,8 @@ class SeedMultiplicityAnalyzer : public edm::EDAnalyzer { // constructors and destructor // SeedMultiplicityAnalyzer::SeedMultiplicityAnalyzer(const edm::ParameterSet& iConfig) - : _buildername(iConfig.getParameter("TTRHBuilder")), + : _magFieldToken(esConsumes(edm::ESInputTag(iConfig.getParameter("TTRHBuilder")))), + _TTRHBuilderToken(esConsumes()), _seedcollTokens(), _seedbins(), _seedmax(), @@ -310,11 +312,8 @@ void SeedMultiplicityAnalyzer::analyze(const edm::Event& iEvent, const edm::Even // TrajectoryStateTransform tsTransform; TSCBLBuilderNoMaterial tscblBuilder; // I could have used TSCBLBuilderWithPropagator - edm::ESHandle theMF; - iSetup.get().get(theMF); - - edm::ESHandle theTTRHBuilder; - iSetup.get().get(_buildername, theTTRHBuilder); + const auto theMF = &iSetup.getData(_magFieldToken); + const auto& theTTRHBuilder = iSetup.getData(_TTRHBuilderToken); // I need: // - beamspot bs POSTPONED @@ -372,9 +371,9 @@ void SeedMultiplicityAnalyzer::analyze(const edm::Event& iEvent, const edm::Even if (filter->isSelected(iseed)) { ++nseeds; - TransientTrackingRecHit::RecHitPointer recHit = theTTRHBuilder->build(&*(seed->recHits().end() - 1)); + TransientTrackingRecHit::RecHitPointer recHit = theTTRHBuilder.build(&*(seed->recHits().end() - 1)); TrajectoryStateOnSurface state = - trajectoryStateTransform::transientState(seed->startingState(), recHit->surface(), theMF.product()); + trajectoryStateTransform::transientState(seed->startingState(), recHit->surface(), theMF); // TrajectoryStateClosestToBeamLine tsAtClosestApproachSeed = tscblBuilder(*state.freeState(),bs); // here I need them BS double eta = state.globalMomentum().eta(); @@ -394,9 +393,9 @@ void SeedMultiplicityAnalyzer::analyze(const edm::Event& iEvent, const edm::Even if (sphit) { ++npixelrh; // compute state on recHit surface - TransientTrackingRecHit::RecHitPointer ttrhit = theTTRHBuilder->build(&hit); + TransientTrackingRecHit::RecHitPointer ttrhit = theTTRHBuilder.build(&hit); TrajectoryStateOnSurface tsos = - trajectoryStateTransform::transientState(seed->startingState(), ttrhit->surface(), theMF.product()); + trajectoryStateTransform::transientState(seed->startingState(), ttrhit->surface(), theMF); if (sphit->geographicalId().det() == DetId::Tracker && sphit->geographicalId().subdetId() == PixelSubdetector::PixelBarrel) { diff --git a/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc b/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc index ef806ef8be193..5ce2d8f289e8d 100644 --- a/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc +++ b/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc @@ -71,6 +71,7 @@ class SiPixelQualityHistory : public edm::EDAnalyzer { RunHistogramManager m_rhm; const std::vector m_monitoredspq; + std::vector> m_spqTokens; const unsigned int m_mode; const bool m_run; const unsigned int m_maxLS; @@ -93,7 +94,7 @@ class SiPixelQualityHistory : public edm::EDAnalyzer { // SiPixelQualityHistory::SiPixelQualityHistory(const edm::ParameterSet& iConfig) : m_rhm(consumesCollector()), - m_monitoredspq(iConfig.getParameter >("monitoredSiPixelQuality")), + m_monitoredspq(iConfig.getParameter>("monitoredSiPixelQuality")), m_mode(iConfig.getUntrackedParameter("granularityMode", Module)), m_run(iConfig.getParameter("runProcess")), m_maxLS(iConfig.getUntrackedParameter("maxLSBeforeRebin", 100)), @@ -104,8 +105,11 @@ SiPixelQualityHistory::SiPixelQualityHistory(const edm::ParameterSet& iConfig) edm::Service tfserv; - for (std::vector::const_iterator ps = m_monitoredspq.begin(); ps != m_monitoredspq.end(); ++ps) { - std::string name = ps->getParameter("name"); + for (const auto& ps : m_monitoredspq) { + m_spqTokens.emplace_back( + esConsumes(edm::ESInputTag(ps.getParameter("spqLabel")))); + + std::string name = ps.getParameter("name"); if (m_run) m_history[name] = tfserv->make(name.c_str(), name.c_str(), 10, 0, 10); @@ -131,31 +135,28 @@ SiPixelQualityHistory::~SiPixelQualityHistory() { void SiPixelQualityHistory::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { // edm::LogInfo("EventProcessing") << "event being processed"; - for (std::vector::const_iterator ps = m_monitoredspq.begin(); ps != m_monitoredspq.end(); ++ps) { - std::string name = ps->getParameter("name"); - std::string label = ps->getParameter("spqLabel"); - - edm::ESHandle spq; - iSetup.get().get(label, spq); + for (std::size_t iMon = 0; iMon != m_monitoredspq.size(); ++iMon) { + std::string name = m_monitoredspq[iMon].getParameter("name"); + const auto& spq = iSetup.getData(m_spqTokens[iMon]); int nbad = 0; if (m_mode == Summary) { - // nbad = spq->BadModuleNumber(); + // nbad = spq.BadModuleNumber(); } else { - std::vector bads = spq->getBadComponentList(); + std::vector bads = spq.getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; - for (std::vector::const_iterator bc = bads.begin(); bc != bads.end(); ++bc) { + for (const auto& bc : bads) { if (m_mode == Module) { - if (spq->IsModuleBad(bc->DetID)) + if (spq.IsModuleBad(bc.DetID)) ++nbad; - // if(bc->errorType==0) ++nbad; + // if(bc.errorType==0) ++nbad; } else if (m_mode == ROC) { for (int roc = 1; roc < 2 * 2 * 2 * 2 * 2 * 2 * 2 + 1; roc *= 2) { - if ((bc->BadRocs & roc) > 0) + if ((bc.BadRocs & roc) > 0) ++nbad; } } @@ -171,10 +172,9 @@ void SiPixelQualityHistory::beginRun(const edm::Run& iRun, const edm::EventSetup m_rhm.beginRun(iRun); // loop on all the SiPixelQuality objects to be monitored - - for (std::vector::const_iterator ps = m_monitoredspq.begin(); ps != m_monitoredspq.end(); ++ps) { - std::string name = ps->getParameter("name"); - std::string label = ps->getParameter("spqLabel"); + for (std::size_t iMon = 0; iMon != m_monitoredspq.size(); ++iMon) { + const auto& ps = m_monitoredspq[iMon]; + std::string name = ps.getParameter("name"); if (m_badmodrun.find(name) != m_badmodrun.end()) { if (m_badmodrun[name] && *m_badmodrun[name]) { @@ -185,28 +185,26 @@ void SiPixelQualityHistory::beginRun(const edm::Run& iRun, const edm::EventSetup } if (m_run) { - edm::ESHandle spq; - iSetup.get().get(label, spq); + const auto& spq = iSetup.getData(m_spqTokens[iMon]); int nbad = 0; if (m_mode == Summary) { - // nbad = spq->BadModuleNumber(); + // nbad = spq.BadModuleNumber(); } else { - std::vector bads = spq->getBadComponentList(); + std::vector bads = spq.getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; - for (std::vector::const_iterator bc = bads.begin(); bc != bads.end(); - ++bc) { + for (const auto& bc : bads) { if (m_mode == Module) { - if (spq->IsModuleBad(bc->DetID)) + if (spq.IsModuleBad(bc.DetID)) ++nbad; - // if(bc->errorType==0) ++nbad; + // if(bc.errorType==0) ++nbad; } else if (m_mode == ROC) { for (int roc = 1; roc < 2 * 2 * 2 * 2 * 2 * 2 * 2 + 1; roc *= 2) { - if ((bc->BadRocs & roc) > 0) + if ((bc.BadRocs & roc) > 0) ++nbad; } } diff --git a/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc b/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc index ae4c58845740e..755539df420fc 100644 --- a/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc +++ b/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc @@ -70,6 +70,7 @@ class SiStripQualityHistory : public edm::EDAnalyzer { RunHistogramManager m_rhm; const std::vector _monitoredssq; + std::vector> _ssqTokens; const unsigned int _mode; const bool m_run; const unsigned int m_maxLS; @@ -92,7 +93,7 @@ class SiStripQualityHistory : public edm::EDAnalyzer { // SiStripQualityHistory::SiStripQualityHistory(const edm::ParameterSet& iConfig) : m_rhm(consumesCollector()), - _monitoredssq(iConfig.getParameter >("monitoredSiStripQuality")), + _monitoredssq(iConfig.getParameter>("monitoredSiStripQuality")), _mode(iConfig.getUntrackedParameter("granularityMode", Module)), m_run(iConfig.getParameter("runProcess")), m_maxLS(iConfig.getUntrackedParameter("maxLSBeforeRebin", 100)), @@ -103,8 +104,10 @@ SiStripQualityHistory::SiStripQualityHistory(const edm::ParameterSet& iConfig) edm::Service tfserv; - for (std::vector::const_iterator ps = _monitoredssq.begin(); ps != _monitoredssq.end(); ++ps) { - std::string name = ps->getParameter("name"); + for (const auto& ps : _monitoredssq) { + _ssqTokens.emplace_back( + esConsumes(edm::ESInputTag(ps.getParameter("ssqLabel")))); + std::string name = ps.getParameter("name"); // _history[name] = tfserv->make(); // _history[name]->SetName(name.c_str()); _history[name]->SetTitle(name.c_str()); @@ -132,41 +135,38 @@ SiStripQualityHistory::~SiStripQualityHistory() { void SiStripQualityHistory::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { // edm::LogInfo("EventProcessing") << "event being processed"; - for (std::vector::const_iterator ps = _monitoredssq.begin(); ps != _monitoredssq.end(); ++ps) { - std::string name = ps->getParameter("name"); - std::string label = ps->getParameter("ssqLabel"); - - edm::ESHandle ssq; - iSetup.get().get(label, ssq); + for (std::size_t iMon = 0; iMon != _monitoredssq.size(); ++iMon) { + std::string name = _monitoredssq[iMon].getParameter("name"); + const auto& ssq = iSetup.getData(_ssqTokens[iMon]); - std::vector bads = ssq->getBadComponentList(); + std::vector bads = ssq.getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; int nbad = 0; if (_mode == Module || _mode == Fiber || _mode == APV) { - for (std::vector::const_iterator bc = bads.begin(); bc != bads.end(); ++bc) { + for (const auto& bc : bads) { if (_mode == Module) { - if (bc->BadModule) + if (bc.BadModule) ++nbad; } else if (_mode == Fiber) { for (int fiber = 1; fiber < 5; fiber *= 2) { - if ((bc->BadFibers & fiber) > 0) + if ((bc.BadFibers & fiber) > 0) ++nbad; } } else if (_mode == APV) { for (int apv = 1; apv < 33; apv *= 2) { - if ((bc->BadApvs & apv) > 0) + if ((bc.BadApvs & apv) > 0) ++nbad; } } } } else if (_mode == Strip) { - SiStripBadStrip::ContainerIterator dbegin = ssq->getDataVectorBegin(); - SiStripBadStrip::ContainerIterator dend = ssq->getDataVectorEnd(); + SiStripBadStrip::ContainerIterator dbegin = ssq.getDataVectorBegin(); + SiStripBadStrip::ContainerIterator dend = ssq.getDataVectorEnd(); for (SiStripBadStrip::ContainerIterator data = dbegin; data < dend; ++data) { - nbad += ssq->decode(*data).range; + nbad += ssq.decode(*data).range; } } @@ -180,10 +180,8 @@ void SiStripQualityHistory::beginRun(const edm::Run& iRun, const edm::EventSetup m_rhm.beginRun(iRun); // loop on all the SiStripQuality objects to be monitored - - for (std::vector::const_iterator ps = _monitoredssq.begin(); ps != _monitoredssq.end(); ++ps) { - std::string name = ps->getParameter("name"); - std::string label = ps->getParameter("ssqLabel"); + for (std::size_t iMon = 0; iMon != _monitoredssq.size(); ++iMon) { + std::string name = _monitoredssq[iMon].getParameter("name"); if (m_badmodrun.find(name) != m_badmodrun.end()) { if (m_badmodrun[name] && *m_badmodrun[name]) { @@ -194,37 +192,36 @@ void SiStripQualityHistory::beginRun(const edm::Run& iRun, const edm::EventSetup } if (m_run) { - edm::ESHandle ssq; - iSetup.get().get(label, ssq); + const auto& ssq = iSetup.getData(_ssqTokens[iMon]); - std::vector bads = ssq->getBadComponentList(); + std::vector bads = ssq.getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; int nbad = 0; if (_mode == Module || _mode == Fiber || _mode == APV) { - for (std::vector::const_iterator bc = bads.begin(); bc != bads.end(); ++bc) { + for (const auto& bc : bads) { if (_mode == Module) { - if (bc->BadModule) + if (bc.BadModule) ++nbad; } else if (_mode == Fiber) { for (int fiber = 1; fiber < 5; fiber *= 2) { - if ((bc->BadFibers & fiber) > 0) + if ((bc.BadFibers & fiber) > 0) ++nbad; } } else if (_mode == APV) { for (int apv = 1; apv < 33; apv *= 2) { - if ((bc->BadApvs & apv) > 0) + if ((bc.BadApvs & apv) > 0) ++nbad; } } } } else if (_mode == Strip) { - SiStripBadStrip::ContainerIterator dbegin = ssq->getDataVectorBegin(); - SiStripBadStrip::ContainerIterator dend = ssq->getDataVectorEnd(); + SiStripBadStrip::ContainerIterator dbegin = ssq.getDataVectorBegin(); + SiStripBadStrip::ContainerIterator dend = ssq.getDataVectorEnd(); for (SiStripBadStrip::ContainerIterator data = dbegin; data < dend; ++data) { - nbad += ssq->decode(*data).range; + nbad += ssq.decode(*data).range; } } diff --git a/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc b/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc index 99e42aa4ce09e..cf36fdf3d3778 100644 --- a/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc +++ b/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc @@ -130,7 +130,7 @@ class TrackerDpgAnalysis : public edm::EDAnalyzer { void insertMeasurement(std::multimap, int> >&, const TrackingRecHit*, int); - std::string toStringName(uint32_t, const TrackerTopology*); + std::string toStringName(uint32_t, const TrackerTopology&); std::string toStringId(uint32_t); double sumPtSquared(const reco::Vertex&); float delay(const SiStripEventSummary&); @@ -160,6 +160,10 @@ class TrackerDpgAnalysis : public edm::EDAnalyzer { std::vector > trackTokens_; std::vector > > trajectoryTokens_; std::vector > trajTrackAssoTokens_; + edm::ESGetToken magFieldToken_; + edm::ESGetToken tTopoToken_; + edm::ESGetToken tkGeomToken_; + edm::ESGetToken fedCablingToken_; edm::ESHandle cabling_; edm::ESHandle tracker_; std::multimap connections_; @@ -223,7 +227,12 @@ class TrackerDpgAnalysis : public edm::EDAnalyzer { // constructors and destructor // TrackerDpgAnalysis::TrackerDpgAnalysis(const edm::ParameterSet& iConfig) - : siStripClusterInfo_(consumesCollector(), std::string("")), hltConfig_() { + : siStripClusterInfo_(consumesCollector(), std::string("")), + magFieldToken_(esConsumes()), + tTopoToken_(esConsumes()), + tkGeomToken_(esConsumes()), + fedCablingToken_(esConsumes()), + hltConfig_() { // members moduleName_ = new char[256]; moduleId_ = new char[256]; @@ -548,10 +557,7 @@ void TrackerDpgAnalysis::analyze(const edm::Event& iEvent, const edm::EventSetup delay_ = 0.; // -- Magnetic field - ESHandle MF; - iSetup.get().get(MF); - const MagneticField* theMagneticField = MF.product(); - fBz_ = fabs(theMagneticField->inTesla(GlobalPoint(0, 0, 0)).z()); + fBz_ = fabs(iSetup.getData(magFieldToken_).inTesla(GlobalPoint(0, 0, 0)).z()); siStripClusterInfo_.initEvent(iSetup); @@ -1018,13 +1024,8 @@ void TrackerDpgAnalysis::analyze(const edm::Event& iEvent, const edm::EventSetup // ------------ method called once each job just before starting event loop ------------ void TrackerDpgAnalysis::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { - //Retrieve tracker topology from geometry - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const TrackerTopology* const tTopo = tTopoHandle.product(); - - //geometry - iSetup.get().get(tracker_); + const auto& tTopo = iSetup.getData(tTopoToken_); + tracker_ = iSetup.getHandle(tkGeomToken_); //HLT names bool changed(true); @@ -1044,7 +1045,7 @@ void TrackerDpgAnalysis::beginRun(const edm::Run& iRun, const edm::EventSetup& i TrackerMap tmap("Delays"); // cabling I (readout) - iSetup.get().get(cabling_); + cabling_ = iSetup.getHandle(fedCablingToken_); auto feds = cabling_->fedIds(); for (auto fedid = feds.begin(); fedid < feds.end(); ++fedid) { auto connections = cabling_->fedConnections(*fedid); @@ -1370,7 +1371,7 @@ void TrackerDpgAnalysis::insertMeasurement( } } -std::string TrackerDpgAnalysis::toStringName(uint32_t rawid, const TrackerTopology* tTopo) { +std::string TrackerDpgAnalysis::toStringName(uint32_t rawid, const TrackerTopology& tTopo) { SiStripDetId detid(rawid); std::string out; std::stringstream output; @@ -1378,72 +1379,72 @@ std::string TrackerDpgAnalysis::toStringName(uint32_t rawid, const TrackerTopolo case 3: { output << "TIB"; - output << (tTopo->tibIsZPlusSide(rawid) ? "+" : "-"); + output << (tTopo.tibIsZPlusSide(rawid) ? "+" : "-"); output << " layer "; - output << tTopo->tibLayer(rawid); + output << tTopo.tibLayer(rawid); output << ", string "; - output << tTopo->tibString(rawid); - output << (tTopo->tibIsExternalString(rawid) ? " external" : " internal"); + output << tTopo.tibString(rawid); + output << (tTopo.tibIsExternalString(rawid) ? " external" : " internal"); output << ", module "; - output << tTopo->tibModule(rawid); - if (tTopo->tibIsDoubleSide(rawid)) { + output << tTopo.tibModule(rawid); + if (tTopo.tibIsDoubleSide(rawid)) { output << " (double)"; } else { - output << (tTopo->tibIsRPhi(rawid) ? " (rphi)" : " (stereo)"); + output << (tTopo.tibIsRPhi(rawid) ? " (rphi)" : " (stereo)"); } break; } case 4: { output << "TID"; - output << (tTopo->tidIsZPlusSide(rawid) ? "+" : "-"); + output << (tTopo.tidIsZPlusSide(rawid) ? "+" : "-"); output << " disk "; - output << tTopo->tidWheel(rawid); + output << tTopo.tidWheel(rawid); output << ", ring "; - output << tTopo->tidRing(rawid); - output << (tTopo->tidIsFrontRing(rawid) ? " front" : " back"); + output << tTopo.tidRing(rawid); + output << (tTopo.tidIsFrontRing(rawid) ? " front" : " back"); output << ", module "; - output << tTopo->tidModule(rawid); - if (tTopo->tidIsDoubleSide(rawid)) { + output << tTopo.tidModule(rawid); + if (tTopo.tidIsDoubleSide(rawid)) { output << " (double)"; } else { - output << (tTopo->tidIsRPhi(rawid) ? " (rphi)" : " (stereo)"); + output << (tTopo.tidIsRPhi(rawid) ? " (rphi)" : " (stereo)"); } break; } case 5: { output << "TOB"; - output << (tTopo->tobIsZPlusSide(rawid) ? "+" : "-"); + output << (tTopo.tobIsZPlusSide(rawid) ? "+" : "-"); output << " layer "; - output << tTopo->tobLayer(rawid); + output << tTopo.tobLayer(rawid); output << ", rod "; - output << tTopo->tobRod(rawid); + output << tTopo.tobRod(rawid); output << ", module "; - output << tTopo->tobModule(rawid); - if (tTopo->tobIsDoubleSide(rawid)) { + output << tTopo.tobModule(rawid); + if (tTopo.tobIsDoubleSide(rawid)) { output << " (double)"; } else { - output << (tTopo->tobIsRPhi(rawid) ? " (rphi)" : " (stereo)"); + output << (tTopo.tobIsRPhi(rawid) ? " (rphi)" : " (stereo)"); } break; } case 6: { output << "TEC"; - output << (tTopo->tecIsZPlusSide(rawid) ? "+" : "-"); + output << (tTopo.tecIsZPlusSide(rawid) ? "+" : "-"); output << " disk "; - output << tTopo->tecWheel(rawid); + output << tTopo.tecWheel(rawid); output << " sector "; - output << tTopo->tecPetalNumber(rawid); - output << (tTopo->tecIsFrontPetal(rawid) ? " Front Petal" : " Back Petal"); + output << tTopo.tecPetalNumber(rawid); + output << (tTopo.tecIsFrontPetal(rawid) ? " Front Petal" : " Back Petal"); output << ", module "; - output << tTopo->tecRing(rawid); - output << tTopo->tecModule(rawid); - if (tTopo->tecIsDoubleSide(rawid)) { + output << tTopo.tecRing(rawid); + output << tTopo.tecModule(rawid); + if (tTopo.tecIsDoubleSide(rawid)) { output << " (double)"; } else { - output << (tTopo->tecIsRPhi(rawid) ? " (rphi)" : " (stereo)"); + output << (tTopo.tecIsRPhi(rawid) ? " (rphi)" : " (stereo)"); } break; } diff --git a/DPGAnalysis/SiStripTools/src/EventWithHistoryFilter.cc b/DPGAnalysis/SiStripTools/src/EventWithHistoryFilter.cc index 8448fb3b06818..ecb903deacfb1 100644 --- a/DPGAnalysis/SiStripTools/src/EventWithHistoryFilter.cc +++ b/DPGAnalysis/SiStripTools/src/EventWithHistoryFilter.cc @@ -1,11 +1,8 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" //#include "DPGAnalysis/SiStripTools/interface/APVLatency.h" //#include "DPGAnalysis/SiStripTools/interface/APVLatencyRcd.h" -#include "CondFormats/SiStripObjects/interface/SiStripLatency.h" -#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" //#include "FWCore/Utilities/interface/Exception.h" @@ -38,6 +35,7 @@ EventWithHistoryFilter::EventWithHistoryFilter(const edm::ParameterSet& iConfig, m_partition(iConfig.getUntrackedParameter("partitionName", "Any")), m_APVPhaseToken(iC.consumes( edm::InputTag(iConfig.getUntrackedParameter("APVPhaseLabel", "APVPhases")))), + m_apvLatencyToken(iC.esConsumes()), m_apvmodes(iConfig.getUntrackedParameter >("apvModes", std::vector())), m_dbxrange(iConfig.getUntrackedParameter >("dbxRange", std::vector())), m_dbxrangelat(iConfig.getUntrackedParameter >("dbxRangeLtcyAware", std::vector())), @@ -66,6 +64,7 @@ void EventWithHistoryFilter::set(const edm::ParameterSet& iConfig, edm::Consumes m_partition = iConfig.getUntrackedParameter("partitionName", "Any"); m_APVPhaseToken = iC.consumes( edm::InputTag(iConfig.getUntrackedParameter("APVPhaseLabel", "APVPhases"))); + m_apvLatencyToken = iC.esConsumes(); m_dbxrange = iConfig.getUntrackedParameter >("dbxRange", std::vector()); m_dbxrangelat = iConfig.getUntrackedParameter >("dbxRangeLtcyAware", std::vector()); m_bxrange = iConfig.getUntrackedParameter >("absBXRange", std::vector()); @@ -185,9 +184,8 @@ const int EventWithHistoryFilter::getAPVLatency(const edm::EventSetup& iSetup) c if (isAPVLatencyNotNeeded()) return -1; - edm::ESHandle apvlat; - iSetup.get().get(apvlat); - const int latency = apvlat->singleLatency() != 255 ? apvlat->singleLatency() : -1; + const auto& apvlat = iSetup.getData(m_apvLatencyToken); + const int latency = apvlat.singleLatency() != 255 ? apvlat.singleLatency() : -1; // thrown an exception if latency value is invalid /* @@ -202,12 +200,11 @@ const int EventWithHistoryFilter::getAPVMode(const edm::EventSetup& iSetup) cons if (isAPVModeNotNeeded()) return -1; - edm::ESHandle apvlat; - iSetup.get().get(apvlat); + const auto& apvlat = iSetup.getData(m_apvLatencyToken); int mode = -1; - if (apvlat->singleReadOutMode() == 1) + if (apvlat.singleReadOutMode() == 1) mode = 47; - if (apvlat->singleReadOutMode() == 0) + if (apvlat.singleReadOutMode() == 0) mode = 37; // thrown an exception if mode value is invalid From 258b00a7ec617d8a8c4abc3b81dcf57f3916a83f Mon Sep 17 00:00:00 2001 From: Pieter David Date: Mon, 12 Oct 2020 09:14:00 +0200 Subject: [PATCH 13/22] esConsumes migration for CondTools/SiStrip --- CondTools/SiStrip/plugins/SealModules.cc | 3 -- .../SiStrip/plugins/SiStripApvGainReader.cc | 18 +++---- .../SiStrip/plugins/SiStripApvGainReader.h | 7 ++- .../SiStrip/plugins/SiStripApvGainRescaler.cc | 31 ++++++----- .../SiStripApvSimulationParametersBuilder.cc | 10 ++-- .../SiStrip/plugins/SiStripBadStripReader.cc | 53 ++++++++++++------- .../SiStrip/plugins/SiStripBadStripReader.h | 27 ---------- .../plugins/SiStripCablingTrackerMap.cc | 8 +-- .../plugins/SiStripCablingTrackerMap.h | 2 +- .../SiStripChannelGainFromDBMiscalibrator.cc | 19 +++---- .../plugins/SiStripDetVOffFakeBuilder.cc | 10 ++-- .../plugins/SiStripDetVOffFakeBuilder.h | 4 ++ .../SiStrip/plugins/SiStripDetVOffReader.cc | 14 +++-- .../SiStrip/plugins/SiStripDetVOffReader.h | 3 ++ .../plugins/SiStripFedCablingBuilder.cc | 32 +++++------ .../plugins/SiStripFedCablingBuilder.h | 14 +++++ .../plugins/SiStripFedCablingReader.cc | 29 +++++----- .../SiStrip/plugins/SiStripFedCablingReader.h | 14 +++++ .../plugins/SiStripLorentzAngleReader.cc | 9 ++-- .../plugins/SiStripLorentzAngleReader.h | 4 ++ .../SiStripNoisesFromDBMiscalibrator.cc | 19 +++---- .../SiStrip/plugins/SiStripNoisesReader.cc | 13 +++-- .../SiStrip/plugins/SiStripNoisesReader.h | 1 + .../SiStrip/plugins/SiStripPedestalsReader.cc | 11 ++-- .../SiStrip/plugins/SiStripPedestalsReader.h | 1 + .../SiStrip/plugins/SiStripSummaryReader.cc | 12 ++--- .../SiStrip/plugins/SiStripSummaryReader.h | 4 ++ .../SiStrip/plugins/SiStripThresholdReader.cc | 11 ++-- .../SiStrip/plugins/SiStripThresholdReader.h | 1 + 29 files changed, 199 insertions(+), 185 deletions(-) delete mode 100644 CondTools/SiStrip/plugins/SiStripBadStripReader.h diff --git a/CondTools/SiStrip/plugins/SealModules.cc b/CondTools/SiStrip/plugins/SealModules.cc index ca2c1283600cf..82d8357c0968c 100644 --- a/CondTools/SiStrip/plugins/SealModules.cc +++ b/CondTools/SiStrip/plugins/SealModules.cc @@ -32,9 +32,6 @@ DEFINE_FWK_MODULE(SiStripBadChannelBuilder); #include "CondTools/SiStrip/plugins/SiStripBadFiberBuilder.h" DEFINE_FWK_MODULE(SiStripBadFiberBuilder); -#include "CondTools/SiStrip/plugins/SiStripBadStripReader.h" -DEFINE_FWK_MODULE(SiStripBadStripReader); - #include "CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.h" DEFINE_FWK_MODULE(SiStripDetVOffFakeBuilder); diff --git a/CondTools/SiStrip/plugins/SiStripApvGainReader.cc b/CondTools/SiStrip/plugins/SiStripApvGainReader.cc index 2961588b1d807..2686023b83615 100644 --- a/CondTools/SiStrip/plugins/SiStripApvGainReader.cc +++ b/CondTools/SiStrip/plugins/SiStripApvGainReader.cc @@ -1,7 +1,6 @@ #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" #include "CondFormats/DataRecord/interface/SiStripApvGainRcd.h" #include "CalibFormats/SiStripObjects/interface/SiStripGain.h" -#include "CalibTracker/Records/interface/SiStripGainRcd.h" #include "CondTools/SiStrip/plugins/SiStripApvGainReader.h" @@ -15,7 +14,7 @@ SiStripApvGainReader::SiStripApvGainReader(const edm::ParameterSet& iConfig) : printdebug_(iConfig.getUntrackedParameter("printDebug", true)), formatedOutput_(iConfig.getUntrackedParameter("outputFile", "")), gainType_(iConfig.getUntrackedParameter("gainType", 1)), - tree_(nullptr) { + gainToken_(esConsumes()) { if (fs_.isAvailable()) { tree_ = fs_->make("Gains", "Gains"); @@ -29,29 +28,28 @@ SiStripApvGainReader::SiStripApvGainReader(const edm::ParameterSet& iConfig) SiStripApvGainReader::~SiStripApvGainReader() {} void SiStripApvGainReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripApvGain_; - iSetup.get().get(SiStripApvGain_); + const auto& stripApvGain = iSetup.getData(gainToken_); edm::LogInfo("SiStripApvGainReader") << "[SiStripApvGainReader::analyze] End Reading SiStripApvGain" << std::endl; std::vector detid; - SiStripApvGain_->getDetIds(detid); + stripApvGain.getDetIds(detid); edm::LogInfo("Number of detids ") << detid.size() << std::endl; FILE* pFile = nullptr; if (!formatedOutput_.empty()) pFile = fopen(formatedOutput_.c_str(), "w"); for (size_t id = 0; id < detid.size(); id++) { - SiStripApvGain::Range range = SiStripApvGain_->getRange(detid[id], gainType_); + SiStripApvGain::Range range = stripApvGain.getRange(detid[id], gainType_); if (printdebug_) { int apv = 0; for (int it = 0; it < range.second - range.first; it++) { - edm::LogInfo("SiStripApvGainReader") << "detid " << detid[id] << " \t " << apv++ << " \t " - << SiStripApvGain_->getApvGain(it, range) << std::endl; + edm::LogInfo("SiStripApvGainReader") + << "detid " << detid[id] << " \t " << apv++ << " \t " << stripApvGain.getApvGain(it, range) << std::endl; id_++; if (tree_) { detId_ = detid[id]; apvId_ = apv; - gain_ = SiStripApvGain_->getApvGain(it, range); + gain_ = stripApvGain.getApvGain(it, range); tree_->Fill(); } } @@ -60,7 +58,7 @@ void SiStripApvGainReader::analyze(const edm::Event& e, const edm::EventSetup& i if (pFile) { fprintf(pFile, "%i ", detid[id]); for (int it = 0; it < range.second - range.first; it++) { - fprintf(pFile, "%f ", SiStripApvGain_->getApvGain(it, range)); + fprintf(pFile, "%f ", stripApvGain.getApvGain(it, range)); } fprintf(pFile, "\n"); } diff --git a/CondTools/SiStrip/plugins/SiStripApvGainReader.h b/CondTools/SiStrip/plugins/SiStripApvGainReader.h index fb7079205d7ad..627fee902642b 100644 --- a/CondTools/SiStrip/plugins/SiStripApvGainReader.h +++ b/CondTools/SiStrip/plugins/SiStripApvGainReader.h @@ -9,11 +9,11 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CommonTools/UtilAlgos/interface/TFileService.h" +#include "CalibTracker/Records/interface/SiStripGainRcd.h" // root objects #include "TROOT.h" @@ -22,6 +22,8 @@ #include "TDirectory.h" #include "TTree.h" +class SiStripGain; + class SiStripApvGainReader : public edm::EDAnalyzer { public: explicit SiStripApvGainReader(const edm::ParameterSet&); @@ -33,8 +35,9 @@ class SiStripApvGainReader : public edm::EDAnalyzer { bool printdebug_; std::string formatedOutput_; uint32_t gainType_; + edm::ESGetToken gainToken_; edm::Service fs_; - TTree* tree_; + TTree* tree_ = nullptr; int id_ = 0, detId_ = 0, apvId_ = 0; double gain_ = 0; }; diff --git a/CondTools/SiStrip/plugins/SiStripApvGainRescaler.cc b/CondTools/SiStrip/plugins/SiStripApvGainRescaler.cc index 16a7770936cee..a624d035ca80b 100644 --- a/CondTools/SiStrip/plugins/SiStripApvGainRescaler.cc +++ b/CondTools/SiStrip/plugins/SiStripApvGainRescaler.cc @@ -28,7 +28,6 @@ #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "CondFormats/SiStripObjects/interface/SiStripApvGain.h" #include "CondFormats/DataRecord/interface/SiStripApvGainRcd.h" @@ -58,13 +57,18 @@ class SiStripApvGainRescaler : public edm::one::EDAnalyzer<> { // ----------member data --------------------------- const std::string m_Record; + + // take G2_old and G1_old from the regular gain handle + edm::ESGetToken g1g2Token_; + // take the additional G1_new from the Gain3Rcd (dirty trick) + edm::ESGetToken g3Token_; }; // // constructors and destructor // SiStripApvGainRescaler::SiStripApvGainRescaler(const edm::ParameterSet& iConfig) - : m_Record(iConfig.getParameter("Record")) { + : m_Record(iConfig.getParameter("Record")), g1g2Token_(esConsumes()), g3Token_(esConsumes()) { //now do what ever initialization is needed } @@ -81,22 +85,17 @@ SiStripApvGainRescaler::~SiStripApvGainRescaler() { void SiStripApvGainRescaler::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - // take G2_old and G1_old from the regular gain handle - edm::ESHandle g1g2Handle_; - iSetup.get().get(g1g2Handle_); - - // take the additional G1_new from the Gain3Rcd (dirty trick) - edm::ESHandle g3Handle_; - iSetup.get().get(g3Handle_); + const auto& g1g2 = iSetup.getData(g1g2Token_); + const auto& g3 = iSetup.getData(g3Token_); std::map, float> theMap; std::vector detid; - g1g2Handle_->getDetIds(detid); + g1g2.getDetIds(detid); for (const auto& d : detid) { - SiStripApvGain::Range rangeG1_old = g1g2Handle_->getRange(d, 0); - SiStripApvGain::Range rangeG2_old = g1g2Handle_->getRange(d, 1); - SiStripApvGain::Range rangeG1_new = g3Handle_->getRange(d); + SiStripApvGain::Range rangeG1_old = g1g2.getRange(d, 0); + SiStripApvGain::Range rangeG2_old = g1g2.getRange(d, 1); + SiStripApvGain::Range rangeG1_new = g3.getRange(d); int nAPV = 0; for (int it = 0; it < rangeG1_old.second - rangeG1_old.first; it++) { @@ -104,10 +103,10 @@ void SiStripApvGainRescaler::analyze(const edm::Event& iEvent, const edm::EventS std::pair index = std::make_pair(d, nAPV); - float G1_old = g1g2Handle_->getApvGain(it, rangeG1_old); - float G2_old = g1g2Handle_->getApvGain(it, rangeG2_old); + float G1_old = g1g2.getApvGain(it, rangeG1_old); + float G2_old = g1g2.getApvGain(it, rangeG2_old); float G1G2_old = G1_old * G2_old; - float G1_new = g3Handle_->getApvGain(it, rangeG1_new); + float G1_new = g3.getApvGain(it, rangeG1_new); // this is based on G1_old*G2_old = G1_new * G2_new ==> G2_new = (G1_old*G2_old)/G1_new diff --git a/CondTools/SiStrip/plugins/SiStripApvSimulationParametersBuilder.cc b/CondTools/SiStrip/plugins/SiStripApvSimulationParametersBuilder.cc index 577b463aa5659..6863d9bf59e58 100644 --- a/CondTools/SiStrip/plugins/SiStripApvSimulationParametersBuilder.cc +++ b/CondTools/SiStrip/plugins/SiStripApvSimulationParametersBuilder.cc @@ -6,18 +6,18 @@ class SiStripApvSimulationParametersBuilder : public edm::one::EDAnalyzer<> { public: - explicit SiStripApvSimulationParametersBuilder(const edm::ParameterSet& iConfig) {} + explicit SiStripApvSimulationParametersBuilder(const edm::ParameterSet& iConfig) : m_parametersToken(esConsumes()) {} ~SiStripApvSimulationParametersBuilder() override {} void analyze(const edm::Event&, const edm::EventSetup&) override; + +private: + edm::ESGetToken m_parametersToken; }; void SiStripApvSimulationParametersBuilder::analyze(const edm::Event&, const edm::EventSetup& evtSetup) { - edm::ESHandle objHandle; - evtSetup.get().get(objHandle); - // copy; DB service needs non-const pointer but does not take ownership - auto obj = std::make_unique(*objHandle); + auto obj = std::make_unique(evtSetup.getData(m_parametersToken)); edm::Service mydbservice; if (mydbservice.isAvailable()) { diff --git a/CondTools/SiStrip/plugins/SiStripBadStripReader.cc b/CondTools/SiStrip/plugins/SiStripBadStripReader.cc index 78c584341711e..2bb881dead7ef 100644 --- a/CondTools/SiStrip/plugins/SiStripBadStripReader.cc +++ b/CondTools/SiStrip/plugins/SiStripBadStripReader.cc @@ -1,40 +1,57 @@ -#include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" #include "CondFormats/DataRecord/interface/SiStripBadStripRcd.h" - -#include "CondTools/SiStrip/plugins/SiStripBadStripReader.h" +#include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h" #include #include #include -SiStripBadStripReader::SiStripBadStripReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)) {} +class SiStripBadStripReader : public edm::EDAnalyzer { +public: + explicit SiStripBadStripReader(const edm::ParameterSet& iConfig) + : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)), badStripToken_(esConsumes()) {} + + ~SiStripBadStripReader() override; + + void analyze(const edm::Event&, const edm::EventSetup&) override; + +private: + uint32_t printdebug_; + edm::ESGetToken badStripToken_; +}; SiStripBadStripReader::~SiStripBadStripReader() {} void SiStripBadStripReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripBadStrip_; - iSetup.get().get(SiStripBadStrip_); + const auto& badStrip = iSetup.getData(badStripToken_); edm::LogInfo("SiStripBadStripReader") << "[SiStripBadStripReader::analyze] End Reading SiStripBadStrip" << std::endl; std::vector detid; - SiStripBadStrip_->getDetIds(detid); + badStrip.getDetIds(detid); if (printdebug_) for (size_t id = 0; id < detid.size(); id++) { - SiStripBadStrip::Range range = SiStripBadStrip_->getRange(detid[id]); + SiStripBadStrip::Range range = badStrip.getRange(detid[id]); for (int it = 0; it < range.second - range.first; it++) { unsigned int value = (*(range.first + it)); - edm::LogInfo("SiStripBadStripReader") - << "detid " << detid[id] << " \t" - << " firstBadStrip " << SiStripBadStrip_->decode(value).firstStrip << "\t " - << " NconsecutiveBadStrips " << SiStripBadStrip_->decode(value).range << "\t " - << " flag " << SiStripBadStrip_->decode(value).flag << "\t " - << " packed integer " << std::hex << value << std::dec - << "\t " - //<< SiStripBadStrip_->getBadStrips(range) << " \t" - << std::endl; + edm::LogInfo("SiStripBadStripReader") << "detid " << detid[id] << " \t" + << " firstBadStrip " << badStrip.decode(value).firstStrip << "\t " + << " NconsecutiveBadStrips " << badStrip.decode(value).range << "\t " + << " flag " << badStrip.decode(value).flag << "\t " + << " packed integer " << std::hex << value << std::dec + << "\t " + //<< badStrip.getBadStrips(range) << " \t" + << std::endl; } } } + +#include "FWCore/PluginManager/interface/ModuleDef.h" +#include "FWCore/Framework/interface/MakerMacros.h" +DEFINE_FWK_MODULE(SiStripBadStripReader); diff --git a/CondTools/SiStrip/plugins/SiStripBadStripReader.h b/CondTools/SiStrip/plugins/SiStripBadStripReader.h deleted file mode 100644 index 83bb5a4be8488..0000000000000 --- a/CondTools/SiStrip/plugins/SiStripBadStripReader.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef SiStripBadStripReader_H -#define SiStripBadStripReader_H - -// system include files -//#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -class SiStripBadStripReader : public edm::EDAnalyzer { -public: - explicit SiStripBadStripReader(const edm::ParameterSet&); - ~SiStripBadStripReader() override; - - void analyze(const edm::Event&, const edm::EventSetup&) override; - -private: - uint32_t printdebug_; -}; -#endif diff --git a/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.cc b/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.cc index 668a5993d59a7..e819db9d53025 100644 --- a/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.cc +++ b/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.cc @@ -3,12 +3,12 @@ #include -SiStripCablingTrackerMap::SiStripCablingTrackerMap(edm::ParameterSet const& conf) : conf_(conf) {} +SiStripCablingTrackerMap::SiStripCablingTrackerMap(edm::ParameterSet const& conf) + : conf_(conf), detCablingToken_(esConsumes()) {} SiStripCablingTrackerMap::~SiStripCablingTrackerMap() {} void SiStripCablingTrackerMap::beginRun(const edm::Run& run, const edm::EventSetup& es) { - es.get().get(SiStripDetCabling_); tkMap_detCab = new TrackerMap("DetCabling"); } @@ -21,12 +21,12 @@ void SiStripCablingTrackerMap::endJob() { //------------------------------------------------------------------------------------------ void SiStripCablingTrackerMap::analyze(const edm::Event& e, const edm::EventSetup& es) { - es.get().get(SiStripDetCabling_); + const auto& detCabling = es.getData(detCablingToken_); //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // get list of active detectors from SiStripDetCabling //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& std::vector vdetId_; - SiStripDetCabling_->addActiveDetectorsRawIds(vdetId_); + detCabling.addActiveDetectorsRawIds(vdetId_); for (std::vector::const_iterator detid_iter = vdetId_.begin(); detid_iter != vdetId_.end(); detid_iter++) { uint32_t detid = *detid_iter; tkMap_detCab->fill(detid, 1); diff --git a/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.h b/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.h index e1df300025991..b9c0471a003d5 100644 --- a/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.h +++ b/CondTools/SiStrip/plugins/SiStripCablingTrackerMap.h @@ -26,7 +26,7 @@ class SiStripCablingTrackerMap : public edm::EDAnalyzer { private: edm::ParameterSet conf_; - edm::ESHandle SiStripDetCabling_; + edm::ESGetToken detCablingToken_; TrackerMap* tkMap_detCab; //0 for onTrack, 1 for offTrack, 2 for All }; diff --git a/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc b/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc index bf577cb5ae165..6135a243adc52 100644 --- a/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc +++ b/CondTools/SiStrip/plugins/SiStripChannelGainFromDBMiscalibrator.cc @@ -65,6 +65,8 @@ class SiStripChannelGainFromDBMiscalibrator : public edm::one::EDAnalyzer<> { const uint32_t m_gainType; const bool m_saveMaps; const std::vector m_parameters; + edm::ESGetToken gainToken_; + edm::ESGetToken tTopoToken_; std::unique_ptr scale_map; std::unique_ptr smear_map; @@ -80,7 +82,9 @@ SiStripChannelGainFromDBMiscalibrator::SiStripChannelGainFromDBMiscalibrator(con : m_Record{iConfig.getUntrackedParameter("record", "SiStripApvGainRcd")}, m_gainType{iConfig.getUntrackedParameter("gainType", 1)}, m_saveMaps{iConfig.getUntrackedParameter("saveMaps", true)}, - m_parameters{iConfig.getParameter >("params")} { + m_parameters{iConfig.getParameter >("params")}, + gainToken_(esConsumes()), + tTopoToken_(esConsumes()) { //now do what ever initialization is needed std::string ss_gain = (m_gainType > 0) ? "G2" : "G1"; @@ -116,9 +120,7 @@ SiStripChannelGainFromDBMiscalibrator::~SiStripChannelGainFromDBMiscalibrator() void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const auto* const tTopo = tTopoHandle.product(); + const auto* const tTopo = &iSetup.getData(tTopoToken_); std::vector partitions; @@ -147,15 +149,14 @@ void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, co mapOfSmearings[region] = params; } - edm::ESHandle SiStripApvGain_; - iSetup.get().get(SiStripApvGain_); + const auto& apvGain = iSetup.getData(gainToken_); std::map, float> theMap, oldPayloadMap; std::vector detid; - SiStripApvGain_->getDetIds(detid); + apvGain.getDetIds(detid); for (const auto& d : detid) { - SiStripApvGain::Range range = SiStripApvGain_->getRange(d, m_gainType); + SiStripApvGain::Range range = apvGain.getRange(d, m_gainType); float nAPV = 0; auto regions = SiStripMiscalibrate::getRegionsFromDetId(tTopo, d); @@ -183,7 +184,7 @@ void SiStripChannelGainFromDBMiscalibrator::analyze(const edm::Event& iEvent, co for (int it = 0; it < range.second - range.first; it++) { nAPV += 1; - float Gain = SiStripApvGain_->getApvGain(it, range); + float Gain = apvGain.getApvGain(it, range); std::pair index = std::make_pair(d, nAPV); oldPayloadMap[index] = Gain; diff --git a/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.cc b/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.cc index 73e2f589ee5dc..b1e35a3ba7f3f 100644 --- a/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.cc +++ b/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.cc @@ -8,7 +8,6 @@ #include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" @@ -19,16 +18,15 @@ using namespace std; using namespace cms; SiStripDetVOffFakeBuilder::SiStripDetVOffFakeBuilder(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", false)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", false)), tkGeomToken_(esConsumes()) {} SiStripDetVOffFakeBuilder::~SiStripDetVOffFakeBuilder() {} void SiStripDetVOffFakeBuilder::initialize(const edm::EventSetup& iSetup) { - edm::ESHandle pDD; - iSetup.get().get(pDD); - edm::LogInfo("SiStripDetVOffFakeBuilder") << " There are " << pDD->detUnits().size() << " detectors" << std::endl; + const auto& tkGeom = iSetup.getData(tkGeomToken_); + edm::LogInfo("SiStripDetVOffFakeBuilder") << " There are " << tkGeom.detUnits().size() << " detectors" << std::endl; - for (const auto& it : pDD->detUnits()) { + for (const auto& it : tkGeom.detUnits()) { if (dynamic_cast(it) != nullptr) { uint32_t detid = (it->geographicalId()).rawId(); const StripTopology& p = dynamic_cast(it)->specificTopology(); diff --git a/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.h b/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.h index 2a3c784cfe887..c0b0e000a6bbe 100644 --- a/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.h +++ b/CondTools/SiStrip/plugins/SiStripDetVOffFakeBuilder.h @@ -9,6 +9,9 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" + +class TrackerGeometry; class SiStripDetVOffFakeBuilder : public edm::EDAnalyzer { public: @@ -22,6 +25,7 @@ class SiStripDetVOffFakeBuilder : public edm::EDAnalyzer { private: bool printdebug_; + edm::ESGetToken tkGeomToken_; std::vector detids; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc b/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc index aba39352daea7..346c017c81136 100644 --- a/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc +++ b/CondTools/SiStrip/plugins/SiStripDetVOffReader.cc @@ -1,5 +1,4 @@ #include "CondFormats/SiStripObjects/interface/SiStripDetVOff.h" -#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" #include "CondTools/SiStrip/plugins/SiStripDetVOffReader.h" @@ -8,13 +7,12 @@ #include SiStripDetVOffReader::SiStripDetVOffReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", true)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", true)), detVOffToken_(esConsumes()) {} SiStripDetVOffReader::~SiStripDetVOffReader() {} void SiStripDetVOffReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripDetVOff_; - iSetup.get().get(SiStripDetVOff_); + const auto& detVOff = iSetup.getData(detVOffToken_); edm::LogInfo("SiStripDetVOffReader") << "[SiStripDetVOffReader::analyze] End Reading SiStripDetVOff" << std::endl; // put here a vector of DetIds to compare @@ -22,14 +20,14 @@ void SiStripDetVOffReader::analyze(const edm::Event& e, const edm::EventSetup& i // replace this code, with Your own detids std::vector detid; - SiStripDetVOff_->getDetIds(detid); + detVOff.getDetIds(detid); // if (printdebug_) { for (uint32_t id = 0; id <= detid.size(); id++) { - bool hvflag = SiStripDetVOff_->IsModuleHVOff(detid[id]); - bool lvflag = SiStripDetVOff_->IsModuleLVOff(detid[id]); - bool vflag = SiStripDetVOff_->IsModuleVOff(detid[id]); + bool hvflag = detVOff.IsModuleHVOff(detid[id]); + bool lvflag = detVOff.IsModuleLVOff(detid[id]); + bool vflag = detVOff.IsModuleVOff(detid[id]); if (hvflag == true) { edm::LogInfo("SiStripDetVOffReader") << "detid: " << detid[id] << " HV\t OFF\n"; } else { diff --git a/CondTools/SiStrip/plugins/SiStripDetVOffReader.h b/CondTools/SiStrip/plugins/SiStripDetVOffReader.h index cb0bf95dec625..82e349f9812c5 100644 --- a/CondTools/SiStrip/plugins/SiStripDetVOffReader.h +++ b/CondTools/SiStrip/plugins/SiStripDetVOffReader.h @@ -17,7 +17,9 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ServiceRegistry/interface/Service.h" +#include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h" +class SiStripDetVOff; // // // class decleration @@ -31,6 +33,7 @@ class SiStripDetVOffReader : public edm::EDAnalyzer { private: bool printdebug_; + edm::ESGetToken detVOffToken_; std::vector detids; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.cc b/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.cc index 00e2d71652ca8..1d1a3f83c2505 100644 --- a/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.cc +++ b/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.cc @@ -3,10 +3,6 @@ #include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" #include "CalibFormats/SiStripObjects/interface/SiStripRegionCabling.h" #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h" -#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripFecCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripRegionCablingRcd.h" #include "CondCore/DBOutputService/interface/PoolDBOutputService.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/Framework/interface/Run.h" @@ -19,9 +15,12 @@ SiStripFedCablingBuilder::SiStripFedCablingBuilder(const edm::ParameterSet& pset) : printFecCabling_(pset.getUntrackedParameter("PrintFecCabling", false)), printDetCabling_(pset.getUntrackedParameter("PrintDetCabling", false)), - printRegionCabling_(pset.getUntrackedParameter("PrintRegionCabling", false)) { - ; -} + printRegionCabling_(pset.getUntrackedParameter("PrintRegionCabling", false)), + fedCablingToken_(esConsumes()), + fecCablingToken_(esConsumes()), + detCablingToken_(esConsumes()), + regionCablingToken_(esConsumes()), + tTopoToken_(esConsumes()) {} // ----------------------------------------------------------------------------- // @@ -31,36 +30,31 @@ void SiStripFedCablingBuilder::beginRun(const edm::Run& run, const edm::EventSet edm::LogVerbatim("SiStripFedCablingBuilder") << "[SiStripFedCablingBuilder::" << __func__ << "]" << " Retrieving FED cabling..."; - edm::ESHandle fed; - setup.get().get(fed); + auto fed = setup.getHandle(fedCablingToken_); edm::LogVerbatim("SiStripFedCablingBuilder") << "[SiStripFedCablingBuilder::" << __func__ << "]" << " Retrieving FEC cabling..."; - edm::ESHandle fec; - setup.get().get(fec); + auto fec = setup.getHandle(fecCablingToken_); edm::LogVerbatim("SiStripFedCablingBuilder") << "[SiStripFedCablingBuilder::" << __func__ << "]" << " Retrieving DET cabling..."; - edm::ESHandle det; - setup.get().get(det); + auto det = setup.getHandle(detCablingToken_); edm::LogVerbatim("SiStripFedCablingBuilder") << "[SiStripFedCablingBuilder::" << __func__ << "]" << " Retrieving REGION cabling..."; - edm::ESHandle region; - setup.get().get(region); + auto region = setup.getHandle(regionCablingToken_); if (!fed.isValid()) { edm::LogError("SiStripFedCablingBuilder") << " Invalid handle to FED cabling object: "; return; } - edm::ESHandle tTopo; - setup.get().get(tTopo); + const auto tTopo = &setup.getData(tTopoToken_); { std::stringstream ss; ss << "[SiStripFedCablingBuilder::" << __func__ << "]" << " VERBOSE DEBUG" << std::endl; - fed->print(ss, tTopo.product()); + fed->print(ss, tTopo); ss << std::endl; if (printFecCabling_ && fec.isValid()) { fec->print(ss); @@ -90,7 +84,7 @@ void SiStripFedCablingBuilder::beginRun(const edm::Run& run, const edm::EventSet std::stringstream ss; ss << "[SiStripFedCablingBuilder::" << __func__ << "]" << " SUMMARY DEBUG" << std::endl; - fed->summary(ss, tTopo.product()); + fed->summary(ss, tTopo); ss << std::endl; edm::LogVerbatim("SiStripFedCablingBuilder") << ss.str(); } diff --git a/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.h b/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.h index f569b6686452b..f98d0523d6ab1 100644 --- a/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.h +++ b/CondTools/SiStrip/plugins/SiStripFedCablingBuilder.h @@ -5,6 +5,15 @@ #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/EDAnalyzer.h" +#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripFecCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripRegionCablingRcd.h" + +class SiStripFedCabling; +class SiStripFecCabling; +class SiStripDetCabling; +class SiStripRegionCabling; class SiStripFedCablingBuilder : public edm::EDAnalyzer { public: @@ -20,5 +29,10 @@ class SiStripFedCablingBuilder : public edm::EDAnalyzer { bool printFecCabling_; bool printDetCabling_; bool printRegionCabling_; + edm::ESGetToken fedCablingToken_; + edm::ESGetToken fecCablingToken_; + edm::ESGetToken detCablingToken_; + edm::ESGetToken regionCablingToken_; + edm::ESGetToken tTopoToken_; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripFedCablingReader.cc b/CondTools/SiStrip/plugins/SiStripFedCablingReader.cc index 8c504ad221439..9c863af42146f 100644 --- a/CondTools/SiStrip/plugins/SiStripFedCablingReader.cc +++ b/CondTools/SiStrip/plugins/SiStripFedCablingReader.cc @@ -3,10 +3,6 @@ #include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h" #include "CalibFormats/SiStripObjects/interface/SiStripRegionCabling.h" #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h" -#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripFecCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" -#include "CalibTracker/Records/interface/SiStripRegionCablingRcd.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include @@ -17,9 +13,12 @@ SiStripFedCablingReader::SiStripFedCablingReader(const edm::ParameterSet& pset) : printFecCabling_(pset.getUntrackedParameter("PrintFecCabling", false)), printDetCabling_(pset.getUntrackedParameter("PrintDetCabling", false)), - printRegionCabling_(pset.getUntrackedParameter("PrintRegionCabling", false)) { - ; -} + printRegionCabling_(pset.getUntrackedParameter("PrintRegionCabling", false)), + fedCablingToken_(esConsumes()), + fecCablingToken_(esConsumes()), + detCablingToken_(esConsumes()), + regionCablingToken_(esConsumes()), + tTopoToken_(esConsumes()) {} // ----------------------------------------------------------------------------- // @@ -33,28 +32,28 @@ void SiStripFedCablingReader::beginRun(const edm::Run& run, const edm::EventSetu if (fedRec) { edm::LogVerbatim("SiStripFedCablingReader") << "[SiStripFedCablingReader::" << __func__ << "]" << " Retrieving FED cabling..."; - fedRec->get(fed); + fed = setup.getHandle(fedCablingToken_); } edm::ESHandle fec; if (fecRec) { edm::LogVerbatim("SiStripFedCablingReader") << "[SiStripFedCablingReader::" << __func__ << "]" << " Retrieving FEC cabling..."; - fecRec->get(fec); + fec = setup.getHandle(fecCablingToken_); } edm::ESHandle det; if (detRec) { edm::LogVerbatim("SiStripFedCablingReader") << "[SiStripFedCablingReader::" << __func__ << "]" << " Retrieving DET cabling..."; - detRec->get(det); + det = setup.getHandle(detCablingToken_); } edm::ESHandle region; if (regRec) { edm::LogVerbatim("SiStripFedCablingReader") << "[SiStripFedCablingReader::" << __func__ << "]" << " Retrieving REGION cabling..."; - regRec->get(region); + region = setup.getHandle(regionCablingToken_); } if (!fed.isValid()) { @@ -67,9 +66,7 @@ void SiStripFedCablingReader::beginRun(const edm::Run& run, const edm::EventSetu ss << "[SiStripFedCablingReader::" << __func__ << "]" << " VERBOSE DEBUG" << std::endl; if (fedRec) { - edm::ESHandle tTopo; - setup.get().get(tTopo); - fed->print(ss, tTopo.product()); + fed->print(ss, &setup.getData(tTopoToken_)); } ss << std::endl; if (fecRec && printFecCabling_ && fec.isValid()) { @@ -100,9 +97,7 @@ void SiStripFedCablingReader::beginRun(const edm::Run& run, const edm::EventSetu std::stringstream ss; ss << "[SiStripFedCablingReader::" << __func__ << "]" << " SUMMARY DEBUG" << std::endl; - edm::ESHandle tTopo; - setup.get().get(tTopo); - fed->summary(ss, tTopo.product()); + fed->summary(ss, &setup.getData(tTopoToken_)); ss << std::endl; edm::LogVerbatim("SiStripFedCablingReader") << ss.str(); } diff --git a/CondTools/SiStrip/plugins/SiStripFedCablingReader.h b/CondTools/SiStrip/plugins/SiStripFedCablingReader.h index 020887bf57f8f..f6a84d0f32172 100644 --- a/CondTools/SiStrip/plugins/SiStripFedCablingReader.h +++ b/CondTools/SiStrip/plugins/SiStripFedCablingReader.h @@ -5,6 +5,15 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripFecCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripDetCablingRcd.h" +#include "CalibTracker/Records/interface/SiStripRegionCablingRcd.h" + +class SiStripFedCabling; +class SiStripFecCabling; +class SiStripDetCabling; +class SiStripRegionCabling; class SiStripFedCablingReader : public edm::EDAnalyzer { public: @@ -20,6 +29,11 @@ class SiStripFedCablingReader : public edm::EDAnalyzer { bool printFecCabling_; bool printDetCabling_; bool printRegionCabling_; + edm::ESGetToken fedCablingToken_; + edm::ESGetToken fecCablingToken_; + edm::ESGetToken detCablingToken_; + edm::ESGetToken regionCablingToken_; + edm::ESGetToken tTopoToken_; }; #endif // CondTools_SiStrip_FedCablingReader_H diff --git a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc index 427a264b1deca..463a33992211d 100644 --- a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc +++ b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc @@ -1,5 +1,4 @@ #include "CondFormats/SiStripObjects/interface/SiStripLorentzAngle.h" -#include "CondFormats/DataRecord/interface/SiStripLorentzAngleRcd.h" #include "CondTools/SiStrip/plugins/SiStripLorentzAngleReader.h" @@ -11,16 +10,16 @@ using namespace cms; SiStripLorentzAngleReader::SiStripLorentzAngleReader(const edm::ParameterSet& iConfig) : printdebug_(iConfig.getUntrackedParameter("printDebug", 5)), - label_(iConfig.getUntrackedParameter("label", "")) {} + label_(iConfig.getUntrackedParameter("label", "")), + laToken_(esConsumes(edm::ESInputTag(label_))) {} SiStripLorentzAngleReader::~SiStripLorentzAngleReader() {} void SiStripLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripLorentzAngle_; - iSetup.get().get(label_, SiStripLorentzAngle_); + const auto& lorentzAngles = iSetup.getData(laToken_); edm::LogInfo("SiStripLorentzAngleReader") << "[SiStripLorentzAngleReader::analyze] End Reading SiStripLorentzAngle with label " << label_ << std::endl; - std::map detid_la = SiStripLorentzAngle_->getLorentzAngles(); + std::map detid_la = lorentzAngles.getLorentzAngles(); std::map::const_iterator it; size_t count = 0; for (it = detid_la.begin(); it != detid_la.end() && count < printdebug_; it++) { diff --git a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.h b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.h index 5356c60949320..84bcb0e1a4a2b 100644 --- a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.h +++ b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.h @@ -13,6 +13,9 @@ #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "CondFormats/DataRecord/interface/SiStripLorentzAngleRcd.h" + +class SiStripLorentzAngle; // // @@ -28,6 +31,7 @@ class SiStripLorentzAngleReader : public edm::EDAnalyzer { private: uint32_t printdebug_; std::string label_; + edm::ESGetToken laToken_; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc b/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc index ab88fb748c7d2..d5b510f0322b8 100644 --- a/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc +++ b/CondTools/SiStrip/plugins/SiStripNoisesFromDBMiscalibrator.cc @@ -68,6 +68,8 @@ class SiStripNoisesFromDBMiscalibrator : public edm::one::EDAnalyzer<> { const bool m_saveMaps; const std::vector m_parameters; edm::FileInPath fp_; + edm::ESGetToken m_tTopoToken; + edm::ESGetToken m_noiseToken; std::unique_ptr scale_map; std::unique_ptr smear_map; @@ -85,7 +87,9 @@ SiStripNoisesFromDBMiscalibrator::SiStripNoisesFromDBMiscalibrator(const edm::Pa m_saveMaps{iConfig.getUntrackedParameter("saveMaps", true)}, m_parameters{iConfig.getParameter >("params")}, fp_{iConfig.getUntrackedParameter( - "file", edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))} { + "file", edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"))}, + m_tTopoToken(esConsumes()), + m_noiseToken(esConsumes()) { //now do what ever initialization is needed scale_map = std::make_unique("scale"); @@ -125,9 +129,7 @@ SiStripNoisesFromDBMiscalibrator::~SiStripNoisesFromDBMiscalibrator() {} void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { using namespace edm; - edm::ESHandle tTopoHandle; - iSetup.get().get(tTopoHandle); - const auto* const tTopo = tTopoHandle.product(); + const auto tTopo = &iSetup.getData(m_tTopoToken); std::vector partitions; @@ -156,15 +158,14 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e mapOfSmearings[region] = params; } - edm::ESHandle SiStripNoise_; - iSetup.get().get(SiStripNoise_); + const auto& stripNoises = iSetup.getData(m_noiseToken); std::map, float> theMap, oldPayloadMap; std::vector detid; - SiStripNoise_->getDetIds(detid); + stripNoises.getDetIds(detid); for (const auto& d : detid) { - SiStripNoises::Range range = SiStripNoise_->getRange(d); + SiStripNoises::Range range = stripNoises.getRange(d); auto regions = SiStripMiscalibrate::getRegionsFromDetId(tTopo, d); @@ -191,7 +192,7 @@ void SiStripNoisesFromDBMiscalibrator::analyze(const edm::Event& iEvent, const e int nStrips = 0; for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { - auto noise = SiStripNoise_->getNoise(it, range); + auto noise = stripNoises.getNoise(it, range); std::pair index = std::make_pair(d, nStrips); oldPayloadMap[index] = noise; diff --git a/CondTools/SiStrip/plugins/SiStripNoisesReader.cc b/CondTools/SiStrip/plugins/SiStripNoisesReader.cc index 0f3e78242b5cb..5fd801f68f0f7 100644 --- a/CondTools/SiStrip/plugins/SiStripNoisesReader.cc +++ b/CondTools/SiStrip/plugins/SiStripNoisesReader.cc @@ -3,29 +3,28 @@ using namespace cms; SiStripNoisesReader::SiStripNoisesReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)), noisesToken_(esConsumes()) {} SiStripNoisesReader::~SiStripNoisesReader() {} void SiStripNoisesReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripNoises_; - iSetup.get().get(SiStripNoises_); + const auto& stripNoises = iSetup.getData(noisesToken_); edm::LogInfo("SiStripNoisesReader") << "[SiStripNoisesReader::analyze] End Reading SiStripNoises" << std::endl; std::vector detid; - SiStripNoises_->getDetIds(detid); + stripNoises.getDetIds(detid); edm::LogInfo("Number of detids ") << detid.size() << std::endl; if (printdebug_) for (size_t id = 0; id < detid.size() && id < printdebug_; id++) { - SiStripNoises::Range range = SiStripNoises_->getRange(detid[id]); + SiStripNoises::Range range = stripNoises.getRange(detid[id]); int strip = 0; for (int it = 0; it < (range.second - range.first) * 8 / 9; it++) { edm::LogInfo("SiStripNoisesReader") << "detid " << detid[id] << " \t" - << " strip " << strip++ << " \t" << SiStripNoises_->getNoise(it, range) + << " strip " << strip++ << " \t" << stripNoises.getNoise(it, range) << " \t" - //<< SiStripNoises_->getDisable(it,range) << " \t" + //<< stripNoises.getDisable(it,range) << " \t" << std::endl; } } diff --git a/CondTools/SiStrip/plugins/SiStripNoisesReader.h b/CondTools/SiStrip/plugins/SiStripNoisesReader.h index 8ffab5e69f2ae..d811148f60638 100644 --- a/CondTools/SiStrip/plugins/SiStripNoisesReader.h +++ b/CondTools/SiStrip/plugins/SiStripNoisesReader.h @@ -31,5 +31,6 @@ class SiStripNoisesReader : public edm::EDAnalyzer { private: uint32_t printdebug_; + edm::ESGetToken noisesToken_; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripPedestalsReader.cc b/CondTools/SiStrip/plugins/SiStripPedestalsReader.cc index 1ce443e7e518f..1b00144225ece 100644 --- a/CondTools/SiStrip/plugins/SiStripPedestalsReader.cc +++ b/CondTools/SiStrip/plugins/SiStripPedestalsReader.cc @@ -4,29 +4,28 @@ using namespace std; using namespace cms; SiStripPedestalsReader::SiStripPedestalsReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)), pedestalsToken_(esConsumes()) {} SiStripPedestalsReader::~SiStripPedestalsReader() {} void SiStripPedestalsReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripPedestals_; - iSetup.get().get(SiStripPedestals_); + const auto& pedestals = iSetup.getData(pedestalsToken_); edm::LogInfo("SiStripPedestalsReader") << "[SiStripPedestalsReader::analyze] End Reading SiStripPedestals" << std::endl; std::vector detid; - SiStripPedestals_->getDetIds(detid); + pedestals.getDetIds(detid); edm::LogInfo("Number of detids ") << detid.size() << std::endl; if (printdebug_) for (size_t id = 0; id < detid.size() && id < printdebug_; id++) { - SiStripPedestals::Range range = SiStripPedestals_->getRange(detid[id]); + SiStripPedestals::Range range = pedestals.getRange(detid[id]); int strip = 0; for (int it = 0; it < (range.second - range.first) * 8 / 10; it++) { edm::LogInfo("SiStripPedestalsReader") << "detid " << detid[id] << " \t" - << " strip " << strip++ << " \t" << SiStripPedestals_->getPed(it, range) << " \t" << std::endl; + << " strip " << strip++ << " \t" << pedestals.getPed(it, range) << " \t" << std::endl; } } } diff --git a/CondTools/SiStrip/plugins/SiStripPedestalsReader.h b/CondTools/SiStrip/plugins/SiStripPedestalsReader.h index dfcd78af99453..bb25f5b89348a 100644 --- a/CondTools/SiStrip/plugins/SiStripPedestalsReader.h +++ b/CondTools/SiStrip/plugins/SiStripPedestalsReader.h @@ -31,5 +31,6 @@ class SiStripPedestalsReader : public edm::EDAnalyzer { private: uint32_t printdebug_; + edm::ESGetToken pedestalsToken_; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripSummaryReader.cc b/CondTools/SiStrip/plugins/SiStripSummaryReader.cc index 1516d0f597222..8c2a5d8d4ba64 100644 --- a/CondTools/SiStrip/plugins/SiStripSummaryReader.cc +++ b/CondTools/SiStrip/plugins/SiStripSummaryReader.cc @@ -1,5 +1,4 @@ #include "CondFormats/SiStripObjects/interface/SiStripSummary.h" -#include "CondFormats/DataRecord/interface/SiStripSummaryRcd.h" #include "CondTools/SiStrip/plugins/SiStripSummaryReader.h" @@ -10,18 +9,17 @@ #include SiStripSummaryReader::SiStripSummaryReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", 1)), summaryToken_(esConsumes()) {} SiStripSummaryReader::~SiStripSummaryReader() {} void SiStripSummaryReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripSummary_; - iSetup.get().get(SiStripSummary_); + const auto& summary = iSetup.getData(summaryToken_); edm::LogInfo("SiStripSummaryReader") << "[SiStripSummaryReader::analyze] End Reading SiStripSummary" << std::endl; - std::vector detid = SiStripSummary_->getDetIds(); + std::vector detid = summary.getDetIds(); - std::vector userDB = SiStripSummary_->getUserDBContent(); + std::vector userDB = summary.getUserDBContent(); std::stringstream ss; for (size_t i = 0; i < userDB.size(); ++i) ss << userDB[i] << " \n"; @@ -29,7 +27,7 @@ void SiStripSummaryReader::analyze(const edm::Event& e, const edm::EventSetup& i if (printdebug_) for (size_t id = 0; id < detid.size(); id++) { ss << "\n\tdetid " << detid[id]; - SiStripSummary::Range range = SiStripSummary_->getRange(detid[id]); + SiStripSummary::Range range = summary.getRange(detid[id]); size_t c = 0; for (SiStripSummary::ContainerIterator it = range.first; it != range.second; ++it) { diff --git a/CondTools/SiStrip/plugins/SiStripSummaryReader.h b/CondTools/SiStrip/plugins/SiStripSummaryReader.h index 5d4afaea5df08..1449e8dde99da 100644 --- a/CondTools/SiStrip/plugins/SiStripSummaryReader.h +++ b/CondTools/SiStrip/plugins/SiStripSummaryReader.h @@ -14,6 +14,9 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "CondFormats/DataRecord/interface/SiStripSummaryRcd.h" +class SiStripSummary; + class SiStripSummaryReader : public edm::EDAnalyzer { public: explicit SiStripSummaryReader(const edm::ParameterSet&); @@ -23,5 +26,6 @@ class SiStripSummaryReader : public edm::EDAnalyzer { private: uint32_t printdebug_; + edm::ESGetToken summaryToken_; }; #endif diff --git a/CondTools/SiStrip/plugins/SiStripThresholdReader.cc b/CondTools/SiStrip/plugins/SiStripThresholdReader.cc index b1b5c69fc66d1..14a6a43c69db4 100644 --- a/CondTools/SiStrip/plugins/SiStripThresholdReader.cc +++ b/CondTools/SiStrip/plugins/SiStripThresholdReader.cc @@ -5,27 +5,26 @@ using namespace std; using namespace cms; SiStripThresholdReader::SiStripThresholdReader(const edm::ParameterSet& iConfig) - : printdebug_(iConfig.getUntrackedParameter("printDebug", 3)) {} + : printdebug_(iConfig.getUntrackedParameter("printDebug", 3)), thresholdToken_(esConsumes()) {} SiStripThresholdReader::~SiStripThresholdReader() {} void SiStripThresholdReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { - edm::ESHandle SiStripThreshold_; - iSetup.get().get(SiStripThreshold_); + const auto& thresholds = iSetup.getData(thresholdToken_); edm::LogInfo("SiStripThresholdReader") << "[SiStripThresholdReader::analyze] End Reading SiStripThreshold" << std::endl; std::vector detid; - SiStripThreshold_->getDetIds(detid); + thresholds.getDetIds(detid); edm::LogInfo("Number of detids ") << detid.size() << std::endl; if (printdebug_) for (size_t id = 0; id < detid.size() && id < printdebug_; id++) { - SiStripThreshold::Range range = SiStripThreshold_->getRange(detid[id]); + SiStripThreshold::Range range = thresholds.getRange(detid[id]); //int strip=0; float old_clusTh = -1, old_lowTh = -1, old_highTh = -1, old_FirstStrip = -1; for (int it = 0; it < 768; it++) { - SiStripThreshold::Data data = SiStripThreshold_->getData(it, range); + SiStripThreshold::Data data = thresholds.getData(it, range); std::stringstream ss; data.print(ss); if (old_clusTh != data.getClusth() || old_lowTh != data.getLth() || old_highTh != data.getHth() || diff --git a/CondTools/SiStrip/plugins/SiStripThresholdReader.h b/CondTools/SiStrip/plugins/SiStripThresholdReader.h index 95fc00f713dfa..32234ec98bb7d 100644 --- a/CondTools/SiStrip/plugins/SiStripThresholdReader.h +++ b/CondTools/SiStrip/plugins/SiStripThresholdReader.h @@ -31,5 +31,6 @@ class SiStripThresholdReader : public edm::EDAnalyzer { private: uint32_t printdebug_; + edm::ESGetToken thresholdToken_; }; #endif From 4e6a19c83d11259fb741e200e6c33c36f9b59f37 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Thu, 15 Oct 2020 18:16:42 +0200 Subject: [PATCH 14/22] esConsumes migration for RecoLocalTracker/SiStripZeroSuppression --- .../interface/IteratedMedianCMNSubtractor.h | 16 +++++++-- .../interface/SiStripAPVRestorer.h | 10 ++++-- .../interface/SiStripPedestalsSubtractor.h | 9 +++-- .../SiStripRawProcessingAlgorithms.h | 4 ++- .../interface/SiStripRawProcessingFactory.h | 13 ++++--- .../interface/TT6CMNSubtractor.h | 14 ++++++-- .../plugins/SiStripZeroSuppression.cc | 3 +- .../src/IteratedMedianCMNSubtractor.cc | 15 +++----- .../src/SiStripAPVRestorer.cc | 35 ++++++------------- .../src/SiStripPedestalsSubtractor.cc | 7 ++-- .../src/SiStripRawProcessingAlgorithms.cc | 10 +++--- .../src/SiStripRawProcessingFactory.cc | 26 ++++++++------ .../src/TT6CMNSubtractor.cc | 16 +++------ .../test/SiStripBaselineAnalyzer.cc | 14 ++++---- .../test/SiStripHybridFormatAnalyzer.cc | 15 ++++---- .../test/SiStripMeanCMExtractor.cc | 14 ++++---- .../test/SiStripMergeZeroSuppression.cc | 3 +- 17 files changed, 117 insertions(+), 107 deletions(-) diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h index 05ad8f312eb5b..83fd2fb336ca2 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h @@ -3,7 +3,11 @@ #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPITERATEDMEDIANCOMMONMODENOISESUBTRACTION_H #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h" +#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" class SiStripNoises; class SiStripQuality; @@ -21,12 +25,18 @@ class IteratedMedianCMNSubtractor : public SiStripCommonModeNoiseSubtractor { void subtract_(uint32_t detId, uint16_t firstAPV, std::vector& digis); inline float pairMedian(std::vector >& sample); - IteratedMedianCMNSubtractor(double sigma, int iterations) - : cut_to_avoid_signal_(sigma), iterations_(iterations), noise_cache_id(0), quality_cache_id(0){}; + IteratedMedianCMNSubtractor(double sigma, int iterations, edm::ConsumesCollector&& iC) + : cut_to_avoid_signal_(sigma), + iterations_(iterations), + noiseToken_(iC.esConsumes()), + qualityToken_(iC.esConsumes()){}; double cut_to_avoid_signal_; int iterations_; + edm::ESGetToken noiseToken_; + edm::ESGetToken qualityToken_; edm::ESHandle noiseHandle; edm::ESHandle qualityHandle; - uint32_t noise_cache_id, quality_cache_id; + edm::ESWatcher noiseWatcher_; + edm::ESWatcher qualityWatcher_; }; #endif diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h index 5aa17e378a5d9..dd448b9965724 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h @@ -6,6 +6,7 @@ #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" #include "CondFormats/SiStripObjects/interface/SiStripPedestals.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" @@ -26,7 +27,7 @@ class SiStripAPVRestorer { friend class SiStripRawProcessingFactory; protected: - SiStripAPVRestorer(const edm::ParameterSet& conf); + SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector&&); public: virtual ~SiStripAPVRestorer(){}; @@ -83,10 +84,15 @@ class SiStripAPVRestorer { void createCMMapCMstored(const edm::DetSetVector& input); private: // members + edm::ESGetToken qualityToken_; + edm::ESGetToken noiseToken_; + edm::ESGetToken pedestalToken_; edm::ESHandle qualityHandle; edm::ESHandle noiseHandle; edm::ESHandle pedestalHandle; - uint32_t quality_cache_id, noise_cache_id, pedestal_cache_id; + edm::ESWatcher qualityWatcher_; + edm::ESWatcher noiseWatcher_; + edm::ESWatcher pedestalWatcher_; // event state CMMap meanCMmap_; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h index 1bbcb0b037213..67287cbdfb479 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h @@ -3,10 +3,13 @@ #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" #include "DataFormats/Common/interface/DetSetVector.h" #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h" #include "CondFormats/SiStripObjects/interface/SiStripPedestals.h" +#include "CondFormats/DataRecord/interface/SiStripPedestalsRcd.h" #include class SiStripPedestalsSubtractor { @@ -18,10 +21,12 @@ class SiStripPedestalsSubtractor { void init(const edm::EventSetup&); private: - SiStripPedestalsSubtractor(bool mode) : peds_cache_id(0), fedmode_(mode){}; + SiStripPedestalsSubtractor(bool mode, edm::ConsumesCollector&& iC) + : pedestalsToken_(iC.esConsumes()), fedmode_(mode) {} + edm::ESGetToken pedestalsToken_; + edm::ESWatcher pedestalsWatcher_; edm::ESHandle pedestalsHandle; std::vector pedestals; - uint32_t peds_cache_id; bool fedmode_; template diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h index e1e78d7e4b7b7..5088b11b37522 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h @@ -60,9 +60,11 @@ class SiStripRawProcessingAlgorithms { const bool doAPVRestore; const bool useCMMeanMap; + edm::ESGetToken tkGeomToken_; const TrackerGeometry* trGeo; - SiStripRawProcessingAlgorithms(std::unique_ptr ped, + SiStripRawProcessingAlgorithms(edm::ConsumesCollector&& iC, + std::unique_ptr ped, std::unique_ptr cmn, std::unique_ptr zs, std::unique_ptr res, diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h index f32ee77f57e24..4830d0cee442c 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h @@ -3,7 +3,8 @@ namespace edm { class ParameterSet; -} + class ConsumesCollector; +} // namespace edm class SiStripRawProcessingAlgorithms; class SiStripFedZeroSuppression; class SiStripPedestalsSubtractor; @@ -13,11 +14,13 @@ class SiStripAPVRestorer; class SiStripRawProcessingFactory { public: - static std::unique_ptr create(const edm::ParameterSet&); + static std::unique_ptr create(const edm::ParameterSet&, edm::ConsumesCollector&&); static std::unique_ptr create_Suppressor(const edm::ParameterSet&); - static std::unique_ptr create_SubtractorPed(const edm::ParameterSet&); - static std::unique_ptr create_SubtractorCMN(const edm::ParameterSet&); - static std::unique_ptr create_Restorer(const edm::ParameterSet&); + static std::unique_ptr create_SubtractorPed(const edm::ParameterSet&, + edm::ConsumesCollector&&); + static std::unique_ptr create_SubtractorCMN(const edm::ParameterSet&, + edm::ConsumesCollector&&); + static std::unique_ptr create_Restorer(const edm::ParameterSet&, edm::ConsumesCollector&&); }; #endif diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h index 169edd1a50bd6..4bfb9c55c7fff 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h @@ -1,8 +1,12 @@ #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPTT6COMMONMODENOISESUBTRACTION_H #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripCommonModeNoiseSubtractor.h" +#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" +#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESWatcher.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" class SiStripNoises; class SiStripQuality; @@ -18,10 +22,16 @@ class TT6CMNSubtractor : public SiStripCommonModeNoiseSubtractor { template void subtract_(uint32_t detId, uint16_t firstAPV, std::vector& digis); - TT6CMNSubtractor(double in) : cut_to_avoid_signal_(in), noise_cache_id(0), quality_cache_id(0){}; + TT6CMNSubtractor(double in, edm::ConsumesCollector&& iC) + : cut_to_avoid_signal_(in), + noiseToken_(iC.esConsumes()), + qualityToken_(iC.esConsumes()) {} double cut_to_avoid_signal_; + edm::ESGetToken noiseToken_; + edm::ESGetToken qualityToken_; edm::ESHandle noiseHandle; edm::ESHandle qualityHandle; - uint32_t noise_cache_id, quality_cache_id; + edm::ESWatcher noiseWatcher_; + edm::ESWatcher qualityWatcher_; }; #endif diff --git a/RecoLocalTracker/SiStripZeroSuppression/plugins/SiStripZeroSuppression.cc b/RecoLocalTracker/SiStripZeroSuppression/plugins/SiStripZeroSuppression.cc index fc06a3a6a8a1f..5ac0d1c2b1aa5 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/plugins/SiStripZeroSuppression.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/plugins/SiStripZeroSuppression.cc @@ -12,7 +12,8 @@ #include SiStripZeroSuppression::SiStripZeroSuppression(edm::ParameterSet const& conf) - : algorithms(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"))), + : algorithms( + SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"), consumesCollector())), produceRawDigis(conf.getParameter("produceRawDigis")), storeCM(conf.getParameter("storeCM")), fixCM(conf.getParameter("fixCM")), diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc index 52258b10ed594..665307e6a27fe 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc @@ -2,21 +2,14 @@ #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" -#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" -#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include void IteratedMedianCMNSubtractor::init(const edm::EventSetup& es) { - uint32_t n_cache_id = es.get().cacheIdentifier(); - uint32_t q_cache_id = es.get().cacheIdentifier(); - - if (n_cache_id != noise_cache_id) { - es.get().get(noiseHandle); - noise_cache_id = n_cache_id; + if (noiseWatcher_.check(es)) { + noiseHandle = es.getHandle(noiseToken_); } - if (q_cache_id != quality_cache_id) { - es.get().get(qualityHandle); - quality_cache_id = q_cache_id; + if (qualityWatcher_.check(es)) { + qualityHandle = es.getHandle(qualityToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc index 63bc54fc83bb0..3aab68774d58a 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc @@ -1,15 +1,16 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" #include #include #include -SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf) - : quality_cache_id(-1), - noise_cache_id(-1), - pedestal_cache_id(-1), +SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) + : qualityToken_(iC.esConsumes()), + noiseToken_(iC.esConsumes()), + pedestalToken_(iC.esConsumes()), forceNoRestore_(conf.getParameter("ForceNoRestore")), inspectAlgo_(conf.getParameter("APVInspectMode")), restoreAlgo_(conf.getParameter("APVRestoreMode")), @@ -52,28 +53,14 @@ SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf) } void SiStripAPVRestorer::init(const edm::EventSetup& es) { - uint32_t n_cache_id = es.get().cacheIdentifier(); - uint32_t q_cache_id = es.get().cacheIdentifier(); - uint32_t p_cache_id = es.get().cacheIdentifier(); - - if (n_cache_id != noise_cache_id) { - es.get().get(noiseHandle); - noise_cache_id = n_cache_id; - } else { - noise_cache_id = n_cache_id; + if (noiseWatcher_.check(es)) { + noiseHandle = es.getHandle(noiseToken_); } - if (q_cache_id != quality_cache_id) { - es.get().get(qualityHandle); - quality_cache_id = q_cache_id; - } else { - quality_cache_id = q_cache_id; + if (qualityWatcher_.check(es)) { + qualityHandle = es.getHandle(qualityToken_); } - - if (p_cache_id != pedestal_cache_id) { - es.get().get(pedestalHandle); - pedestal_cache_id = p_cache_id; - } else { - pedestal_cache_id = p_cache_id; + if (pedestalWatcher_.check(es)) { + pedestalHandle = es.getHandle(pedestalToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc index dc51efb687c6b..130021489857b 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc @@ -1,13 +1,10 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "CondFormats/DataRecord/interface/SiStripPedestalsRcd.h" #include "FWCore/Utilities/interface/Exception.h" void SiStripPedestalsSubtractor::init(const edm::EventSetup& es) { - uint32_t p_cache_id = es.get().cacheIdentifier(); - if (p_cache_id != peds_cache_id) { - es.get().get(pedestalsHandle); - peds_cache_id = p_cache_id; + if (pedestalsWatcher_.check(es)) { + pedestalsHandle = es.getHandle(pedestalsToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc index 6844b57676892..5c3e22a399e09 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc @@ -11,7 +11,8 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h" #include -SiStripRawProcessingAlgorithms::SiStripRawProcessingAlgorithms(std::unique_ptr ped, +SiStripRawProcessingAlgorithms::SiStripRawProcessingAlgorithms(edm::ConsumesCollector&& iC, + std::unique_ptr ped, std::unique_ptr cmn, std::unique_ptr zs, std::unique_ptr res, @@ -22,7 +23,8 @@ SiStripRawProcessingAlgorithms::SiStripRawProcessingAlgorithms(std::unique_ptr()) {} void SiStripRawProcessingAlgorithms::initialize(const edm::EventSetup& es) { subtractorPed->init(es); @@ -31,9 +33,7 @@ void SiStripRawProcessingAlgorithms::initialize(const edm::EventSetup& es) { if (restorer.get()) restorer->init(es); - edm::ESHandle tracker; - es.get().get(tracker); - trGeo = tracker.product(); + trGeo = &es.getData(tkGeomToken_); } void SiStripRawProcessingAlgorithms::initialize(const edm::EventSetup& es, const edm::Event& e) { diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc index b5619491e6fcd..90d43ba7f9e05 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc @@ -1,6 +1,7 @@ #include #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h" +#include "FWCore/Framework/interface/ConsumesCollector.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h" @@ -12,24 +13,26 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/FastLinearCMNSubtractor.h" #include "RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h" -std::unique_ptr SiStripRawProcessingFactory::create(const edm::ParameterSet& conf) { +std::unique_ptr SiStripRawProcessingFactory::create(const edm::ParameterSet& conf, + edm::ConsumesCollector&& iC) { return std::unique_ptr( - new SiStripRawProcessingAlgorithms(create_SubtractorPed(conf), - create_SubtractorCMN(conf), + new SiStripRawProcessingAlgorithms(std::move(iC), + create_SubtractorPed(conf, std::move(iC)), + create_SubtractorCMN(conf, std::move(iC)), create_Suppressor(conf), - create_Restorer(conf), + create_Restorer(conf, std::move(iC)), conf.getParameter("doAPVRestore"), conf.getParameter("useCMMeanMap"))); } std::unique_ptr SiStripRawProcessingFactory::create_SubtractorPed( - const edm::ParameterSet& conf) { + const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) { return std::unique_ptr( - new SiStripPedestalsSubtractor(conf.getParameter("PedestalSubtractionFedMode"))); + new SiStripPedestalsSubtractor(conf.getParameter("PedestalSubtractionFedMode"), std::move(iC))); } std::unique_ptr SiStripRawProcessingFactory::create_SubtractorCMN( - const edm::ParameterSet& conf) { + const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) { const std::string mode = conf.getParameter("CommonModeNoiseSubtractionMode"); if (mode == "Median") @@ -42,7 +45,7 @@ std::unique_ptr SiStripRawProcessingFactory::c if (mode == "IteratedMedian") { return std::unique_ptr(new IteratedMedianCMNSubtractor( - conf.getParameter("CutToAvoidSignal"), conf.getParameter("Iterations"))); + conf.getParameter("CutToAvoidSignal"), conf.getParameter("Iterations"), std::move(iC))); } if (mode == "FastLinear") @@ -50,7 +53,7 @@ std::unique_ptr SiStripRawProcessingFactory::c if (mode == "TT6") { return std::unique_ptr( - new TT6CMNSubtractor(conf.getParameter("CutToAvoidSignal"))); + new TT6CMNSubtractor(conf.getParameter("CutToAvoidSignal"), std::move(iC))); } edm::LogError("SiStripRawProcessingFactory::create_SubtractorCMN") @@ -76,10 +79,11 @@ std::unique_ptr SiStripRawProcessingFactory::create_S } } -std::unique_ptr SiStripRawProcessingFactory::create_Restorer(const edm::ParameterSet& conf) { +std::unique_ptr SiStripRawProcessingFactory::create_Restorer(const edm::ParameterSet& conf, + edm::ConsumesCollector&& iC) { if (!conf.exists("APVRestoreMode")) { return std::unique_ptr(nullptr); } else { - return std::unique_ptr(new SiStripAPVRestorer(conf)); + return std::unique_ptr(new SiStripAPVRestorer(conf, std::move(iC))); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc index 8fb15d9e918c7..a219672068732 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc @@ -2,21 +2,15 @@ #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" -#include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" -#include "CalibTracker/Records/interface/SiStripQualityRcd.h" #include +// FIXME use ESWatcher auto-call to get rid of init (here and in IteratedMedian void TT6CMNSubtractor::init(const edm::EventSetup& es) { - uint32_t n_cache_id = es.get().cacheIdentifier(); - uint32_t q_cache_id = es.get().cacheIdentifier(); - - if (n_cache_id != noise_cache_id) { - es.get().get(noiseHandle); - noise_cache_id = n_cache_id; + if (noiseWatcher_.check(es)) { + noiseHandle = es.getHandle(noiseToken_); } - if (q_cache_id != quality_cache_id) { - es.get().get(qualityHandle); - quality_cache_id = q_cache_id; + if (qualityWatcher_.check(es)) { + qualityHandle = es.getHandle(qualityToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc index 73ea15d9b1320..e786f4b4ab759 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc @@ -82,9 +82,10 @@ class SiStripBaselineAnalyzer : public edm::one::EDAnalyzer subtractorPed_; + edm::ESGetToken pedestalsToken_; edm::ESHandle pedestalsHandle; + edm::ESWatcher pedestalsWatcher_; std::vector pedestals; - uint32_t peds_cache_id; bool plotClusters_; bool plotBaseline_; @@ -122,13 +123,14 @@ class SiStripBaselineAnalyzer : public edm::one::EDAnalyzer("srcBaseline"); srcBaselinePoints_ = conf.getParameter("srcBaselinePoints"); srcProcessedRawDigi_ = conf.getParameter("srcProcessedRawDigi"); srcDigis_ = conf.getParameter("srcDigis"); srcAPVCM_ = conf.getParameter("srcAPVCM"); - subtractorPed_ = - SiStripRawProcessingFactory::create_SubtractorPed(conf.getParameter("Algorithms")); + subtractorPed_ = SiStripRawProcessingFactory::create_SubtractorPed(conf.getParameter("Algorithms"), + consumesCollector()); nModuletoDisplay_ = conf.getParameter("nModuletoDisplay"); plotClusters_ = conf.getParameter("plotClusters"); plotBaseline_ = conf.getParameter("plotBaseline"); @@ -162,10 +164,8 @@ SiStripBaselineAnalyzer::~SiStripBaselineAnalyzer() {} void SiStripBaselineAnalyzer::analyze(const edm::Event& e, const edm::EventSetup& es) { using namespace edm; if (plotPedestals_ && actualModule_ == 0) { - uint32_t p_cache_id = es.get().cacheIdentifier(); - if (p_cache_id != peds_cache_id) { - es.get().get(pedestalsHandle); - peds_cache_id = p_cache_id; + if (pedestalsWatcher_.check(es)) { + pedestalsHandle = es.getHandle(pedestalsToken_); } std::vector detIdV; diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc index 4238e504de11c..0dedc3797bfa0 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc @@ -73,6 +73,7 @@ class SiStripHybridFormatAnalyzer : public edm::one::EDAnalyzer> srcDigis_; edm::EDGetTokenT> srcAPVCM_; edm::Service fs_; + edm::ESGetToken pedestalsToken_; TH1F* h1Digis_; TH1F* h1APVCM_; @@ -98,6 +99,7 @@ SiStripHybridFormatAnalyzer::SiStripHybridFormatAnalyzer(const edm::ParameterSet srcDigis_ = consumes>(conf.getParameter("srcDigis")); srcAPVCM_ = consumes>(conf.getParameter("srcAPVCM")); + pedestalsToken_ = esConsumes(); nModuletoDisplay_ = conf.getParameter("nModuletoDisplay"); plotAPVCM_ = conf.getParameter("plotAPVCM"); @@ -153,20 +155,15 @@ void SiStripHybridFormatAnalyzer::analyze(const edm::Event& e, const edm::EventS //plotting pedestals //------------------------------------------------------------------ if (actualModule_ == 0) { - edm::ESHandle pedestalsHandle; - uint32_t p_cache_id = es.get().cacheIdentifier(); - if (p_cache_id != peds_cache_id_) { - es.get().get(pedestalsHandle); - peds_cache_id_ = p_cache_id; - } + const auto& pedestalsObj = es.getData(pedestalsToken_); std::vector detIdV; - pedestalsHandle->getDetIds(detIdV); + pedestalsObj.getDetIds(detIdV); std::vector pedestals; for (const auto det : detIdV) { pedestals.clear(); - SiStripPedestals::Range pedestalsRange = pedestalsHandle->getRange(det); + SiStripPedestals::Range pedestalsRange = pedestalsObj.getRange(det); pedestals.resize((pedestalsRange.second - pedestalsRange.first) * 0.8); - pedestalsHandle->allPeds(pedestals, pedestalsRange); + pedestalsObj.allPeds(pedestals, pedestalsRange); for (const int ped : pedestals) { h1Pedestals_->Fill(ped); } diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc index ed052a4441c7d..ae90a6e29b133 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc @@ -34,6 +34,7 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -60,8 +61,9 @@ class SiStripMeanCMExtractor : public edm::one::EDProducer<> { void init(const edm::EventSetup&); + edm::ESGetToken pedestalsToken_; edm::ESHandle pedestalHandle_; - uint32_t pedestal_cache_id_; + edm::ESWatcher pedestalsWatcher_; void StoreMean(const edm::DetSetVector&); void ConvertMeanMapToDetSetVector(std::vector>&); @@ -76,7 +78,8 @@ class SiStripMeanCMExtractor : public edm::one::EDProducer<> { }; SiStripMeanCMExtractor::SiStripMeanCMExtractor(const edm::ParameterSet& conf) - : _inputTag(conf.getParameter("CMCollection")), + : pedestalsToken_(esConsumes()), + _inputTag(conf.getParameter("CMCollection")), _Algorithm(conf.getParameter("Algorithm")), _nEventsToUse(conf.getParameter("NEvents")) { if (_nEventsToUse < 1) @@ -95,11 +98,8 @@ void SiStripMeanCMExtractor::fillDescriptions(edm::ConfigurationDescriptions& de } void SiStripMeanCMExtractor::init(const edm::EventSetup& es) { - uint32_t p_cache_id = es.get().cacheIdentifier(); - - if (p_cache_id != pedestal_cache_id_) { - es.get().get(pedestalHandle_); - pedestal_cache_id_ = p_cache_id; + if (pedestalsWatcher_.check(es)) { + pedestalHandle_ = es.getHandle(pedestalsToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMergeZeroSuppression.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMergeZeroSuppression.cc index 4f1a00cb7423e..bb7e4affd5173 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMergeZeroSuppression.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMergeZeroSuppression.cc @@ -26,7 +26,8 @@ class SiStripMergeZeroSuppression : public edm::stream::EDProducer<> { }; SiStripMergeZeroSuppression::SiStripMergeZeroSuppression(const edm::ParameterSet& conf) - : m_algorithms(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"))) { + : m_algorithms(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"), + consumesCollector())) { m_rawDigisToMerge = consumes>(conf.getParameter("DigisToMergeVR")); m_zsDigisToMerge = consumes>(conf.getParameter("DigisToMergeZS")); produces>("ZeroSuppressed"); From 293962ad5334307e2a40d03135c79cbcf4605b35 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 16 Oct 2020 09:40:49 +0200 Subject: [PATCH 15/22] Update other SiStripRawProcessingFactory uses, one Handle->product --- .../plugins/SiStripProcessedRawDigiProducer.cc | 4 ++-- DQM/SiStripMonitorHardware/src/SiStripFEDEmulatorModule.cc | 3 ++- .../plugins/SiStripQualityHotStripIdentifierRoot.cc | 2 +- .../SiStripClusterizer/plugins/ClustersFromRawProducer.cc | 3 ++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc index 2d482f0537500..c010a6e2644a6 100644 --- a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc +++ b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc @@ -19,8 +19,8 @@ SiStripProcessedRawDigiProducer::SiStripProcessedRawDigiProducer(edm::ParameterS inputTokensRawDigi_(edm::vector_transform( inputTags_, [this](edm::InputTag const& tag) { return consumes >(tag); })), gainToken_(esConsumes()), - subtractorPed_(SiStripRawProcessingFactory::create_SubtractorPed(conf)), - subtractorCMN_(SiStripRawProcessingFactory::create_SubtractorCMN(conf)) { + subtractorPed_(SiStripRawProcessingFactory::create_SubtractorPed(conf, consumesCollector())), + subtractorCMN_(SiStripRawProcessingFactory::create_SubtractorCMN(conf, consumesCollector())) { produces >(""); } diff --git a/DQM/SiStripMonitorHardware/src/SiStripFEDEmulatorModule.cc b/DQM/SiStripMonitorHardware/src/SiStripFEDEmulatorModule.cc index 0232c103f982f..673a238bd05c4 100644 --- a/DQM/SiStripMonitorHardware/src/SiStripFEDEmulatorModule.cc +++ b/DQM/SiStripMonitorHardware/src/SiStripFEDEmulatorModule.cc @@ -95,7 +95,8 @@ namespace sistrip { : spyReorderedDigisTag_(iConfig.getParameter("SpyReorderedDigisTag")), spyVirginRawDigisTag_(iConfig.getParameter("SpyVirginRawDigisTag")), byModule_(iConfig.getParameter("ByModule")), - algorithms_(SiStripRawProcessingFactory::create(iConfig.getParameter("Algorithms"))) { + algorithms_(SiStripRawProcessingFactory::create(iConfig.getParameter("Algorithms"), + consumesCollector())) { spyReorderedDigisToken_ = consumes >(spyReorderedDigisTag_); spyVirginRawDigisToken_ = consumes >(spyVirginRawDigisTag_); diff --git a/DQMOffline/CalibTracker/plugins/SiStripQualityHotStripIdentifierRoot.cc b/DQMOffline/CalibTracker/plugins/SiStripQualityHotStripIdentifierRoot.cc index fa72490ee4310..de706ed8acaec 100644 --- a/DQMOffline/CalibTracker/plugins/SiStripQualityHotStripIdentifierRoot.cc +++ b/DQMOffline/CalibTracker/plugins/SiStripQualityHotStripIdentifierRoot.cc @@ -86,7 +86,7 @@ std::unique_ptr SiStripQualityHotStripIdentifierRoot::getNewObj theIdentifier->extractBadStrips( qobj, ClusterPositionHistoMap, - SiStripQuality_); //here I insert SiStripQuality as input and get qobj as output + SiStripQuality_.product()); //here I insert SiStripQuality as input and get qobj as output //---------- diff --git a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc index f3b76fe293b13..f6043d0f8d688 100644 --- a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc +++ b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc @@ -171,7 +171,8 @@ class SiStripClusterizerFromRaw final : public edm::stream::EDProducer<> { : onDemand(conf.getParameter("onDemand")), clusterizer_(StripClusterizerAlgorithmFactory::create(consumesCollector(), conf.getParameter("Clusterizer"))), - rawAlgos_(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"))), + rawAlgos_(SiStripRawProcessingFactory::create(conf.getParameter("Algorithms"), + consumesCollector())), doAPVEmulatorCheck_(conf.existsAs("DoAPVEmulatorCheck") ? conf.getParameter("DoAPVEmulatorCheck") : true), legacy_(conf.existsAs("LegacyUnpacker") ? conf.getParameter("LegacyUnpacker") : false), From 133eb5d1267e233687ad2231c309aa86f0ff86ed Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 16 Oct 2020 12:30:38 +0200 Subject: [PATCH 16/22] fix ESInputTag construction --- .../SiStripCommon/plugins/ShallowSimhitClustersProducer.cc | 2 +- .../SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h | 2 +- CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc | 2 +- DPGAnalysis/SiStripTools/interface/Multiplicities.h | 2 +- DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc | 4 ++-- DPGAnalysis/SiStripTools/plugins/LargeEvents.cc | 2 +- DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc | 6 +++--- .../SiStripTools/plugins/SeedMultiplicityAnalyzer.cc | 2 +- DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc | 2 +- DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc | 2 +- .../src/StripClusterizerAlgorithmFactory.cc | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CalibTracker/SiStripCommon/plugins/ShallowSimhitClustersProducer.cc b/CalibTracker/SiStripCommon/plugins/ShallowSimhitClustersProducer.cc index cf53eb57d445e..2fb633878ffe9 100644 --- a/CalibTracker/SiStripCommon/plugins/ShallowSimhitClustersProducer.cc +++ b/CalibTracker/SiStripCommon/plugins/ShallowSimhitClustersProducer.cc @@ -13,7 +13,7 @@ ShallowSimhitClustersProducer::ShallowSimhitClustersProducer(const edm::Paramete geomToken_(esConsumes()), magFieldToken_(esConsumes()), laToken_(esConsumes( - edm::ESInputTag(iConfig.getParameter("runningMode")))), + edm::ESInputTag{"", iConfig.getParameter("runningMode")})), Prefix(iConfig.getParameter("Prefix")), runningmode_(iConfig.getParameter("runningMode")) { std::vector simhits_tags = iConfig.getParameter>("InputTags"); diff --git a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h index 4deb99d07975a..3e948958f0517 100644 --- a/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h +++ b/CalibTracker/SiStripESProducers/plugins/DBWriter/DummyCondDBWriter.h @@ -34,7 +34,7 @@ template DummyCondDBWriter::DummyCondDBWriter(const edm::ParameterSet& iConfig) : iConfig_(iConfig), token_(esConsumes( - edm::ESInputTag(iConfig.getUntrackedParameter("label", "")))) { + edm::ESInputTag{"", iConfig.getUntrackedParameter("label", "")})) { edm::LogInfo("DummyCondDBWriter") << "DummyCondDBWriter constructor for typename " << typeid(TObject).name() << " and record " << typeid(TRecord).name() << std::endl; } diff --git a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc index 463a33992211d..d282050b19f25 100644 --- a/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc +++ b/CondTools/SiStrip/plugins/SiStripLorentzAngleReader.cc @@ -11,7 +11,7 @@ using namespace cms; SiStripLorentzAngleReader::SiStripLorentzAngleReader(const edm::ParameterSet& iConfig) : printdebug_(iConfig.getUntrackedParameter("printDebug", 5)), label_(iConfig.getUntrackedParameter("label", "")), - laToken_(esConsumes(edm::ESInputTag(label_))) {} + laToken_(esConsumes(edm::ESInputTag{"", label_})) {} SiStripLorentzAngleReader::~SiStripLorentzAngleReader() {} void SiStripLorentzAngleReader::analyze(const edm::Event& e, const edm::EventSetup& iSetup) { diff --git a/DPGAnalysis/SiStripTools/interface/Multiplicities.h b/DPGAnalysis/SiStripTools/interface/Multiplicities.h index ffbc2ca65d989..756976d233c5f 100644 --- a/DPGAnalysis/SiStripTools/interface/Multiplicities.h +++ b/DPGAnalysis/SiStripTools/interface/Multiplicities.h @@ -71,7 +71,7 @@ SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm: : m_modthr(iConfig.getUntrackedParameter("moduleThreshold")), m_useQuality(iConfig.getUntrackedParameter("useQuality", false)), m_qualityToken(iC.esConsumes( - edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))), + edm::ESInputTag{"", iConfig.getUntrackedParameter("qualityLabel", "")})), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} template diff --git a/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc b/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc index f3a2d57d50e5e..57d7630b6e407 100644 --- a/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc +++ b/DPGAnalysis/SiStripTools/plugins/DuplicateRecHits.cc @@ -94,8 +94,8 @@ class DuplicateRecHits : public edm::EDAnalyzer { // DuplicateRecHits::DuplicateRecHits(const edm::ParameterSet& iConfig) : m_trkcollToken(consumes(iConfig.getParameter("trackCollection"))), - m_builderToken( - esConsumes(edm::ESInputTag(iConfig.getParameter("TTRHBuilder")))) { + m_builderToken(esConsumes( + edm::ESInputTag{"", iConfig.getParameter("TTRHBuilder")})) { //now do what ever initialization is needed // histogram parameters diff --git a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc index 78f06dc8f8ce1..eb8bd2335b544 100644 --- a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc +++ b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc @@ -88,7 +88,7 @@ LargeEvents::LargeEvents(const edm::ParameterSet& iConfig) _absthr(iConfig.getUntrackedParameter("absoluteThreshold")), _modthr(iConfig.getUntrackedParameter("moduleThreshold")), _useQuality(iConfig.getUntrackedParameter("useQuality", false)), - _qualityToken(esConsumes(edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))) { + _qualityToken(esConsumes(edm::ESInputTag{"", iConfig.getUntrackedParameter("qualityLabel", "")})) { //now do what ever initialization is needed } diff --git a/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc b/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc index 7f685e802a904..e0136d4042ca4 100644 --- a/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc +++ b/DPGAnalysis/SiStripTools/plugins/OccupancyPlots.cc @@ -128,9 +128,9 @@ OccupancyPlots::OccupancyPlots(const edm::ParameterSet& iConfig) [this](edm::InputTag const& tag) { return consumes >(tag); })), m_fp(iConfig.getUntrackedParameter( "file", edm::FileInPath("CalibTracker/SiPixelESProducers/data/PixelSkimmedGeometry.txt"))), - m_tkGeomToken(esConsumes(edm::ESInputTag(""))), - m_stripQualityToken(esConsumes(edm::ESInputTag(""))), - m_pixelQualityToken(esConsumes(edm::ESInputTag(""))), + m_tkGeomToken(esConsumes()), + m_stripQualityToken(esConsumes()), + m_pixelQualityToken(esConsumes()), m_rhm(consumesCollector()), m_wantedsubdets() { //now do what ever initialization is needed diff --git a/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc index efe6a6363c7c4..41d738b20fe5b 100644 --- a/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/SeedMultiplicityAnalyzer.cc @@ -129,7 +129,7 @@ class SeedMultiplicityAnalyzer : public edm::EDAnalyzer { // constructors and destructor // SeedMultiplicityAnalyzer::SeedMultiplicityAnalyzer(const edm::ParameterSet& iConfig) - : _magFieldToken(esConsumes(edm::ESInputTag(iConfig.getParameter("TTRHBuilder")))), + : _magFieldToken(esConsumes(edm::ESInputTag{"", iConfig.getParameter("TTRHBuilder")})), _TTRHBuilderToken(esConsumes()), _seedcollTokens(), _seedbins(), diff --git a/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc b/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc index 5ce2d8f289e8d..a3d94d3e7f5eb 100644 --- a/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc +++ b/DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc @@ -107,7 +107,7 @@ SiPixelQualityHistory::SiPixelQualityHistory(const edm::ParameterSet& iConfig) for (const auto& ps : m_monitoredspq) { m_spqTokens.emplace_back( - esConsumes(edm::ESInputTag(ps.getParameter("spqLabel")))); + esConsumes(edm::ESInputTag{"", ps.getParameter("spqLabel")})); std::string name = ps.getParameter("name"); diff --git a/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc b/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc index 755539df420fc..3e853c5a27f1f 100644 --- a/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc +++ b/DPGAnalysis/SiStripTools/plugins/SiStripQualityHistory.cc @@ -106,7 +106,7 @@ SiStripQualityHistory::SiStripQualityHistory(const edm::ParameterSet& iConfig) for (const auto& ps : _monitoredssq) { _ssqTokens.emplace_back( - esConsumes(edm::ESInputTag(ps.getParameter("ssqLabel")))); + esConsumes(edm::ESInputTag{"", ps.getParameter("ssqLabel")})); std::string name = ps.getParameter("name"); // _history[name] = tfserv->make(); // _history[name]->SetName(name.c_str()); _history[name]->SetTitle(name.c_str()); diff --git a/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc b/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc index bb1bfceff6038..b8e38e97d4379 100644 --- a/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc +++ b/RecoLocalTracker/SiStripClusterizer/src/StripClusterizerAlgorithmFactory.cc @@ -12,7 +12,7 @@ std::unique_ptr StripClusterizerAlgorithmFactory::cre if (algorithm == "ThreeThresholdAlgorithm") { return std::unique_ptr( new ThreeThresholdAlgorithm(iC.esConsumes( - edm::ESInputTag(conf.getParameter("ConditionsLabel"))), + edm::ESInputTag{"", conf.getParameter("ConditionsLabel")}), conf.getParameter("ChannelThreshold"), conf.getParameter("SeedThreshold"), conf.getParameter("ClusterThreshold"), From a6008426c01b75616dcf76673c9fb50ebe72e34b Mon Sep 17 00:00:00 2001 From: Pieter David Date: Fri, 16 Oct 2020 15:10:46 +0200 Subject: [PATCH 17/22] remove SiStripClusterizerFromRaw::beginRun (initialize is called for every event from produce) --- .../SiStripClusterizer/plugins/ClustersFromRawProducer.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc index f6043d0f8d688..ce456617dbc22 100644 --- a/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc +++ b/RecoLocalTracker/SiStripClusterizer/plugins/ClustersFromRawProducer.cc @@ -183,8 +183,6 @@ class SiStripClusterizerFromRaw final : public edm::stream::EDProducer<> { assert(rawAlgos_.get()); } - void beginRun(const edm::Run&, const edm::EventSetup& es) override { initialize(es); } - void produce(edm::Event& ev, const edm::EventSetup& es) override { initialize(es); From 75d320709cddcc831b6a492517dc38b6a7caef8d Mon Sep 17 00:00:00 2001 From: Pieter David Date: Mon, 19 Oct 2020 12:18:18 +0200 Subject: [PATCH 18/22] Use label in DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc --- .../SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc index e75de1ffdd304..29a4200ebdff8 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc @@ -75,7 +75,6 @@ class APVCyclePhaseProducerFromL1TS : public edm::stream::EDProducer<> { edm::ESGetToken _confObjectToken; edm::ESGetToken _tTopoToken; const bool m_ignoreDB; - const std::string m_rcdLabel; std::vector _defpartnames; std::vector _defphases; bool _useEC0; @@ -109,10 +108,10 @@ APVCyclePhaseProducerFromL1TS::APVCyclePhaseProducerFromL1TS(const edm::Paramete _l1tscollectionToken( consumes(iConfig.getParameter("l1TSCollection"))), _tcdsRecordToken(consumes(iConfig.getParameter("tcdsRecordLabel"))), - _confObjectToken(esConsumes()), + _confObjectToken(esConsumes( + edm::ESInputTag{"", iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")})), _tTopoToken(esConsumes()), m_ignoreDB(iConfig.getUntrackedParameter("ignoreDB", false)), - m_rcdLabel(iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")), _defpartnames(iConfig.getParameter >("defaultPartitionNames")), _defphases(iConfig.getParameter >("defaultPhases")), _useEC0(iConfig.getUntrackedParameter("useEC0", false)), From d854f3701fba25d06dc3f8ea98164b04b3c25c5a Mon Sep 17 00:00:00 2001 From: Pieter David Date: Sat, 24 Oct 2020 11:03:49 +0200 Subject: [PATCH 19/22] Avoid ESHandle where possible --- .../SiStripProcessedRawDigiProducer.cc | 30 +++++++++++-------- .../plugins/SiStripProcessedRawDigiProducer.h | 19 ++++++++---- .../SiStripTools/interface/Multiplicities.h | 7 ++--- .../SiStripTools/plugins/APVShotsFilter.cc | 1 - .../plugins/CommonModeAnalyzer.cc | 1 - .../SiStripTools/plugins/LargeEvents.cc | 5 ++-- .../plugins/TrackerDpgAnalysis.cc | 12 ++++---- .../plugins/SiStripRawToDigiModule.cc | 2 -- .../interface/IteratedMedianCMNSubtractor.h | 5 ++-- .../interface/SiStripAPVRestorer.h | 7 ++--- .../interface/SiStripPedestalsSubtractor.h | 3 +- .../interface/TT6CMNSubtractor.h | 5 ++-- .../src/IteratedMedianCMNSubtractor.cc | 4 +-- .../src/SiStripAPVRestorer.cc | 6 ++-- .../src/SiStripPedestalsSubtractor.cc | 2 +- .../src/TT6CMNSubtractor.cc | 5 ++-- .../test/SiStripBaselineAnalyzer.cc | 5 ++-- .../test/SiStripHybridFormatAnalyzer.cc | 1 - .../test/SiStripMeanCMExtractor.cc | 5 ++-- 19 files changed, 60 insertions(+), 65 deletions(-) diff --git a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc index c010a6e2644a6..04ea834f65969 100644 --- a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc +++ b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.cc @@ -29,17 +29,17 @@ void SiStripProcessedRawDigiProducer::produce(edm::Event& e, const edm::EventSet edm::Handle > inputDigis; edm::Handle > inputRawdigis; - gainHandle_ = es.getHandle(gainToken_); + const auto& gain = es.getData(gainToken_); subtractorPed_->init(es); subtractorCMN_->init(es); std::string label = findInput(inputRawdigis, inputTokensRawDigi_, e); if ("VirginRaw" == label) - vr_process(*inputRawdigis, *output); + vr_process(*inputRawdigis, *output, gain); else if ("ProcessedRaw" == label) - pr_process(*inputRawdigis, *output); + pr_process(*inputRawdigis, *output, gain); else if ("ZeroSuppressed" == findInput(inputDigis, inputTokensDigi_, e)) - zs_process(*inputDigis, *output); + zs_process(*inputDigis, *output, gain); else edm::LogError("Input Not Found"); @@ -63,7 +63,8 @@ inline std::string SiStripProcessedRawDigiProducer::findInput(edm::Handle& ha } void SiStripProcessedRawDigiProducer::zs_process(const edm::DetSetVector& input, - edm::DetSetVector& output) { + edm::DetSetVector& output, + const SiStripGain& gain) { std::vector digis; for (edm::DetSetVector::const_iterator detset = input.begin(); detset != input.end(); ++detset) { digis.clear(); @@ -71,39 +72,42 @@ void SiStripProcessedRawDigiProducer::zs_process(const edm::DetSetVectorstrip(), 0); digis.push_back(digi->adc()); } - common_process(detset->id, digis, output); + common_process(detset->id, digis, output, gain); } } void SiStripProcessedRawDigiProducer::pr_process(const edm::DetSetVector& input, - edm::DetSetVector& output) { + edm::DetSetVector& output, + const SiStripGain& gain) { for (edm::DetSetVector::const_iterator detset = input.begin(); detset != input.end(); ++detset) { std::vector digis; transform( detset->begin(), detset->end(), back_inserter(digis), std::bind(&SiStripRawDigi::adc, std::placeholders::_1)); subtractorCMN_->subtract(detset->id, 0, digis); - common_process(detset->id, digis, output); + common_process(detset->id, digis, output, gain); } } void SiStripProcessedRawDigiProducer::vr_process(const edm::DetSetVector& input, - edm::DetSetVector& output) { + edm::DetSetVector& output, + const SiStripGain& gain) { for (edm::DetSetVector::const_iterator detset = input.begin(); detset != input.end(); ++detset) { std::vector int_digis(detset->size()); subtractorPed_->subtract(*detset, int_digis); std::vector digis(int_digis.begin(), int_digis.end()); subtractorCMN_->subtract(detset->id, 0, digis); - common_process(detset->id, digis, output); + common_process(detset->id, digis, output, gain); } } void SiStripProcessedRawDigiProducer::common_process(const uint32_t detId, std::vector& digis, - edm::DetSetVector& output) { + edm::DetSetVector& output, + const SiStripGain& gain) { //Apply Gains - SiStripApvGain::Range detGainRange = gainHandle_->getRange(detId); + SiStripApvGain::Range detGainRange = gain.getRange(detId); for (std::vector::iterator it = digis.begin(); it < digis.end(); ++it) - (*it) /= (gainHandle_->getStripGain(it - digis.begin(), detGainRange)); + (*it) /= (gain.getStripGain(it - digis.begin(), detGainRange)); //Insert as DetSet edm::DetSet ds(detId); diff --git a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h index 476f2330352c3..b383316806919 100644 --- a/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h +++ b/AnalysisAlgos/SiStripClusterInfoProducer/plugins/SiStripProcessedRawDigiProducer.h @@ -3,7 +3,6 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Utilities/interface/InputTag.h" #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h" @@ -30,16 +29,24 @@ class SiStripProcessedRawDigiProducer : public edm::EDProducer { template std::string findInput(edm::Handle& handle, const std::vector >& tokens, const edm::Event& e); - void vr_process(const edm::DetSetVector&, edm::DetSetVector&); - void pr_process(const edm::DetSetVector&, edm::DetSetVector&); - void zs_process(const edm::DetSetVector&, edm::DetSetVector&); - void common_process(const uint32_t, std::vector&, edm::DetSetVector&); + void vr_process(const edm::DetSetVector&, + edm::DetSetVector&, + const SiStripGain&); + void pr_process(const edm::DetSetVector&, + edm::DetSetVector&, + const SiStripGain&); + void zs_process(const edm::DetSetVector&, + edm::DetSetVector&, + const SiStripGain&); + void common_process(const uint32_t, + std::vector&, + edm::DetSetVector&, + const SiStripGain&); std::vector inputTags_; std::vector > > inputTokensDigi_; std::vector > > inputTokensRawDigi_; edm::ESGetToken gainToken_; - edm::ESHandle gainHandle_; std::unique_ptr subtractorPed_; std::unique_ptr subtractorCMN_; diff --git a/DPGAnalysis/SiStripTools/interface/Multiplicities.h b/DPGAnalysis/SiStripTools/interface/Multiplicities.h index 756976d233c5f..be62e10c99e10 100644 --- a/DPGAnalysis/SiStripTools/interface/Multiplicities.h +++ b/DPGAnalysis/SiStripTools/interface/Multiplicities.h @@ -1,7 +1,6 @@ #ifndef DPGAnalysis_SiStripTools_Multiplicities_H #define DPGAnalysis_SiStripTools_Multiplicities_H -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ConsumesCollector.h" @@ -87,16 +86,16 @@ template void SingleMultiplicity::getEvent(const edm::Event& iEvent, const edm::EventSetup& iSetup) { m_mult = 0; - edm::ESHandle qualityHandle; + const SiStripQuality* quality = nullptr; if (m_useQuality) { - qualityHandle = iSetup.getHandle(m_qualityToken); + quality = &iSetup.getData(m_qualityToken); } edm::Handle digis; iEvent.getByToken(m_collection, digis); for (typename T::const_iterator it = digis->begin(); it != digis->end(); it++) { - if (!m_useQuality || !qualityHandle->IsModuleBad(it->detId())) { + if (!m_useQuality || !quality->IsModuleBad(it->detId())) { if (m_modthr < 0 || int(it->size()) < m_modthr) { m_mult += it->size(); // mult += it->size(); diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc index 899009fb09aab..e68f1e0a3b3d0 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc @@ -25,7 +25,6 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDFilter.h" #include "FWCore/Framework/interface/ESWatcher.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" diff --git a/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc index ddb500e0b9542..7930a17936558 100644 --- a/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/CommonModeAnalyzer.cc @@ -29,7 +29,6 @@ #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/ESWatcher.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" diff --git a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc index eb8bd2335b544..f72147f88afc3 100644 --- a/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc +++ b/DPGAnalysis/SiStripTools/plugins/LargeEvents.cc @@ -26,7 +26,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -66,7 +65,7 @@ class LargeEvents : public edm::EDFilter { int _absthr; int _modthr; bool _useQuality; - edm::ESHandle _qualityHandle; + const SiStripQuality* _qualityHandle = nullptr; edm::ESWatcher _qualityWatcher; edm::ESGetToken _qualityToken; }; @@ -109,7 +108,7 @@ bool LargeEvents::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { if (_useQuality) { if (_qualityWatcher.check(iSetup)) { - _qualityHandle = iSetup.getHandle(_qualityToken); + _qualityHandle = &iSetup.getData(_qualityToken); LogDebug("SiStripQualityUpdated") << "SiStripQuality has changed and it will be updated"; } } diff --git a/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc b/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc index cf36fdf3d3778..4cd1eeef80489 100644 --- a/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc +++ b/DPGAnalysis/SiStripTools/plugins/TrackerDpgAnalysis.cc @@ -42,7 +42,6 @@ #include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Utilities/interface/transform.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" @@ -164,8 +163,7 @@ class TrackerDpgAnalysis : public edm::EDAnalyzer { edm::ESGetToken tTopoToken_; edm::ESGetToken tkGeomToken_; edm::ESGetToken fedCablingToken_; - edm::ESHandle cabling_; - edm::ESHandle tracker_; + const TrackerGeometry* tracker_; std::multimap connections_; bool functionality_offtrackClusters_, functionality_ontrackClusters_, functionality_pixclusters_, functionality_pixvertices_, functionality_missingHits_, functionality_tracks_, functionality_vertices_, @@ -1025,7 +1023,7 @@ void TrackerDpgAnalysis::analyze(const edm::Event& iEvent, const edm::EventSetup // ------------ method called once each job just before starting event loop ------------ void TrackerDpgAnalysis::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { const auto& tTopo = iSetup.getData(tTopoToken_); - tracker_ = iSetup.getHandle(tkGeomToken_); + tracker_ = &iSetup.getData(tkGeomToken_); //HLT names bool changed(true); @@ -1045,10 +1043,10 @@ void TrackerDpgAnalysis::beginRun(const edm::Run& iRun, const edm::EventSetup& i TrackerMap tmap("Delays"); // cabling I (readout) - cabling_ = iSetup.getHandle(fedCablingToken_); - auto feds = cabling_->fedIds(); + const auto& cabling = iSetup.getData(fedCablingToken_); + auto feds = cabling.fedIds(); for (auto fedid = feds.begin(); fedid < feds.end(); ++fedid) { - auto connections = cabling_->fedConnections(*fedid); + auto connections = cabling.fedConnections(*fedid); for (auto conn = connections.begin(); conn < connections.end(); ++conn) { // Fill the "old" map to be used for lookup during analysis if (conn->isConnected()) diff --git a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc index 672a412cb5886..915938178fae2 100644 --- a/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc +++ b/EventFilter/SiStripRawToDigi/plugins/SiStripRawToDigiModule.cc @@ -153,8 +153,6 @@ namespace sistrip { std::stringstream sss; sss << "[sistrip::RawToDigiModule::" << __func__ << "]" << " Summary of FED cabling:" << std::endl; - edm::ESHandle tTopo; - setup.get().get(tTopo); cabling_->summary(sss, &setup.getData(tTopoToken_)); LogTrace("SiStripRawToDigi") << sss.str(); } diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h index 83fd2fb336ca2..7ddc44a8756cb 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h @@ -5,7 +5,6 @@ #include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" #include "CalibTracker/Records/interface/SiStripQualityRcd.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/ConsumesCollector.h" @@ -34,8 +33,8 @@ class IteratedMedianCMNSubtractor : public SiStripCommonModeNoiseSubtractor { int iterations_; edm::ESGetToken noiseToken_; edm::ESGetToken qualityToken_; - edm::ESHandle noiseHandle; - edm::ESHandle qualityHandle; + const SiStripNoises* noiseHandle; + const SiStripQuality* qualityHandle; edm::ESWatcher noiseWatcher_; edm::ESWatcher qualityWatcher_; }; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h index dd448b9965724..c9ffbe5e8f565 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h @@ -5,7 +5,6 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "CondFormats/SiStripObjects/interface/SiStripNoises.h" #include "CondFormats/SiStripObjects/interface/SiStripPedestals.h" @@ -87,9 +86,9 @@ class SiStripAPVRestorer { edm::ESGetToken qualityToken_; edm::ESGetToken noiseToken_; edm::ESGetToken pedestalToken_; - edm::ESHandle qualityHandle; - edm::ESHandle noiseHandle; - edm::ESHandle pedestalHandle; + const SiStripQuality* qualityHandle; + const SiStripNoises* noiseHandle; + const SiStripPedestals* pedestalHandle; edm::ESWatcher qualityWatcher_; edm::ESWatcher noiseWatcher_; edm::ESWatcher pedestalWatcher_; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h index 67287cbdfb479..f87445a151c3f 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h @@ -1,7 +1,6 @@ #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPEDESTALSSUBTRACTOR_H #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPPEDESTALSSUBTRACTOR_H -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/ConsumesCollector.h" @@ -25,7 +24,7 @@ class SiStripPedestalsSubtractor { : pedestalsToken_(iC.esConsumes()), fedmode_(mode) {} edm::ESGetToken pedestalsToken_; edm::ESWatcher pedestalsWatcher_; - edm::ESHandle pedestalsHandle; + const SiStripPedestals* pedestalsHandle; std::vector pedestals; bool fedmode_; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h index 4bfb9c55c7fff..dbf5594fc8105 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h @@ -4,7 +4,6 @@ #include "CondFormats/DataRecord/interface/SiStripNoisesRcd.h" #include "CalibTracker/Records/interface/SiStripQualityRcd.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/ESWatcher.h" #include "FWCore/Framework/interface/ConsumesCollector.h" class SiStripNoises; @@ -29,8 +28,8 @@ class TT6CMNSubtractor : public SiStripCommonModeNoiseSubtractor { double cut_to_avoid_signal_; edm::ESGetToken noiseToken_; edm::ESGetToken qualityToken_; - edm::ESHandle noiseHandle; - edm::ESHandle qualityHandle; + const SiStripNoises* noiseHandle; + const SiStripQuality* qualityHandle; edm::ESWatcher noiseWatcher_; edm::ESWatcher qualityWatcher_; }; diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc index 665307e6a27fe..7322e50d7f8ed 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/IteratedMedianCMNSubtractor.cc @@ -6,10 +6,10 @@ void IteratedMedianCMNSubtractor::init(const edm::EventSetup& es) { if (noiseWatcher_.check(es)) { - noiseHandle = es.getHandle(noiseToken_); + noiseHandle = &es.getData(noiseToken_); } if (qualityWatcher_.check(es)) { - qualityHandle = es.getHandle(qualityToken_); + qualityHandle = &es.getData(qualityToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc index 3aab68774d58a..36d8adb6f930d 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc @@ -54,13 +54,13 @@ SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf, edm::Consu void SiStripAPVRestorer::init(const edm::EventSetup& es) { if (noiseWatcher_.check(es)) { - noiseHandle = es.getHandle(noiseToken_); + noiseHandle = &es.getData(noiseToken_); } if (qualityWatcher_.check(es)) { - qualityHandle = es.getHandle(qualityToken_); + qualityHandle = &es.getData(qualityToken_); } if (pedestalWatcher_.check(es)) { - pedestalHandle = es.getHandle(pedestalToken_); + pedestalHandle = &es.getData(pedestalToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc index 130021489857b..03e321739638f 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc @@ -4,7 +4,7 @@ void SiStripPedestalsSubtractor::init(const edm::EventSetup& es) { if (pedestalsWatcher_.check(es)) { - pedestalsHandle = es.getHandle(pedestalsToken_); + pedestalsHandle = &es.getData(pedestalsToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc index a219672068732..0ca373a822855 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/TT6CMNSubtractor.cc @@ -4,13 +4,12 @@ #include "CalibFormats/SiStripObjects/interface/SiStripQuality.h" #include -// FIXME use ESWatcher auto-call to get rid of init (here and in IteratedMedian void TT6CMNSubtractor::init(const edm::EventSetup& es) { if (noiseWatcher_.check(es)) { - noiseHandle = es.getHandle(noiseToken_); + noiseHandle = &es.getData(noiseToken_); } if (qualityWatcher_.check(es)) { - qualityHandle = es.getHandle(qualityToken_); + qualityHandle = &es.getData(qualityToken_); } } diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc index e786f4b4ab759..51ed37e4b8ee4 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripBaselineAnalyzer.cc @@ -27,7 +27,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Common/interface/DetSet.h" #include "DataFormats/Common/interface/DetSetVector.h" @@ -83,7 +82,7 @@ class SiStripBaselineAnalyzer : public edm::one::EDAnalyzer subtractorPed_; edm::ESGetToken pedestalsToken_; - edm::ESHandle pedestalsHandle; + const SiStripPedestals* pedestalsHandle; edm::ESWatcher pedestalsWatcher_; std::vector pedestals; @@ -165,7 +164,7 @@ void SiStripBaselineAnalyzer::analyze(const edm::Event& e, const edm::EventSetup using namespace edm; if (plotPedestals_ && actualModule_ == 0) { if (pedestalsWatcher_.check(es)) { - pedestalsHandle = es.getHandle(pedestalsToken_); + pedestalsHandle = &es.getData(pedestalsToken_); } std::vector detIdV; diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc index 0dedc3797bfa0..d02fb48b14c02 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripHybridFormatAnalyzer.cc @@ -30,7 +30,6 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "DataFormats/Common/interface/DetSet.h" #include "DataFormats/Common/interface/DetSetVector.h" diff --git a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc index ae90a6e29b133..8946b31624484 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/test/SiStripMeanCMExtractor.cc @@ -28,7 +28,6 @@ #include "FWCore/Framework/interface/EventSetup.h" #include "DataFormats/Common/interface/Handle.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/one/EDProducer.h" @@ -62,7 +61,7 @@ class SiStripMeanCMExtractor : public edm::one::EDProducer<> { void init(const edm::EventSetup&); edm::ESGetToken pedestalsToken_; - edm::ESHandle pedestalHandle_; + const SiStripPedestals* pedestalHandle_; edm::ESWatcher pedestalsWatcher_; void StoreMean(const edm::DetSetVector&); @@ -99,7 +98,7 @@ void SiStripMeanCMExtractor::fillDescriptions(edm::ConfigurationDescriptions& de void SiStripMeanCMExtractor::init(const edm::EventSetup& es) { if (pedestalsWatcher_.check(es)) { - pedestalHandle_ = es.getHandle(pedestalsToken_); + pedestalHandle_ = &es.getData(pedestalsToken_); } } From c3c0e56f3dfbd49382c4c1f3828dab2c5fde7021 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Mon, 2 Nov 2020 14:49:09 +0100 Subject: [PATCH 20/22] SiStripZeroSuppression: pass ConsumesCollector by value --- .../interface/IteratedMedianCMNSubtractor.h | 2 +- .../interface/SiStripAPVRestorer.h | 2 +- .../interface/SiStripPedestalsSubtractor.h | 2 +- .../SiStripRawProcessingAlgorithms.h | 2 +- .../interface/SiStripRawProcessingFactory.h | 8 +++---- .../interface/TT6CMNSubtractor.h | 2 +- .../src/SiStripAPVRestorer.cc | 2 +- .../src/SiStripRawProcessingAlgorithms.cc | 2 +- .../src/SiStripRawProcessingFactory.cc | 24 +++++++++---------- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h index 7ddc44a8756cb..6d61c4c3c25d0 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/IteratedMedianCMNSubtractor.h @@ -24,7 +24,7 @@ class IteratedMedianCMNSubtractor : public SiStripCommonModeNoiseSubtractor { void subtract_(uint32_t detId, uint16_t firstAPV, std::vector& digis); inline float pairMedian(std::vector >& sample); - IteratedMedianCMNSubtractor(double sigma, int iterations, edm::ConsumesCollector&& iC) + IteratedMedianCMNSubtractor(double sigma, int iterations, edm::ConsumesCollector iC) : cut_to_avoid_signal_(sigma), iterations_(iterations), noiseToken_(iC.esConsumes()), diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h index c9ffbe5e8f565..6a3c8ff30d8bf 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripAPVRestorer.h @@ -26,7 +26,7 @@ class SiStripAPVRestorer { friend class SiStripRawProcessingFactory; protected: - SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector&&); + SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector); public: virtual ~SiStripAPVRestorer(){}; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h index f87445a151c3f..4175f766c47ff 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripPedestalsSubtractor.h @@ -20,7 +20,7 @@ class SiStripPedestalsSubtractor { void init(const edm::EventSetup&); private: - SiStripPedestalsSubtractor(bool mode, edm::ConsumesCollector&& iC) + SiStripPedestalsSubtractor(bool mode, edm::ConsumesCollector iC) : pedestalsToken_(iC.esConsumes()), fedmode_(mode) {} edm::ESGetToken pedestalsToken_; edm::ESWatcher pedestalsWatcher_; diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h index 5088b11b37522..53d5a6cf40a42 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingAlgorithms.h @@ -63,7 +63,7 @@ class SiStripRawProcessingAlgorithms { edm::ESGetToken tkGeomToken_; const TrackerGeometry* trGeo; - SiStripRawProcessingAlgorithms(edm::ConsumesCollector&& iC, + SiStripRawProcessingAlgorithms(edm::ConsumesCollector iC, std::unique_ptr ped, std::unique_ptr cmn, std::unique_ptr zs, diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h index 4830d0cee442c..1a84c4729ea30 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h @@ -14,13 +14,13 @@ class SiStripAPVRestorer; class SiStripRawProcessingFactory { public: - static std::unique_ptr create(const edm::ParameterSet&, edm::ConsumesCollector&&); + static std::unique_ptr create(const edm::ParameterSet&, edm::ConsumesCollector); static std::unique_ptr create_Suppressor(const edm::ParameterSet&); static std::unique_ptr create_SubtractorPed(const edm::ParameterSet&, - edm::ConsumesCollector&&); + edm::ConsumesCollector); static std::unique_ptr create_SubtractorCMN(const edm::ParameterSet&, - edm::ConsumesCollector&&); - static std::unique_ptr create_Restorer(const edm::ParameterSet&, edm::ConsumesCollector&&); + edm::ConsumesCollector); + static std::unique_ptr create_Restorer(const edm::ParameterSet&, edm::ConsumesCollector); }; #endif diff --git a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h index dbf5594fc8105..5279b7358c789 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h +++ b/RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h @@ -21,7 +21,7 @@ class TT6CMNSubtractor : public SiStripCommonModeNoiseSubtractor { template void subtract_(uint32_t detId, uint16_t firstAPV, std::vector& digis); - TT6CMNSubtractor(double in, edm::ConsumesCollector&& iC) + TT6CMNSubtractor(double in, edm::ConsumesCollector iC) : cut_to_avoid_signal_(in), noiseToken_(iC.esConsumes()), qualityToken_(iC.esConsumes()) {} diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc index 36d8adb6f930d..55166230f398e 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripAPVRestorer.cc @@ -7,7 +7,7 @@ #include #include -SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) +SiStripAPVRestorer::SiStripAPVRestorer(const edm::ParameterSet& conf, edm::ConsumesCollector iC) : qualityToken_(iC.esConsumes()), noiseToken_(iC.esConsumes()), pedestalToken_(iC.esConsumes()), diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc index 5c3e22a399e09..7c88457704755 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingAlgorithms.cc @@ -11,7 +11,7 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/SiStripRawProcessingFactory.h" #include -SiStripRawProcessingAlgorithms::SiStripRawProcessingAlgorithms(edm::ConsumesCollector&& iC, +SiStripRawProcessingAlgorithms::SiStripRawProcessingAlgorithms(edm::ConsumesCollector iC, std::unique_ptr ped, std::unique_ptr cmn, std::unique_ptr zs, diff --git a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc index 90d43ba7f9e05..c87dd2e9c89b7 100644 --- a/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc +++ b/RecoLocalTracker/SiStripZeroSuppression/src/SiStripRawProcessingFactory.cc @@ -14,25 +14,25 @@ #include "RecoLocalTracker/SiStripZeroSuppression/interface/TT6CMNSubtractor.h" std::unique_ptr SiStripRawProcessingFactory::create(const edm::ParameterSet& conf, - edm::ConsumesCollector&& iC) { + edm::ConsumesCollector iC) { return std::unique_ptr( - new SiStripRawProcessingAlgorithms(std::move(iC), - create_SubtractorPed(conf, std::move(iC)), - create_SubtractorCMN(conf, std::move(iC)), + new SiStripRawProcessingAlgorithms(iC, + create_SubtractorPed(conf, iC), + create_SubtractorCMN(conf, iC), create_Suppressor(conf), - create_Restorer(conf, std::move(iC)), + create_Restorer(conf, iC), conf.getParameter("doAPVRestore"), conf.getParameter("useCMMeanMap"))); } std::unique_ptr SiStripRawProcessingFactory::create_SubtractorPed( - const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) { + const edm::ParameterSet& conf, edm::ConsumesCollector iC) { return std::unique_ptr( - new SiStripPedestalsSubtractor(conf.getParameter("PedestalSubtractionFedMode"), std::move(iC))); + new SiStripPedestalsSubtractor(conf.getParameter("PedestalSubtractionFedMode"), iC)); } std::unique_ptr SiStripRawProcessingFactory::create_SubtractorCMN( - const edm::ParameterSet& conf, edm::ConsumesCollector&& iC) { + const edm::ParameterSet& conf, edm::ConsumesCollector iC) { const std::string mode = conf.getParameter("CommonModeNoiseSubtractionMode"); if (mode == "Median") @@ -45,7 +45,7 @@ std::unique_ptr SiStripRawProcessingFactory::c if (mode == "IteratedMedian") { return std::unique_ptr(new IteratedMedianCMNSubtractor( - conf.getParameter("CutToAvoidSignal"), conf.getParameter("Iterations"), std::move(iC))); + conf.getParameter("CutToAvoidSignal"), conf.getParameter("Iterations"), iC)); } if (mode == "FastLinear") @@ -53,7 +53,7 @@ std::unique_ptr SiStripRawProcessingFactory::c if (mode == "TT6") { return std::unique_ptr( - new TT6CMNSubtractor(conf.getParameter("CutToAvoidSignal"), std::move(iC))); + new TT6CMNSubtractor(conf.getParameter("CutToAvoidSignal"), iC)); } edm::LogError("SiStripRawProcessingFactory::create_SubtractorCMN") @@ -80,10 +80,10 @@ std::unique_ptr SiStripRawProcessingFactory::create_S } std::unique_ptr SiStripRawProcessingFactory::create_Restorer(const edm::ParameterSet& conf, - edm::ConsumesCollector&& iC) { + edm::ConsumesCollector iC) { if (!conf.exists("APVRestoreMode")) { return std::unique_ptr(nullptr); } else { - return std::unique_ptr(new SiStripAPVRestorer(conf, std::move(iC))); + return std::unique_ptr(new SiStripAPVRestorer(conf, iC)); } } From e1b35adc8586c3dc3ddd2694a794ab182bdfeb1a Mon Sep 17 00:00:00 2001 From: Pieter David Date: Mon, 2 Nov 2020 15:08:11 +0100 Subject: [PATCH 21/22] make esConsumes (and watcher construction) optional where controlled by a config parameter --- .../plugins/SiStripLAProfileBooker.cc | 4 +++- .../plugins/SiStripQualityStatistics.cc | 3 ++- .../SiStripTools/interface/Multiplicities.h | 12 ++++++++---- .../plugins/APVCyclePhaseProducerFromL1TS.cc | 14 ++++++++------ .../SiStripTools/plugins/APVShotsAnalyzer.cc | 5 +++-- DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc | 5 +++-- 6 files changed, 27 insertions(+), 16 deletions(-) diff --git a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc index 38dabcd0ac3cf..17b7e00d059e9 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc +++ b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc @@ -57,7 +57,9 @@ SiStripLAProfileBooker::SiStripLAProfileBooker(edm::ParameterSet const& conf) tTopoToken_(esConsumes()), tkGeomToken_(esConsumes()), magFieldToken_(esConsumes()), - detCablingToken_(esConsumes()) {} + detCablingToken_(conf_.getParameter("UseStripCablingDB") + ? decltype(detCablingToken_){esConsumes()} + : detCablingToken_) {} //BeginRun diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc index 6ed872e458353..a1f6dae8728b9 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc @@ -38,7 +38,8 @@ SiStripQualityStatistics::SiStripQualityStatistics(const edm::ParameterSet& iCon tTopoToken_(esConsumes()), tkDetMapToken_(esConsumes()), stripQualityToken_(esConsumes()), - fedCablingToken_(esConsumes()) { + fedCablingToken_(addBadCompFromFedErr_ ? decltype(fedCablingToken_){esConsumes()} + : fedCablingToken_) { reader = new SiStripDetInfoFileReader( iConfig .getUntrackedParameter("file", diff --git a/DPGAnalysis/SiStripTools/interface/Multiplicities.h b/DPGAnalysis/SiStripTools/interface/Multiplicities.h index be62e10c99e10..00d043c103de3 100644 --- a/DPGAnalysis/SiStripTools/interface/Multiplicities.h +++ b/DPGAnalysis/SiStripTools/interface/Multiplicities.h @@ -69,16 +69,20 @@ template SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm::ConsumesCollector&& iC) : m_modthr(iConfig.getUntrackedParameter("moduleThreshold")), m_useQuality(iConfig.getUntrackedParameter("useQuality", false)), - m_qualityToken(iC.esConsumes( - edm::ESInputTag{"", iConfig.getUntrackedParameter("qualityLabel", "")})), + m_qualityToken(m_useQuality + ? decltype(m_qualityToken){iC.esConsumes( + edm::ESInputTag{"", iConfig.getUntrackedParameter("qualityLabel", "")})} + : m_qualityToken), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} template SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm::ConsumesCollector& iC) : m_modthr(iConfig.getUntrackedParameter("moduleThreshold")), m_useQuality(iConfig.getUntrackedParameter("useQuality", false)), - m_qualityToken(iC.esConsumes( - edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))), + m_qualityToken(m_useQuality + ? decltype(m_qualityToken){iC.esConsumes( + edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))} + : m_qualityToken), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} diff --git a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc index 29a4200ebdff8..828a7226302f4 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc @@ -69,12 +69,12 @@ class APVCyclePhaseProducerFromL1TS : public edm::stream::EDProducer<> { // ----------member data --------------------------- + const bool m_ignoreDB; edm::ESWatcher m_eswatcher; edm::EDGetTokenT _l1tscollectionToken; edm::EDGetTokenT _tcdsRecordToken; edm::ESGetToken _confObjectToken; edm::ESGetToken _tTopoToken; - const bool m_ignoreDB; std::vector _defpartnames; std::vector _defphases; bool _useEC0; @@ -104,14 +104,16 @@ class APVCyclePhaseProducerFromL1TS : public edm::stream::EDProducer<> { // constructors and destructor // APVCyclePhaseProducerFromL1TS::APVCyclePhaseProducerFromL1TS(const edm::ParameterSet& iConfig) - : m_eswatcher(), + : m_ignoreDB(iConfig.getUntrackedParameter("ignoreDB", false)), + m_eswatcher(), _l1tscollectionToken( consumes(iConfig.getParameter("l1TSCollection"))), _tcdsRecordToken(consumes(iConfig.getParameter("tcdsRecordLabel"))), - _confObjectToken(esConsumes( - edm::ESInputTag{"", iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")})), - _tTopoToken(esConsumes()), - m_ignoreDB(iConfig.getUntrackedParameter("ignoreDB", false)), + _confObjectToken((!m_ignoreDB) + ? decltype(_confObjectToken){esConsumes(edm::ESInputTag{ + "", iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")})} + : _confObjectToken), + _tTopoToken((!m_ignoreDB) ? decltype(_tTopoToken){esConsumes()} : _tTopoToken), _defpartnames(iConfig.getParameter >("defaultPartitionNames")), _defphases(iConfig.getParameter >("defaultPhases")), _useEC0(iConfig.getUntrackedParameter("useEC0", false)), diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc index 9f2b011d83419..e367115922c7b 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc @@ -144,8 +144,9 @@ APVShotsAnalyzer::APVShotsAnalyzer(const edm::ParameterSet& iConfig) _apvphasecollToken(consumes(iConfig.getParameter("apvPhaseCollection"))), _tkDetMapToken(esConsumes()), _useCabling(iConfig.getUntrackedParameter("useCabling", true)), - _detCablingWatcher(this, &APVShotsAnalyzer::updateDetCabling), - _detCablingToken(esConsumes()), + _detCablingWatcher(_useCabling ? decltype(_detCablingWatcher){this, &APVShotsAnalyzer::updateDetCabling} + : decltype(_detCablingWatcher){}), + _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : _detCablingToken), _phasepart(iConfig.getUntrackedParameter("phasePartition", "None")), _zs(iConfig.getUntrackedParameter("zeroSuppressed", true)), _suffix(iConfig.getParameter("mapSuffix")), diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc index e68f1e0a3b3d0..2a49d62f5688d 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc @@ -99,8 +99,9 @@ APVShotsFilter::APVShotsFilter(const edm::ParameterSet& iConfig) _zs(iConfig.getUntrackedParameter("zeroSuppressed", true)), _nevents(0), _useCabling(iConfig.getUntrackedParameter("useCabling", true)), - _detCablingWatcher(this, &APVShotsFilter::updateDetCabling), - _detCablingToken(esConsumes()) { + _detCablingWatcher(_useCabling ? decltype(_detCablingWatcher){this, &APVShotsFilter::updateDetCabling} + : decltype(_detCablingWatcher){}), + _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : _detCablingToken) { //now do what ever initialization is needed edm::InputTag digicollection = iConfig.getParameter("digiCollection"); edm::InputTag historyProduct = iConfig.getParameter("historyProduct"); From 43187831c6e37fdaadde8433769e034a2d821025 Mon Sep 17 00:00:00 2001 From: Pieter David Date: Tue, 3 Nov 2020 11:38:31 +0100 Subject: [PATCH 22/22] fix clang warnings --- .../SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc | 2 +- .../SiStripQuality/plugins/SiStripQualityStatistics.cc | 2 +- DPGAnalysis/SiStripTools/interface/Multiplicities.h | 4 ++-- .../SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc | 5 +++-- DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc | 2 +- DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc index 17b7e00d059e9..a0596808db304 100644 --- a/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc +++ b/CalibTracker/SiStripLorentzAngle/plugins/SiStripLAProfileBooker.cc @@ -59,7 +59,7 @@ SiStripLAProfileBooker::SiStripLAProfileBooker(edm::ParameterSet const& conf) magFieldToken_(esConsumes()), detCablingToken_(conf_.getParameter("UseStripCablingDB") ? decltype(detCablingToken_){esConsumes()} - : detCablingToken_) {} + : decltype(detCablingToken_){}) {} //BeginRun diff --git a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc index a1f6dae8728b9..23753bb9f49e6 100644 --- a/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc +++ b/CalibTracker/SiStripQuality/plugins/SiStripQualityStatistics.cc @@ -39,7 +39,7 @@ SiStripQualityStatistics::SiStripQualityStatistics(const edm::ParameterSet& iCon tkDetMapToken_(esConsumes()), stripQualityToken_(esConsumes()), fedCablingToken_(addBadCompFromFedErr_ ? decltype(fedCablingToken_){esConsumes()} - : fedCablingToken_) { + : decltype(fedCablingToken_){}) { reader = new SiStripDetInfoFileReader( iConfig .getUntrackedParameter("file", diff --git a/DPGAnalysis/SiStripTools/interface/Multiplicities.h b/DPGAnalysis/SiStripTools/interface/Multiplicities.h index 00d043c103de3..ef0a759f38dec 100644 --- a/DPGAnalysis/SiStripTools/interface/Multiplicities.h +++ b/DPGAnalysis/SiStripTools/interface/Multiplicities.h @@ -72,7 +72,7 @@ SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm: m_qualityToken(m_useQuality ? decltype(m_qualityToken){iC.esConsumes( edm::ESInputTag{"", iConfig.getUntrackedParameter("qualityLabel", "")})} - : m_qualityToken), + : decltype(m_qualityToken){}), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} template @@ -82,7 +82,7 @@ SingleMultiplicity::SingleMultiplicity(const edm::ParameterSet& iConfig, edm: m_qualityToken(m_useQuality ? decltype(m_qualityToken){iC.esConsumes( edm::ESInputTag(iConfig.getUntrackedParameter("qualityLabel", "")))} - : m_qualityToken), + : decltype(m_qualityToken){}), m_mult(0), m_collection(iC.consumes(iConfig.getParameter("collectionName"))) {} diff --git a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc index 828a7226302f4..a5b9b02cef142 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVCyclePhaseProducerFromL1TS.cc @@ -112,8 +112,9 @@ APVCyclePhaseProducerFromL1TS::APVCyclePhaseProducerFromL1TS(const edm::Paramete _confObjectToken((!m_ignoreDB) ? decltype(_confObjectToken){esConsumes(edm::ESInputTag{ "", iConfig.getUntrackedParameter("recordLabel", "apvphaseoffsets")})} - : _confObjectToken), - _tTopoToken((!m_ignoreDB) ? decltype(_tTopoToken){esConsumes()} : _tTopoToken), + : decltype(_confObjectToken){}), + _tTopoToken((!m_ignoreDB) ? decltype(_tTopoToken){esConsumes()} + : decltype(_tTopoToken){}), _defpartnames(iConfig.getParameter >("defaultPartitionNames")), _defphases(iConfig.getParameter >("defaultPhases")), _useEC0(iConfig.getUntrackedParameter("useEC0", false)), diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc index e367115922c7b..b9aaa4c76992e 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsAnalyzer.cc @@ -146,7 +146,7 @@ APVShotsAnalyzer::APVShotsAnalyzer(const edm::ParameterSet& iConfig) _useCabling(iConfig.getUntrackedParameter("useCabling", true)), _detCablingWatcher(_useCabling ? decltype(_detCablingWatcher){this, &APVShotsAnalyzer::updateDetCabling} : decltype(_detCablingWatcher){}), - _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : _detCablingToken), + _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : decltype(_detCablingToken){}), _phasepart(iConfig.getUntrackedParameter("phasePartition", "None")), _zs(iConfig.getUntrackedParameter("zeroSuppressed", true)), _suffix(iConfig.getParameter("mapSuffix")), diff --git a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc index 2a49d62f5688d..0a6367a9eacbb 100644 --- a/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc +++ b/DPGAnalysis/SiStripTools/plugins/APVShotsFilter.cc @@ -101,7 +101,7 @@ APVShotsFilter::APVShotsFilter(const edm::ParameterSet& iConfig) _useCabling(iConfig.getUntrackedParameter("useCabling", true)), _detCablingWatcher(_useCabling ? decltype(_detCablingWatcher){this, &APVShotsFilter::updateDetCabling} : decltype(_detCablingWatcher){}), - _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : _detCablingToken) { + _detCablingToken(_useCabling ? decltype(_detCablingToken){esConsumes()} : decltype(_detCablingToken){}) { //now do what ever initialization is needed edm::InputTag digicollection = iConfig.getParameter("digiCollection"); edm::InputTag historyProduct = iConfig.getParameter("historyProduct");