74 const float coneSize = isodef.getParameter<
double>(
"coneSize");
76 sprintf(buf,
"DR%.2f", coneSize);
78 auto decimal = coneName.find(
'.');
79 if (decimal != std::string::npos)
80 coneName.erase(decimal, 1);
83 theisolator->setConsumes(consumesCollector());
84 const auto thetype = _typeMap.find(isotype);
85 if (thetype == _typeMap.end()) {
86 throw cms::Exception(
"InvalidIsolationType") <<
"Isolation type: " << isotype <<
" is not available in the "
87 <<
"list of allowed isolations!.";
90 std::string pname = isotype + dash + coneName + dash + theisolator->additionalCode();
91 _product_names[thetype->second].emplace_back(pname);
92 produces<edm::ValueMap<float>>(
pname);
93 _isolation_types[thetype->second].emplace_back(
std::move(theisolator));
const std::vector< edm::ParameterSet > & isoDefs