ATLAS Offline Software
MultifoldGNN.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MULTIFOLD_GNN_H
6 #define MULTIFOLD_GNN_H
7 
11 
12 #include <vector>
13 #include <string>
14 #include <memory>
15 #include <set>
16 
17 namespace FlavorTagInference {
18  class GNN;
19  struct GNNOptions;
20 }
21 
22 namespace FlavorTagInference {
23 
25  {
26  public:
27  MultifoldGNN(const std::vector<std::string>& folds,
28  const std::string& fold_hash_name,
30  MultifoldGNN(const std::vector<std::shared_ptr<const FlavorTagInference::GNN>>& folds,
31  const std::string& fold_hash_name);
35  void decorate(const xAOD::IParticle& i_jet) const;
36  void decorateWithDefaults(const xAOD::IParticle& i_jet) const;
37 
38  std::set<std::string> getDecoratorKeys() const;
39  std::set<std::string> getAuxInputKeys() const;
40  std::set<std::string> getConstituentAuxInputKeys() const;
41  private:
42  const FlavorTagInference::GNN& getFold(const SG::AuxElement& element) const;
43  std::vector<std::shared_ptr<const FlavorTagInference::GNN>> m_folds;
46  };
47 
48 }
49 #endif
GNN.h
FlavorTagInference::MultifoldGNN
Definition: MultifoldGNN.h:25
FlavorTagInference
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
FlavorTagInference::MultifoldGNN::decorate
void decorate(const xAOD::IParticle &i_jet) const
Definition: MultifoldGNN.cxx:58
FlavorTagInference::MultifoldGNN::MultifoldGNN
MultifoldGNN(MultifoldGNN &&)
FlavorTagInference::MultifoldGNN::decorateWithDefaults
void decorateWithDefaults(const xAOD::IParticle &i_jet) const
Definition: MultifoldGNN.cxx:61
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
FlavorTagInference::MultifoldGNN::getDecoratorKeys
std::set< std::string > getDecoratorKeys() const
Definition: MultifoldGNN.cxx:66
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
FlavorTagInference::MultifoldGNN::MultifoldGNN
MultifoldGNN(const MultifoldGNN &)
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
GNNOptions.h
FlavorTagInference::MultifoldGNN::getConstituentAuxInputKeys
std::set< std::string > getConstituentAuxInputKeys() const
Definition: MultifoldGNN.cxx:74
JetContainerFwd.h
FlavorTagInference::MultifoldGNN::~MultifoldGNN
~MultifoldGNN()
FlavorTagInference::MultifoldGNN::m_jetLink
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: MultifoldGNN.h:45
FlavorTagInference::MultifoldGNN::MultifoldGNN
MultifoldGNN(const std::vector< std::string > &folds, const std::string &fold_hash_name, const FlavorTagInference::GNNOptions &opts)
Definition: MultifoldGNN.cxx:39
FlavorTagInference::GNNOptions
Definition: GNNOptions.h:16
python.FPGATrackSimAnalysisConfig.GNN
GNN
Definition: FPGATrackSimAnalysisConfig.py:802
FlavorTagInference::MultifoldGNN::getAuxInputKeys
std::set< std::string > getAuxInputKeys() const
Definition: MultifoldGNN.cxx:69
athena.opts
opts
Definition: athena.py:88
FlavorTagInference::MultifoldGNN::getFold
const FlavorTagInference::GNN & getFold(const SG::AuxElement &element) const
Definition: MultifoldGNN.cxx:78
FlavorTagInference::GNN
Definition: PhysicsAnalysis/JetTagging/FlavorTagInference/FlavorTagInference/GNN.h:40
FlavorTagInference::MultifoldGNN::m_folds
std::vector< std::shared_ptr< const FlavorTagInference::GNN > > m_folds
Definition: MultifoldGNN.h:43
FlavorTagInference::MultifoldGNN::m_fold_hash
SG::AuxElement::ConstAccessor< uint32_t > m_fold_hash
Definition: MultifoldGNN.h:44