45 auto itr = m_varnameToProxyLoader.find(
varname);
46 if (itr != m_varnameToProxyLoader.end()) {
47 return itr->second->variableTypeFromString(
varname);
55 }
catch (
const std::runtime_error &) {
58 m_varnameToProxyLoader.emplace(
varname, proxyLoader.get());
61 std::stringstream
msg;
62 msg <<
"MultipleProxyLoader: unable to find valid proxy loader for " <<
varname <<
"."
63 <<
" If it is an xAOD element or container which is read from the input file"
64 <<
" this problem may occur if it is not accessed anywhere in the job via read handles."
65 <<
" The problem can be mitigated by providing the missing information in the property "
66 <<
" ExtraDataForDynamicConsumers of the sequence which has the property "
67 <<
" ProcessDynamicDataDependencies set to True."
68 <<
" The property takes a list of strings of the form \'type/container-name\' e.g."
69 <<
" \'xAOD::TrackParticleContainer/InDetTrackParticles\'.";
70 throw std::runtime_error(
msg.str());
75 return m_varnameToProxyLoader.at(
varname)->loadIntVariableFromString(
varname);
80 return m_varnameToProxyLoader.at(
varname)->loadDoubleVariableFromString(
varname);
85 return m_varnameToProxyLoader.at(
varname)->loadVecIntVariableFromString(
varname);
90 return m_varnameToProxyLoader.at(
varname)->loadVecDoubleVariableFromString(
varname);