42 template <
typename Record>
55 template <
typename Record>
66 auto cc = setWhatProduced(
this);
68 auto apvGainLabels = iConfig.getParameter<std::vector<edm::ParameterSet>>(
"APVGain");
69 if (apvGainLabels.empty()) {
70 throw cms::Exception(
"Configuration") <<
"Got empty APVGain vector, but need at least one entry";
74 for (
const auto& gainPSet : apvGainLabels) {
78 if (
record ==
"SiStripApvGainRcd")
79 gainGetters_.emplace_back(make_GainGetter<SiStripApvGainRcd>(
cc,
record,
label));
80 else if (
record ==
"SiStripApvGain2Rcd")
81 gainGetters_.emplace_back(make_GainGetter<SiStripApvGain2Rcd>(
cc,
record,
label));
82 else if (
record ==
"SiStripApvGain3Rcd")
83 gainGetters_.emplace_back(make_GainGetter<SiStripApvGain3Rcd>(
cc,
record,
label));
86 <<
"SiStripGainESProducer::ctor ERROR: unrecognized record name " <<
record << std::endl
87 <<
"please specify one of: SiStripApvGainRcd, SiStripApvGain2Rcd, SiStripApvGain3Rcd";
88 factor_.push_back_norm(gainPSet.getUntrackedParameter<
double>(
"NormalizationFactor", 1.));
90 factor_.resetIfBadNorm();