From 308f996b3675ba58be797ecefcf6d3762d4294ca Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Fri, 26 Jan 2018 23:19:58 +0100 Subject: [PATCH] HcalRecAlgoESProducer: Remove shared_ptr class member and add copy of iConfig. The copy of iConfig is used to create the shared_ptr in the produce method. --- .../HcalRecAlgos/plugins/HcalRecAlgoESProducer.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/RecoLocalCalo/HcalRecAlgos/plugins/HcalRecAlgoESProducer.cc b/RecoLocalCalo/HcalRecAlgos/plugins/HcalRecAlgoESProducer.cc index cd216c8eaa85a..0f38439109e6c 100644 --- a/RecoLocalCalo/HcalRecAlgos/plugins/HcalRecAlgoESProducer.cc +++ b/RecoLocalCalo/HcalRecAlgos/plugins/HcalRecAlgoESProducer.cc @@ -45,12 +45,12 @@ class HcalRecAlgoESProducer : public edm::ESProducer { static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); - typedef std::shared_ptr ReturnType; + typedef std::unique_ptr ReturnType; ReturnType produce(const HcalSeverityLevelComputerRcd&); private: // ----------member data --------------------------- - ReturnType myComputer; + const edm::ParameterSet mConfig; }; // @@ -64,14 +64,13 @@ class HcalRecAlgoESProducer : public edm::ESProducer { // // constructors and destructor // -HcalRecAlgoESProducer::HcalRecAlgoESProducer(const edm::ParameterSet& iConfig) +HcalRecAlgoESProducer::HcalRecAlgoESProducer(const edm::ParameterSet& iConfig): mConfig(iConfig) { //the following line is needed to tell the framework what // data is being produced setWhatProduced(this); //now do what ever other initialization is needed - myComputer = std::make_shared(iConfig); } @@ -93,8 +92,7 @@ HcalRecAlgoESProducer::ReturnType HcalRecAlgoESProducer::produce(const HcalSeverityLevelComputerRcd& iRecord) { using namespace edm::es; - - return myComputer ; + return std::make_unique(mConfig); } void HcalRecAlgoESProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {