36 return m_object->evaluateFormula(*record, parameters);
64 const std::vector<std::string>& parameter_names =
m_object->getDefinition().getParametersName();
66 if (!uncertaintySource.empty()) {
69 std::find(parameter_names.begin(), parameter_names.end(), uncertaintySource +
"Down"));
72 std::find(parameter_names.begin(), parameter_names.end(), uncertaintySource +
"Up"));
73 if (parameter >= parameter_names.size()) {
75 for (
const auto& piece : parameter_names)
77 throw cms::Exception(
"InvalidParameter") <<
"Invalid value for 'uncertaintySource' parameter. Only " + s +
" are supported.\n";
JetResolutionScaleFactor()
float getResolution(const JetParameters ¶meters) const
static const JetResolution get(const edm::EventSetup &, const std::string &)
def setup(process, global_tag, zero_tesla=False)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::shared_ptr< JetResolutionObject > m_object
float getScaleFactor(const JetParameters ¶meters, Variation variation=Variation::NOMINAL, std::string uncertaintySource="") const
#define TYPELOOKUP_DATA_REG(_dataclass_)
const std::vector< float > & getParametersValues() const
static const JetResolutionScaleFactor get(const edm::EventSetup &, const std::string &)