ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FlavorTagDiscriminants::MultifoldGNN Class Reference

#include <MultifoldGNN.h>

Collaboration diagram for FlavorTagDiscriminants::MultifoldGNN:

Public Member Functions

 MultifoldGNN (const std::vector< std::string > &folds, const std::string &fold_hash_name, const GNNOptions &opts)
 
 MultifoldGNN (const std::vector< std::shared_ptr< const GNN >> &folds, const std::string &fold_hash_name)
 
 MultifoldGNN (MultifoldGNN &&)
 
 MultifoldGNN (const MultifoldGNN &)
 
 ~MultifoldGNN ()
 
void decorate (const xAOD::BTagging &btag) const
 
void decorate (const xAOD::Jet &jet) const
 
void decorateWithDefaults (const SG::AuxElement &jet) const
 
std::set< std::string > getDecoratorKeys () const
 
std::set< std::string > getAuxInputKeys () const
 
std::set< std::string > getConstituentAuxInputKeys () const
 

Private Member Functions

const GNNgetFold (const SG::AuxElement &element) const
 

Private Attributes

std::vector< std::shared_ptr< const GNN > > m_folds
 
SG::AuxElement::ConstAccessor< uint32_t > m_fold_hash
 
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
 

Detailed Description

Definition at line 21 of file MultifoldGNN.h.

Constructor & Destructor Documentation

◆ MultifoldGNN() [1/4]

FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN ( const std::vector< std::string > &  folds,
const std::string &  fold_hash_name,
const GNNOptions opts 
)

Definition at line 38 of file MultifoldGNN.cxx.

41  :
42  MultifoldGNN(getNNs(nn_files, o), fold_hash_name)
43  {
44  }

◆ MultifoldGNN() [2/4]

FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN ( const std::vector< std::shared_ptr< const GNN >> &  folds,
const std::string &  fold_hash_name 
)

Definition at line 45 of file MultifoldGNN.cxx.

47  :
48  m_folds(nns),
49  m_fold_hash(fold_hash_name),
50  m_jetLink(jetLinkName)
51  {
52  }

◆ MultifoldGNN() [3/4]

FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN ( MultifoldGNN &&  )
default

◆ MultifoldGNN() [4/4]

FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN ( const MultifoldGNN )
default

◆ ~MultifoldGNN()

FlavorTagDiscriminants::MultifoldGNN::~MultifoldGNN ( )
default

Member Function Documentation

◆ decorate() [1/2]

void FlavorTagDiscriminants::MultifoldGNN::decorate ( const xAOD::BTagging btag) const

Definition at line 57 of file MultifoldGNN.cxx.

57  {
58  getFold(**m_jetLink(btag)).decorate(btag);
59  }

◆ decorate() [2/2]

void FlavorTagDiscriminants::MultifoldGNN::decorate ( const xAOD::Jet jet) const

Definition at line 60 of file MultifoldGNN.cxx.

60  {
62  }

◆ decorateWithDefaults()

void FlavorTagDiscriminants::MultifoldGNN::decorateWithDefaults ( const SG::AuxElement jet) const

Definition at line 63 of file MultifoldGNN.cxx.

63  {
64  // note that the default values should be identical betwen all folds
65  m_folds.at(0)->decorateWithDefaults(jet);
66  }

◆ getAuxInputKeys()

std::set< std::string > FlavorTagDiscriminants::MultifoldGNN::getAuxInputKeys ( ) const

Definition at line 72 of file MultifoldGNN.cxx.

72  {
73  return merged([](const auto& f){ return f.getAuxInputKeys(); }, m_folds);
74  }

◆ getConstituentAuxInputKeys()

std::set< std::string > FlavorTagDiscriminants::MultifoldGNN::getConstituentAuxInputKeys ( ) const

Definition at line 75 of file MultifoldGNN.cxx.

75  {
76  return merged([](const auto& f){ return f.getConstituentAuxInputKeys(); }, m_folds);
77  }

◆ getDecoratorKeys()

std::set< std::string > FlavorTagDiscriminants::MultifoldGNN::getDecoratorKeys ( ) const

Definition at line 69 of file MultifoldGNN.cxx.

69  {
70  return merged([](const auto& f){ return f.getDecoratorKeys(); }, m_folds);
71  }

◆ getFold()

const GNN & FlavorTagDiscriminants::MultifoldGNN::getFold ( const SG::AuxElement element) const
private

Definition at line 79 of file MultifoldGNN.cxx.

79  {
80  return *m_folds.at(m_fold_hash(element) % m_folds.size());
81  }

Member Data Documentation

◆ m_fold_hash

SG::AuxElement::ConstAccessor<uint32_t> FlavorTagDiscriminants::MultifoldGNN::m_fold_hash
private

Definition at line 42 of file MultifoldGNN.h.

◆ m_folds

std::vector<std::shared_ptr<const GNN> > FlavorTagDiscriminants::MultifoldGNN::m_folds
private

Definition at line 41 of file MultifoldGNN.h.

◆ m_jetLink

SG::AuxElement::ConstAccessor<ElementLink<xAOD::JetContainer> > FlavorTagDiscriminants::MultifoldGNN::m_jetLink
private

Definition at line 43 of file MultifoldGNN.h.


The documentation for this class was generated from the following files:
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
BTaggingConfigFlags.getNNs
def getNNs(flags)
Definition: BTaggingConfigFlags.py:76
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::MultifoldGNN::m_jetLink
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: MultifoldGNN.h:43
FlavorTagDiscriminants::MultifoldGNN::m_folds
std::vector< std::shared_ptr< const GNN > > m_folds
Definition: MultifoldGNN.h:41
FlavorTagDiscriminants::MultifoldGNN::m_fold_hash
SG::AuxElement::ConstAccessor< uint32_t > m_fold_hash
Definition: MultifoldGNN.h:42
FlavorTagDiscriminants::MultifoldGNN::getFold
const GNN & getFold(const SG::AuxElement &element) const
Definition: MultifoldGNN.cxx:79
FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN
MultifoldGNN(const std::vector< std::string > &folds, const std::string &fold_hash_name, const GNNOptions &opts)
Definition: MultifoldGNN.cxx:38
FlavorTagDiscriminants::GNN::decorate
virtual void decorate(const xAOD::BTagging &btag) const
Definition: GNN.cxx:94