Skip to content

Commit

Permalink
Replace reference to ParameterSet with explicit parameter values
Browse files Browse the repository at this point in the history
  • Loading branch information
makortel committed Aug 9, 2023
1 parent 4ef6285 commit a0ad094
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 23 deletions.
45 changes: 23 additions & 22 deletions CalibCalorimetry/HcalPlugins/src/HBHEDarkeningEP.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,28 @@
#include <vector>
#include <map>

HBHEDarkeningEP::HBHEDarkeningEP(const edm::ParameterSet& pset) : pset_(pset) {
HBHEDarkeningEP::HBHEDarkeningEP(const edm::ParameterSet& pset)
: drdA_(pset.getParameter<double>("drdA")),
drdB_(pset.getParameter<double>("drdB")),
ieta_shift_(pset.getParameter<int>("ieta_shift")) {
setWhatProduced(this);
findingRecord<HBHEDarkeningRecord>();

const std::vector<edm::ParameterSet>& p_dosemaps = pset.getParameter<std::vector<edm::ParameterSet>>("dosemaps");
dosemaps_.reserve(p_dosemaps.size());
for (const auto& p_dosemap : p_dosemaps) {
dosemaps_.push_back({p_dosemap.getParameter<edm::FileInPath>("file"), p_dosemap.getParameter<int>("energy")});
}

//initialize years
const std::vector<edm::ParameterSet>& p_years = pset.getParameter<std::vector<edm::ParameterSet>>("years");
years_.reserve(p_years.size());
for (const auto& p_year : p_years) {
years_.emplace_back(p_year.getParameter<std::string>("year"),
p_year.getParameter<double>("intlumi"),
p_year.getParameter<double>("lumirate"),
p_year.getParameter<int>("energy"));
}
}

HBHEDarkeningEP::~HBHEDarkeningEP() {}
Expand Down Expand Up @@ -45,30 +64,12 @@ void HBHEDarkeningEP::fillDescriptions(edm::ConfigurationDescriptions& descripti
// ------------ method called to produce the data ------------
HBHEDarkeningEP::ReturnType HBHEDarkeningEP::produce(const HBHEDarkeningRecord& iRecord) {
//initialize dose maps
std::vector<edm::ParameterSet> p_dosemaps = pset_.getParameter<std::vector<edm::ParameterSet>>("dosemaps");
std::map<int, std::vector<std::vector<float>>> dosemaps;
for (const auto& p_dosemap : p_dosemaps) {
edm::FileInPath fp = p_dosemap.getParameter<edm::FileInPath>("file");
int file_energy = p_dosemap.getParameter<int>("energy");
dosemaps.emplace(file_energy, HBHEDarkening::readDoseMap(fp.fullPath()));
}

//initialize years
std::vector<edm::ParameterSet> p_years = pset_.getParameter<std::vector<edm::ParameterSet>>("years");
std::vector<HBHEDarkening::LumiYear> years;
years.reserve(p_years.size());
for (const auto& p_year : p_years) {
years.emplace_back(p_year.getParameter<std::string>("year"),
p_year.getParameter<double>("intlumi"),
p_year.getParameter<double>("lumirate"),
p_year.getParameter<int>("energy"));
for (const auto& p_dosemap : dosemaps_) {
dosemaps.emplace(p_dosemap.file_energy, HBHEDarkening::readDoseMap(p_dosemap.fp.fullPath()));
}

return std::make_unique<HBHEDarkening>(pset_.getParameter<int>("ieta_shift"),
pset_.getParameter<double>("drdA"),
pset_.getParameter<double>("drdB"),
std::move(dosemaps),
std::move(years));
return std::make_unique<HBHEDarkening>(ieta_shift_, drdA_, drdB_, std::move(dosemaps), years_);
}

DEFINE_FWK_EVENTSETUP_SOURCE(HBHEDarkeningEP);
10 changes: 9 additions & 1 deletion CalibCalorimetry/HcalPlugins/src/HBHEDarkeningEP.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,15 @@ class HBHEDarkeningEP : public edm::ESProducer, public edm::EventSetupRecordInte
edm::ValidityInterval&) override;

private:
const edm::ParameterSet& pset_;
struct Dosemap {
edm::FileInPath fp;
int file_energy;
};
std::vector<Dosemap> dosemaps_;
std::vector<HBHEDarkening::LumiYear> years_;
const double drdA_;
const double drdB_;
const int ieta_shift_;
};

#endif

0 comments on commit a0ad094

Please sign in to comment.