![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef DATA_PREP_UTILITIES_H
6 #define DATA_PREP_UTILITIES_H
20 #include "lwtnn/lightweight_network_config.hh"
27 #include <type_traits>
62 typedef std::pair<std::string, double>
NamedVar;
65 typedef std::vector<const xAOD::TrackParticle*>
Tracks;
96 if (std::isnan(ret_value) && !is_default) {
97 throw std::runtime_error(
98 "Found NAN value for '" +
m_name
99 +
"'. This is only allowed when using a default"
100 " value for this input");
103 return {
m_name, is_default ? NAN : ret_value};
107 template <
typename T>
122 if (std::isnan(ret_value)) {
123 throw std::runtime_error(
124 "Found NAN value for '" +
m_name +
"'.");
127 return {
m_name, ret_value};
137 const std::string& defaultflag);
141 typedef std::vector<std::pair<std::string, OutputSetterFloat>>
OutNodeFloat;
154 std::vector<FTagInputConfig>,
155 std::vector<ConstituentsInputConfig>,
159 std::map<std::string, std::string> remap_scalar,
164 std::vector<internal::VarFromBTag>,
165 std::vector<internal::VarFromJet>,
168 const std::vector<FTagInputConfig>&
inputs);
172 std::map<std::string, internal::OutNodeFloat>,
174 std::set<std::string>>
176 const lwt::GraphConfig&
config,
182 std::vector<SG::AuxElement::Decorator<char>>,
184 std::set<std::string>>
190 const std::map<std::string, std::string>& requested,
191 const std::set<std::string>&
used);
std::function< NamedVar(const Jet &)> VarFromJet
NamedVar operator()(const SG::AuxElement &btag) const
std::tuple< std::vector< FTagInputConfig >, std::vector< ConstituentsInputConfig >, FTagOptions > createGetterConfig(lwt::GraphConfig &graph_config, FlipTagConfig flip_config, std::map< std::string, std::string > remap_scalar, TrackLinkType track_link_type)
std::tuple< std::function< char(const internal::Tracks &)>, std::vector< SG::AuxElement::Decorator< char > >, FTagDataDependencyNames, std::set< std::string > > createIpChecker(const lwt::GraphConfig &, const FTagOptions &)
This file contains "getter" functions used for accessing tagger inputs from the EDM.
NamedVar operator()(const SG::AuxElement &btag) const
std::vector< std::pair< std::regex, std::string > > StringRegexes
Base class for elements of a container that can have aux data.
AE::ConstAccessor< T > m_getter
std::string track_link_name
std::string invalid_ip_key
float default_output_value
Helper class to provide constant type-safe access to aux data.
std::tuple< std::map< std::string, internal::OutNodeFloat >, FTagDataDependencyNames, std::set< std::string > > createDecorators(const lwt::GraphConfig &config, const FTagOptions &options)
AE::ConstAccessor< char > m_default_flag
BVarGetterNoDefault(const std::string &name)
SG::AuxElement::Decorator< float > OutputSetterFloat
std::vector< const xAOD::TrackParticle * > Tracks
Helper class to provide type-safe access to aux data.
BVarGetter(const std::string &name, const std::string &default_flag)
std::map< std::string, std::string > remap_scalar
VarFromBTag varFromBTag(const std::string &name, EDMType, const std::string &defaultflag)
void checkForUnusedRemaps(const std::map< std::string, std::string > &requested, const std::set< std::string > &used)
std::pair< std::string, double > NamedVar
AE::ConstAccessor< T > m_getter
std::function< NamedVar(const SG::AuxElement &)> VarFromBTag
TrackLinkType track_link_type
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
std::tuple< std::vector< internal::VarFromBTag >, std::vector< internal::VarFromJet >, FTagDataDependencyNames > createBvarGetters(const std::vector< FTagInputConfig > &inputs)
std::vector< std::pair< std::string, OutputSetterFloat > > OutNodeFloat
StringRegexes getNameFlippers(const FlipTagConfig &flip_config)