Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use make_unique in tau modules #42447

Merged
merged 3 commits into from
Aug 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions RecoTauTag/RecoTau/interface/RecoTauVertexAssociator.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ namespace reco {
enum Algorithm { kHighestPtInEvent, kClosestDeltaZ, kHighestWeigtForLeadTrack, kCombined };

RecoTauVertexAssociator(const edm::ParameterSet& pset, edm::ConsumesCollector&& iC);
virtual ~RecoTauVertexAssociator();
virtual ~RecoTauVertexAssociator(){};
/// Get the primary vertex associated to a given jet.
/// Returns a null Ref if no vertex is found.
reco::VertexRef associatedVertex(const Jet& jet) const;
Expand All @@ -72,18 +72,19 @@ namespace reco {
private:
edm::InputTag vertexTag_;
bool vxTrkFiltering_;
StringCutObjectSelector<reco::Vertex>* vertexSelector_;
std::unique_ptr<StringCutObjectSelector<reco::Vertex>> vertexSelector_;
std::vector<reco::VertexRef> selectedVertices_;
std::string algorithm_;
Algorithm algo_;
//PJ adding quality cuts
RecoTauQualityCuts* qcuts_;
std::unique_ptr<RecoTauQualityCuts> qcuts_;
bool recoverLeadingTrk_;
enum { kLeadTrack, kLeadPFCand, kMinLeadTrackOrPFCand, kFirstTrack };
int leadingTrkOrPFCandOption_;
edm::EDGetTokenT<reco::VertexCollection> vxToken_;
// containers for holding vertices associated to jets
std::map<const reco::Jet*, reco::VertexRef>* jetToVertexAssociation_;
typedef std::map<const reco::Jet*, reco::VertexRef> JetToVtxAssoc;
std::unique_ptr<JetToVtxAssoc> jetToVertexAssociation_;
edm::EventNumber_t lastEvent_;
int verbosity_;
};
Expand Down
8 changes: 8 additions & 0 deletions RecoTauTag/RecoTau/plugins/DeepTauId.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1242,6 +1242,14 @@ class DeepTauId : public edm::stream::EDProducer<edm::GlobalCache<deep_tau::Deep
void produce(edm::Event& event, const edm::EventSetup& es) override {
edm::Handle<TauCollection> taus;
event.getByToken(tausToken_, taus);

// store empty output collection(s) if tau collection is empty
if (taus->empty()) {
const tensorflow::Tensor emptyPrediction(tensorflow::DT_FLOAT, {0, deep_tau::NumberOfOutputs});
createOutputs(event, emptyPrediction, taus);
return;
}

edm::ProductID tauProductID = taus.id();

// load prediscriminators
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ namespace reco {

RecoTauVertexAssociator vertexAssociator_;

RecoTauQualityCuts* qcuts_;
std::unique_ptr<RecoTauQualityCuts> qcuts_;

edm::InputTag srcTracks_;
edm::EDGetTokenT<std::vector<TrackClass> > Tracks_token;
Expand Down Expand Up @@ -99,7 +99,7 @@ namespace reco {
qcuts_(nullptr),
magneticFieldToken_(iC.esConsumes()) {
edm::ParameterSet qcuts_pset = pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts");
qcuts_ = new RecoTauQualityCuts(qcuts_pset);
qcuts_ = std::make_unique<RecoTauQualityCuts>(qcuts_pset);

srcTracks_ = pset.getParameter<edm::InputTag>("srcTracks");
Tracks_token = iC.consumes<std::vector<TrackClass> >(srcTracks_);
Expand All @@ -113,9 +113,7 @@ namespace reco {
}

template <class TrackClass>
PFRecoTauChargedHadronFromGenericTrackPlugin<TrackClass>::~PFRecoTauChargedHadronFromGenericTrackPlugin() {
delete qcuts_;
}
PFRecoTauChargedHadronFromGenericTrackPlugin<TrackClass>::~PFRecoTauChargedHadronFromGenericTrackPlugin() {}

// Update the primary vertex
template <class TrackClass>
Expand Down Expand Up @@ -261,8 +259,8 @@ namespace reco {
if (vertexAssociator_.associatedVertex(jet).isNonnull())
vtx = vertexAssociator_.associatedVertex(jet)->position();

std::unique_ptr<PFRecoTauChargedHadron> chargedHadron(
new PFRecoTauChargedHadron(trackCharge_int, chargedPionP4, vtx, 0, true, PFRecoTauChargedHadron::kTrack));
auto chargedHadron = std::make_unique<PFRecoTauChargedHadron>(
trackCharge_int, chargedPionP4, vtx, 0, true, PFRecoTauChargedHadron::kTrack);

setChargedHadronTrack(*chargedHadron, edm::Ptr<TrackClass>(tracks, iTrack));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ namespace reco {
class PFRecoTauChargedHadronFromPFCandidatePlugin : public PFRecoTauChargedHadronBuilderPlugin {
public:
explicit PFRecoTauChargedHadronFromPFCandidatePlugin(const edm::ParameterSet&, edm::ConsumesCollector&& iC);
~PFRecoTauChargedHadronFromPFCandidatePlugin() override;
~PFRecoTauChargedHadronFromPFCandidatePlugin() override{};
// Return type is unique_ptr<ChargedHadronVector>
return_type operator()(const reco::Jet&) const override;
// Hook to update PV information
Expand All @@ -54,7 +54,7 @@ namespace reco {

RecoTauVertexAssociator vertexAssociator_;

RecoTauQualityCuts* qcuts_;
std::unique_ptr<RecoTauQualityCuts> qcuts_;

std::vector<int> inputParticleIds_; // type of candidates to clusterize

Expand Down Expand Up @@ -87,7 +87,7 @@ namespace reco {
qcuts_(nullptr),
bFieldToken_(iC.esConsumes()) {
edm::ParameterSet qcuts_pset = pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts");
qcuts_ = new RecoTauQualityCuts(qcuts_pset);
qcuts_ = std::make_unique<RecoTauQualityCuts>(qcuts_pset);

inputParticleIds_ = pset.getParameter<std::vector<int> >("chargedHadronCandidatesParticleIds");

Expand All @@ -110,8 +110,6 @@ namespace reco {
verbosity_ = pset.getParameter<int>("verbosity");
}

PFRecoTauChargedHadronFromPFCandidatePlugin::~PFRecoTauChargedHadronFromPFCandidatePlugin() { delete qcuts_; }

// Update the primary vertex
void PFRecoTauChargedHadronFromPFCandidatePlugin::beginEvent() {
vertexAssociator_.setEvent(*evt());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class PFRecoTauDiscriminationByIsolation : public PFTauDiscriminationProducerBas
++cfgFootprintCorrection) {
std::string selection = cfgFootprintCorrection->getParameter<std::string>("selection");
std::string offset = cfgFootprintCorrection->getParameter<std::string>("offset");
std::unique_ptr<FootprintCorrection> footprintCorrection(new FootprintCorrection(selection, offset));
auto footprintCorrection(std::make_unique<FootprintCorrection>(selection, offset));
footprintCorrections_.push_back(std::move(footprintCorrection));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ class PFRecoTauDiscriminationByIsolationContainer : public PFTauDiscriminationCo
++cfgFootprintCorrection) {
std::string selection = cfgFootprintCorrection->getParameter<std::string>("selection");
std::string offset = cfgFootprintCorrection->getParameter<std::string>("offset");
std::unique_ptr<FootprintCorrection> footprintCorrection(new FootprintCorrection(selection, offset));
auto footprintCorrection = std::make_unique<FootprintCorrection>(selection, offset);
footprintCorrections_.push_back(std::move(footprintCorrection));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ namespace reco {
RecoTauBuilderCombinatoricPlugin::RecoTauBuilderCombinatoricPlugin(const edm::ParameterSet& pset,
edm::ConsumesCollector&& iC)
: RecoTauBuilderPlugin(pset, std::move(iC)),
qcuts_(new RecoTauQualityCuts(pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
qcuts_(std::make_unique<RecoTauQualityCuts>(
pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
isolationConeSize_(pset.getParameter<double>("isolationConeSize")),
signalConeSize_(pset.getParameter<std::string>("signalConeSize")),
minAbsPhotonSumPt_insideSignalCone_(pset.getParameter<double>("minAbsPhotonSumPt_insideSignalCone")),
Expand Down
3 changes: 2 additions & 1 deletion RecoTauTag/RecoTau/plugins/RecoTauBuilderConePlugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ namespace reco {
// ctor - initialize all of our variables
RecoTauBuilderConePlugin::RecoTauBuilderConePlugin(const edm::ParameterSet& pset, edm::ConsumesCollector&& iC)
: RecoTauBuilderPlugin(pset, std::move(iC)),
qcuts_(new RecoTauQualityCuts(pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
qcuts_(std::make_unique<RecoTauQualityCuts>(
pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
usePFLeptonsAsChargedHadrons_(pset.getParameter<bool>("usePFLeptons")),
leadObjecPtThreshold_(pset.getParameter<double>("leadObjectPt")),
matchingCone_(pset.getParameter<std::string>("matchingCone")),
Expand Down
4 changes: 2 additions & 2 deletions RecoTauTag/RecoTau/plugins/RecoTauPiZeroCombinatoricPlugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ namespace reco {
// Find all possible combinations
for (ComboGenerator::iterator combo = generator.begin(); combo != generator.end(); ++combo) {
const Candidate::LorentzVector totalP4;
std::unique_ptr<RecoTauPiZero> piZero(
new RecoTauPiZero(0, totalP4, Candidate::Point(0, 0, 0), 111, 10001, true, RecoTauPiZero::kCombinatoric));
auto piZero = std::make_unique<RecoTauPiZero>(
0, totalP4, Candidate::Point(0, 0, 0), 111, 10001, true, RecoTauPiZero::kCombinatoric);
// Add our daughters from this combination
for (auto candidate = combo->combo_begin(); candidate != combo->combo_end(); ++candidate) {
piZero->addDaughter(*candidate);
Expand Down
3 changes: 2 additions & 1 deletion RecoTauTag/RecoTau/plugins/RecoTauPiZeroStripPlugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ namespace reco {

RecoTauPiZeroStripPlugin::RecoTauPiZeroStripPlugin(const edm::ParameterSet& pset, edm::ConsumesCollector&& iC)
: RecoTauPiZeroBuilderPlugin(pset, std::move(iC)),
qcuts_(new RecoTauQualityCuts(pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
qcuts_(std::make_unique<RecoTauQualityCuts>(
pset.getParameterSet("qualityCuts").getParameterSet("signalQualityCuts"))),
vertexAssociator_(pset.getParameter<edm::ParameterSet>("qualityCuts"), std::move(iC)) {
inputParticleIds_ = pset.getParameter<std::vector<int> >("stripCandidatesParticleIds");
etaAssociationDistance_ = pset.getParameter<double>("stripEtaAssociationDistance");
Expand Down
8 changes: 4 additions & 4 deletions RecoTauTag/RecoTau/plugins/RecoTauPiZeroStripPlugin2.cc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ namespace reco {

RecoTauVertexAssociator vertexAssociator_;

RecoTauQualityCuts* qcuts_;
std::unique_ptr<RecoTauQualityCuts> qcuts_;
bool applyElecTrackQcuts_;
double minGammaEtStripSeed_;
double minGammaEtStripAdd_;
Expand Down Expand Up @@ -113,7 +113,7 @@ namespace reco {
}
//-------------------------------------------------------------------------------
qcuts_pset.addParameter<double>("minGammaEt", std::min(minGammaEtStripSeed_, minGammaEtStripAdd_));
qcuts_ = new RecoTauQualityCuts(qcuts_pset);
qcuts_ = std::make_unique<RecoTauQualityCuts>(qcuts_pset);

inputParticleIds_ = pset.getParameter<std::vector<int> >("stripCandidatesParticleIds");
etaAssociationDistance_ = pset.getParameter<double>("stripEtaAssociationDistance");
Expand All @@ -131,7 +131,7 @@ namespace reco {
verbosity_ = pset.getParameter<int>("verbosity");
}

RecoTauPiZeroStripPlugin2::~RecoTauPiZeroStripPlugin2() { delete qcuts_; }
RecoTauPiZeroStripPlugin2::~RecoTauPiZeroStripPlugin2() {}
mbluj marked this conversation as resolved.
Show resolved Hide resolved

// Update the primary vertex
void RecoTauPiZeroStripPlugin2::beginEvent() { vertexAssociator_.setEvent(*evt()); }
Expand Down Expand Up @@ -254,7 +254,7 @@ namespace reco {
seedCandIdsCurrentStrip.clear();
addCandIdsCurrentStrip.clear();

std::unique_ptr<RecoTauPiZero> strip(new RecoTauPiZero(*seedCands[idxSeed], RecoTauPiZero::kStrips));
auto strip = std::make_unique<RecoTauPiZero>(*seedCands[idxSeed], RecoTauPiZero::kStrips);
strip->addDaughter(seedCands[idxSeed]);
seedCandIdsCurrentStrip.insert(idxSeed);

Expand Down
7 changes: 2 additions & 5 deletions RecoTauTag/RecoTau/plugins/RecoTauPiZeroStripPlugin3.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ namespace reco {
std::unique_ptr<TFormula> makeFunction(const std::string& functionName, const edm::ParameterSet& pset) {
TString formula = pset.getParameter<std::string>("function");
formula = formula.ReplaceAll("pT", "x");
std::unique_ptr<TFormula> function(new TFormula(functionName.data(), formula.Data()));
auto function = std::make_unique<TFormula>(functionName.data(), formula.Data());
int numParameter = function->GetNpar();
for (int idxParameter = 0; idxParameter < numParameter; ++idxParameter) {
std::string parameterName = Form("par%i", idxParameter);
Expand Down Expand Up @@ -133,9 +133,6 @@ namespace reco {
}
//-------------------------------------------------------------------------------
qcuts_pset.addParameter<double>("minGammaEt", std::min(minGammaEtStripSeed_, minGammaEtStripAdd_));
//qcuts_ = new RecoTauQualityCuts(qcuts_pset);
//std::unique_ptr<RecoTauQualityCuts> qcuts_(new RecoTauQualityCuts(qcuts_pset));

qcuts_ = std::make_unique<RecoTauQualityCuts>(qcuts_pset);

inputParticleIds_ = pset.getParameter<std::vector<int> >("stripCandidatesParticleIds");
Expand Down Expand Up @@ -285,7 +282,7 @@ namespace reco {
seedCandIdsCurrentStrip.clear();
addCandIdsCurrentStrip.clear();

std::unique_ptr<RecoTauPiZero> strip(new RecoTauPiZero(*seedCands[idxSeed], RecoTauPiZero::kStrips));
auto strip = std::make_unique<RecoTauPiZero>(*seedCands[idxSeed], RecoTauPiZero::kStrips);
strip->addDaughter(seedCands[idxSeed]);
seedCandIdsCurrentStrip.insert(idxSeed);

Expand Down
4 changes: 2 additions & 2 deletions RecoTauTag/RecoTau/plugins/RecoTauPiZeroTrivialPlugin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ namespace reco::tau {
output.reserve(pfGammaCands.size());

for (auto const& gamma : pfGammaCands) {
std::unique_ptr<RecoTauPiZero> piZero(
new RecoTauPiZero(0, (*gamma).p4(), (*gamma).vertex(), 22, 1000, true, RecoTauPiZero::kTrivial));
auto piZero =
rappoccio marked this conversation as resolved.
Show resolved Hide resolved
std::make_unique<RecoTauPiZero>(0, (*gamma).p4(), (*gamma).vertex(), 22, 1000, true, RecoTauPiZero::kTrivial);
piZero->addDaughter(gamma);
output.push_back(std::move(piZero));
}
Expand Down
4 changes: 2 additions & 2 deletions RecoTauTag/RecoTau/plugins/TauDiscriminantCutMultiplexer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ TauDiscriminantCutMultiplexerT<TauType, TauTypeRef, ParentClass>::TauDiscriminan
else
workingPoints = cfg.getParameter<VDouble>("workingPoints");
for (auto const& wp : workingPoints) {
std::unique_ptr<DiscriminantCutEntry> cut{new DiscriminantCutEntry()};
auto cut = std::make_unique<DiscriminantCutEntry>();
rappoccio marked this conversation as resolved.
Show resolved Hide resolved
cut->cutValue_ = wp;
cut->mode_ = DiscriminantCutEntry::kFixedCut;
cutWPs.push_back(std::move(cut));
Expand All @@ -222,7 +222,7 @@ TauDiscriminantCutMultiplexerT<TauType, TauTypeRef, ParentClass>::TauDiscriminan
else
workingPoints = cfg.getParameter<VString>("workingPoints");
for (auto const& wp : workingPoints) {
std::unique_ptr<DiscriminantCutEntry> cut{new DiscriminantCutEntry()};
auto cut = std::make_unique<DiscriminantCutEntry>();
rappoccio marked this conversation as resolved.
Show resolved Hide resolved
cut->cutName_ = categoryname + wp;
if (loadMVAfromDB_) {
cut->cutToken_ = this->esConsumes(edm::ESInputTag{"", cut->cutName_});
Expand Down
18 changes: 6 additions & 12 deletions RecoTauTag/RecoTau/src/RecoTauVertexAssociator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ namespace reco {

if (pset.exists("vxAssocQualityCuts")) {
//std::cout << " reading 'vxAssocQualityCuts'" << std::endl;
qcuts_ = new RecoTauQualityCuts(pset.getParameterSet("vxAssocQualityCuts"));
qcuts_ = std::make_unique<RecoTauQualityCuts>(pset.getParameterSet("vxAssocQualityCuts"));
} else {
//std::cout << " reading 'signalQualityCuts'" << std::endl;
qcuts_ = new RecoTauQualityCuts(pset.getParameterSet("signalQualityCuts"));
qcuts_ = std::make_unique<RecoTauQualityCuts>(pset.getParameterSet("signalQualityCuts"));
}
assert(qcuts_);

Expand All @@ -191,7 +191,7 @@ namespace reco {
if (pset.exists("vertexSelection")) {
std::string vertexSelection = pset.getParameter<std::string>("vertexSelection");
if (!vertexSelection.empty()) {
vertexSelector_ = new StringCutObjectSelector<reco::Vertex>(vertexSelection);
vertexSelector_ = std::make_unique<StringCutObjectSelector<reco::Vertex>>(vertexSelection);
}
}

Expand Down Expand Up @@ -233,12 +233,6 @@ namespace reco {
verbosity_ = (pset.exists("verbosity")) ? pset.getParameter<int>("verbosity") : 0;
}

RecoTauVertexAssociator::~RecoTauVertexAssociator() {
delete vertexSelector_;
delete qcuts_;
delete jetToVertexAssociation_;
}

void RecoTauVertexAssociator::setEvent(const edm::Event& evt) {
edm::Handle<reco::VertexCollection> vertices;
evt.getByToken(vxToken_, vertices);
Expand All @@ -256,7 +250,7 @@ namespace reco {
edm::EventNumber_t currentEvent = evt.id().event();
if (currentEvent != lastEvent_ || !jetToVertexAssociation_) {
if (!jetToVertexAssociation_)
jetToVertexAssociation_ = new std::map<const reco::Jet*, reco::VertexRef>;
jetToVertexAssociation_ = std::make_unique<JetToVtxAssoc>();
else
jetToVertexAssociation_->clear();
lastEvent_ = currentEvent;
Expand Down Expand Up @@ -390,7 +384,7 @@ namespace reco {
const Jet* jetPtr = &jet;

// check if jet-vertex association has been determined for this jet before
std::map<const reco::Jet*, reco::VertexRef>::iterator vertexPtr = jetToVertexAssociation_->find(jetPtr);
auto vertexPtr = jetToVertexAssociation_->find(jetPtr);
if (vertexPtr != jetToVertexAssociation_->end()) {
jetVertex = vertexPtr->second;
} else {
Expand Down Expand Up @@ -426,7 +420,7 @@ namespace reco {
}
}

jetToVertexAssociation_->insert(std::pair<const Jet*, reco::VertexRef>(jetPtr, jetVertex));
jetToVertexAssociation_->insert({jetPtr, jetVertex});
}

if (verbosity_ >= 1) {
Expand Down