From 228bf6e028fb1994c739e3ac0af88fd90f3c2b87 Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Mon, 7 Oct 2024 09:03:13 -0500 Subject: [PATCH] Improve constructor for PhotonIsolationCalculator It is in general better to use a constructor rather than a setup method. --- .../src/GEDPhotonProducer.cc | 13 +++--- .../src/PhotonProducer.cc | 40 +++++++------------ .../interface/PhotonIsolationCalculator.h | 18 ++++----- .../src/PhotonIsolationCalculator.cc | 12 +++--- 4 files changed, 34 insertions(+), 49 deletions(-) diff --git a/RecoEgamma/EgammaPhotonProducers/src/GEDPhotonProducer.cc b/RecoEgamma/EgammaPhotonProducers/src/GEDPhotonProducer.cc index 6344c589a519b..009467ec07b4d 100644 --- a/RecoEgamma/EgammaPhotonProducers/src/GEDPhotonProducer.cc +++ b/RecoEgamma/EgammaPhotonProducers/src/GEDPhotonProducer.cc @@ -426,14 +426,13 @@ GEDPhotonProducer::GEDPhotonProducer(const edm::ParameterSet& config, const Cach //moved from beginRun to here, I dont see how this could cause harm as its just reading in the exactly same parameters each run if (!recoStep_.isFinal()) { - photonIsoCalculator_ = std::make_unique(); edm::ParameterSet isolationSumsCalculatorSet = config.getParameter("isolationSumsCalculatorSet"); - photonIsoCalculator_->setup(isolationSumsCalculatorSet, - flagsexclEB_, - flagsexclEE_, - severitiesexclEB_, - severitiesexclEE_, - consumesCollector()); + photonIsoCalculator_ = std::make_unique(isolationSumsCalculatorSet, + flagsexclEB_, + flagsexclEE_, + severitiesexclEB_, + severitiesexclEE_, + consumesCollector()); edm::ParameterSet mipVariableSet = config.getParameter("mipVariableSet"); photonMIPHaloTagger_ = std::make_unique(mipVariableSet, consumesCollector()); } diff --git a/RecoEgamma/EgammaPhotonProducers/src/PhotonProducer.cc b/RecoEgamma/EgammaPhotonProducers/src/PhotonProducer.cc index 3f2b6d6189962..a90c6cece1802 100644 --- a/RecoEgamma/EgammaPhotonProducers/src/PhotonProducer.cc +++ b/RecoEgamma/EgammaPhotonProducers/src/PhotonProducer.cc @@ -125,6 +125,20 @@ DEFINE_FWK_MODULE(PhotonProducer); PhotonProducer::PhotonProducer(const edm::ParameterSet& config) : caloGeomToken_(esConsumes()), topologyToken_(esConsumes()), + flagsexclEB_{StringToEnumValue( + config.getParameter>("RecHitFlagToBeExcludedEB"))}, + flagsexclEE_{StringToEnumValue( + config.getParameter>("RecHitFlagToBeExcludedEE"))}, + severitiesexclEB_{StringToEnumValue( + config.getParameter>("RecHitSeverityToBeExcludedEB"))}, + severitiesexclEE_{StringToEnumValue( + config.getParameter>("RecHitSeverityToBeExcludedEE"))}, + photonIsolationCalculator_(config.getParameter("isolationSumsCalculatorSet"), + flagsexclEB_, + flagsexclEE_, + severitiesexclEB_, + severitiesexclEE_, + consumesCollector()), photonMIPHaloTagger_(config.getParameter("mipVariableSet"), consumesCollector()), photonEnergyCorrector_(config, consumesCollector()) { // use configuration file to setup input/output collection names @@ -154,28 +168,6 @@ PhotonProducer::PhotonProducer(const edm::ParameterSet& config) hcalCutsToken_ = esConsumes(edm::ESInputTag("", "withTopo")); } - //AA - //Flags and Severities to be excluded from photon calculations - const std::vector flagnamesEB = - config.getParameter>("RecHitFlagToBeExcludedEB"); - - const std::vector flagnamesEE = - config.getParameter>("RecHitFlagToBeExcludedEE"); - - flagsexclEB_ = StringToEnumValue(flagnamesEB); - - flagsexclEE_ = StringToEnumValue(flagnamesEE); - - const std::vector severitynamesEB = - config.getParameter>("RecHitSeverityToBeExcludedEB"); - - severitiesexclEB_ = StringToEnumValue(severitynamesEB); - - const std::vector severitynamesEE = - config.getParameter>("RecHitSeverityToBeExcludedEE"); - - severitiesexclEE_ = StringToEnumValue(severitynamesEE); - ElectronHcalHelper::Configuration cfgCone, cfgBc; cfgCone.hOverEConeSize = hOverEConeSize_; if (cfgCone.hOverEConeSize > 0) { @@ -245,10 +237,6 @@ PhotonProducer::PhotonProducer(const edm::ParameterSet& config) preselCutValuesEndcap_.push_back(config.getParameter("sigmaIetaIetaCutEndcap")); // - edm::ParameterSet isolationSumsCalculatorSet = config.getParameter("isolationSumsCalculatorSet"); - photonIsolationCalculator_.setup( - isolationSumsCalculatorSet, flagsexclEB_, flagsexclEE_, severitiesexclEB_, severitiesexclEE_, consumesCollector()); - // Register the product produces(PhotonCollection_); } diff --git a/RecoEgamma/PhotonIdentification/interface/PhotonIsolationCalculator.h b/RecoEgamma/PhotonIdentification/interface/PhotonIsolationCalculator.h index 85204bd35ebb1..8983bce0d8e9a 100644 --- a/RecoEgamma/PhotonIdentification/interface/PhotonIsolationCalculator.h +++ b/RecoEgamma/PhotonIdentification/interface/PhotonIsolationCalculator.h @@ -32,16 +32,14 @@ class EcalSeverityLevelAlgoRcd; class PhotonIsolationCalculator { public: - PhotonIsolationCalculator() {} - - ~PhotonIsolationCalculator() {} - - void setup(const edm::ParameterSet& conf, - std::vector const& flagsEB_, - std::vector const& flagsEE_, - std::vector const& severitiesEB_, - std::vector const& severitiesEE_, - edm::ConsumesCollector&& iC); + PhotonIsolationCalculator(const edm::ParameterSet& conf, + std::vector const& flagsEB_, + std::vector const& flagsEE_, + std::vector const& severitiesEB_, + std::vector const& severitiesEE_, + edm::ConsumesCollector&& iC); + + ~PhotonIsolationCalculator() = default; void calculate(const reco::Photon*, const edm::Event&, diff --git a/RecoEgamma/PhotonIdentification/src/PhotonIsolationCalculator.cc b/RecoEgamma/PhotonIdentification/src/PhotonIsolationCalculator.cc index 1774cb2f047ee..be5f5e940a591 100644 --- a/RecoEgamma/PhotonIdentification/src/PhotonIsolationCalculator.cc +++ b/RecoEgamma/PhotonIdentification/src/PhotonIsolationCalculator.cc @@ -26,12 +26,12 @@ #include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgoRcd.h" -void PhotonIsolationCalculator::setup(const edm::ParameterSet& conf, - std::vector const& flagsEB, - std::vector const& flagsEE, - std::vector const& severitiesEB, - std::vector const& severitiesEE, - edm::ConsumesCollector&& iC) { +PhotonIsolationCalculator::PhotonIsolationCalculator(const edm::ParameterSet& conf, + std::vector const& flagsEB, + std::vector const& flagsEE, + std::vector const& severitiesEB, + std::vector const& severitiesEE, + edm::ConsumesCollector&& iC) { trackInputTag_ = iC.consumes(conf.getParameter("trackProducer")); beamSpotProducerTag_ = iC.consumes(conf.getParameter("beamSpotProducer")); barrelecalCollection_ =