13 const std::string jetLinkName =
"jetLink";
15 const std::vector<std::string>& nn_files,
18 std::vector<std::shared_ptr<const GNN>> nns;
19 for (
const auto& nn_file: nn_files) {
20 nns.emplace_back(std::make_shared<const GNN>(nn_file, o));
29 const std::vector<std::string>& nn_files,
30 const std::string& fold_hash_name,
36 const std::vector<std::shared_ptr<const GNN>>& nns,
37 const std::string& fold_hash_name):
56 auto first =
m_folds.at(0)->getDependencies();
57 for (
size_t idx = 1; idx<
m_folds.size(); idx++) {
58 if (
m_folds.at(idx)->getDependencies() != first) {
59 throw std::runtime_error(
"inconsistent dependencies in folds");
64 first.bTagInputs.insert(
virtual void decorateWithDefaults(const xAOD::IParticle &jet) const
virtual void decorate(const xAOD::IParticle &i_jet) const
SG::AuxElement::ConstAccessor< uint32_t > m_fold_hash
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
void decorate(const xAOD::IParticle &i_jet) const
FTagDataDependencyNames getDependencies() const
MultifoldGNN(const std::vector< std::string > &folds, const std::string &fold_hash_name, const FlavorTagInference::GNNOptions &opts)
void decorateWithDefaults(const xAOD::IParticle &i_jet) const
const FlavorTagInference::GNN & getFold(const SG::AuxElement &element) const
std::vector< std::shared_ptr< const FlavorTagInference::GNN > > m_folds
Base class for elements of a container that can have aux data.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Class providing the definition of the 4-vector interface.
This file contains "getter" functions used for accessing tagger inputs from the EDM.