Skip to content

Commit

Permalink
Improve constructor for PhotonIsolationCalculator
Browse files Browse the repository at this point in the history
It is in general better to use a constructor rather than a setup
method.
  • Loading branch information
Dr15Jones committed Oct 7, 2024
1 parent 743d18e commit 228bf6e
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 49 deletions.
13 changes: 6 additions & 7 deletions RecoEgamma/EgammaPhotonProducers/src/GEDPhotonProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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<PhotonIsolationCalculator>();
edm::ParameterSet isolationSumsCalculatorSet = config.getParameter<edm::ParameterSet>("isolationSumsCalculatorSet");
photonIsoCalculator_->setup(isolationSumsCalculatorSet,
flagsexclEB_,
flagsexclEE_,
severitiesexclEB_,
severitiesexclEE_,
consumesCollector());
photonIsoCalculator_ = std::make_unique<PhotonIsolationCalculator>(isolationSumsCalculatorSet,
flagsexclEB_,
flagsexclEE_,
severitiesexclEB_,
severitiesexclEE_,
consumesCollector());
edm::ParameterSet mipVariableSet = config.getParameter<edm::ParameterSet>("mipVariableSet");
photonMIPHaloTagger_ = std::make_unique<PhotonMIPHaloTagger>(mipVariableSet, consumesCollector());
}
Expand Down
40 changes: 14 additions & 26 deletions RecoEgamma/EgammaPhotonProducers/src/PhotonProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,20 @@ DEFINE_FWK_MODULE(PhotonProducer);
PhotonProducer::PhotonProducer(const edm::ParameterSet& config)
: caloGeomToken_(esConsumes()),
topologyToken_(esConsumes()),
flagsexclEB_{StringToEnumValue<EcalRecHit::Flags>(
config.getParameter<std::vector<std::string>>("RecHitFlagToBeExcludedEB"))},
flagsexclEE_{StringToEnumValue<EcalRecHit::Flags>(
config.getParameter<std::vector<std::string>>("RecHitFlagToBeExcludedEE"))},
severitiesexclEB_{StringToEnumValue<EcalSeverityLevel::SeverityLevel>(
config.getParameter<std::vector<std::string>>("RecHitSeverityToBeExcludedEB"))},
severitiesexclEE_{StringToEnumValue<EcalSeverityLevel::SeverityLevel>(
config.getParameter<std::vector<std::string>>("RecHitSeverityToBeExcludedEE"))},
photonIsolationCalculator_(config.getParameter<edm::ParameterSet>("isolationSumsCalculatorSet"),
flagsexclEB_,
flagsexclEE_,
severitiesexclEB_,
severitiesexclEE_,
consumesCollector()),
photonMIPHaloTagger_(config.getParameter<edm::ParameterSet>("mipVariableSet"), consumesCollector()),
photonEnergyCorrector_(config, consumesCollector()) {
// use configuration file to setup input/output collection names
Expand Down Expand Up @@ -154,28 +168,6 @@ PhotonProducer::PhotonProducer(const edm::ParameterSet& config)
hcalCutsToken_ = esConsumes<HcalPFCuts, HcalPFCutsRcd>(edm::ESInputTag("", "withTopo"));
}

//AA
//Flags and Severities to be excluded from photon calculations
const std::vector<std::string> flagnamesEB =
config.getParameter<std::vector<std::string>>("RecHitFlagToBeExcludedEB");

const std::vector<std::string> flagnamesEE =
config.getParameter<std::vector<std::string>>("RecHitFlagToBeExcludedEE");

flagsexclEB_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEB);

flagsexclEE_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEE);

const std::vector<std::string> severitynamesEB =
config.getParameter<std::vector<std::string>>("RecHitSeverityToBeExcludedEB");

severitiesexclEB_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEB);

const std::vector<std::string> severitynamesEE =
config.getParameter<std::vector<std::string>>("RecHitSeverityToBeExcludedEE");

severitiesexclEE_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEE);

ElectronHcalHelper::Configuration cfgCone, cfgBc;
cfgCone.hOverEConeSize = hOverEConeSize_;
if (cfgCone.hOverEConeSize > 0) {
Expand Down Expand Up @@ -245,10 +237,6 @@ PhotonProducer::PhotonProducer(const edm::ParameterSet& config)
preselCutValuesEndcap_.push_back(config.getParameter<double>("sigmaIetaIetaCutEndcap"));
//

edm::ParameterSet isolationSumsCalculatorSet = config.getParameter<edm::ParameterSet>("isolationSumsCalculatorSet");
photonIsolationCalculator_.setup(
isolationSumsCalculatorSet, flagsexclEB_, flagsexclEE_, severitiesexclEB_, severitiesexclEE_, consumesCollector());

// Register the product
produces<reco::PhotonCollection>(PhotonCollection_);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,14 @@ class EcalSeverityLevelAlgoRcd;

class PhotonIsolationCalculator {
public:
PhotonIsolationCalculator() {}

~PhotonIsolationCalculator() {}

void setup(const edm::ParameterSet& conf,
std::vector<int> const& flagsEB_,
std::vector<int> const& flagsEE_,
std::vector<int> const& severitiesEB_,
std::vector<int> const& severitiesEE_,
edm::ConsumesCollector&& iC);
PhotonIsolationCalculator(const edm::ParameterSet& conf,
std::vector<int> const& flagsEB_,
std::vector<int> const& flagsEE_,
std::vector<int> const& severitiesEB_,
std::vector<int> const& severitiesEE_,
edm::ConsumesCollector&& iC);

~PhotonIsolationCalculator() = default;

void calculate(const reco::Photon*,
const edm::Event&,
Expand Down
12 changes: 6 additions & 6 deletions RecoEgamma/PhotonIdentification/src/PhotonIsolationCalculator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@

#include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgoRcd.h"

void PhotonIsolationCalculator::setup(const edm::ParameterSet& conf,
std::vector<int> const& flagsEB,
std::vector<int> const& flagsEE,
std::vector<int> const& severitiesEB,
std::vector<int> const& severitiesEE,
edm::ConsumesCollector&& iC) {
PhotonIsolationCalculator::PhotonIsolationCalculator(const edm::ParameterSet& conf,
std::vector<int> const& flagsEB,
std::vector<int> const& flagsEE,
std::vector<int> const& severitiesEB,
std::vector<int> const& severitiesEE,
edm::ConsumesCollector&& iC) {
trackInputTag_ = iC.consumes<reco::TrackCollection>(conf.getParameter<edm::InputTag>("trackProducer"));
beamSpotProducerTag_ = iC.consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("beamSpotProducer"));
barrelecalCollection_ =
Expand Down

0 comments on commit 228bf6e

Please sign in to comment.