ATLAS Offline Software
MultifoldGNN.h
Go to the documentation of this file.
1 /*
2 + Copyright (C) 2002-2024 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 FlavorTagDiscriminants {
18 
19  class GNN;
20 
22  {
23  public:
24  MultifoldGNN(const std::vector<std::string>& folds,
25  const std::string& fold_hash_name,
26  const GNNOptions& opts);
27  MultifoldGNN(const std::vector<std::shared_ptr<const GNN>>& folds,
28  const std::string& fold_hash_name);
32  void decorate(const xAOD::BTagging& btag) const;
33  void decorate(const xAOD::Jet& jet) const;
34  void decorateWithDefaults(const SG::AuxElement& jet) const;
35  void decorateWithDefaults(const xAOD::BTagging& btag) const;
36 
37  std::set<std::string> getDecoratorKeys() const;
38  std::set<std::string> getAuxInputKeys() const;
39  std::set<std::string> getConstituentAuxInputKeys() const;
40  private:
41  const GNN& getFold(const SG::AuxElement& element) const;
42  std::vector<std::shared_ptr<const GNN>> m_folds;
45  };
46 
47 }
48 #endif
FlavorTagDiscriminants
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
FlavorTagDiscriminants::GNNOptions
Definition: GNNOptions.h:16
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:472
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
FlavorTagDiscriminants::MultifoldGNN::decorate
void decorate(const xAOD::BTagging &btag) const
Definition: MultifoldGNN.cxx:57
GNNOptions.h
JetContainerFwd.h
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::MultifoldGNN::m_jetLink
SG::AuxElement::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: MultifoldGNN.h:44
FlavorTagDiscriminants::MultifoldGNN::m_folds
std::vector< std::shared_ptr< const GNN > > m_folds
Definition: MultifoldGNN.h:42
FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN
MultifoldGNN(const MultifoldGNN &)
FlavorTagDiscriminants::MultifoldGNN::getDecoratorKeys
std::set< std::string > getDecoratorKeys() const
Definition: MultifoldGNN.cxx:71
FlavorTagDiscriminants::MultifoldGNN::getConstituentAuxInputKeys
std::set< std::string > getConstituentAuxInputKeys() const
Definition: MultifoldGNN.cxx:77
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
FlavorTagDiscriminants::MultifoldGNN::m_fold_hash
SG::AuxElement::ConstAccessor< uint32_t > m_fold_hash
Definition: MultifoldGNN.h:43
FlavorTagDiscriminants::MultifoldGNN::getFold
const GNN & getFold(const SG::AuxElement &element) const
Definition: MultifoldGNN.cxx:81
FlavorTagDiscriminants::MultifoldGNN::~MultifoldGNN
~MultifoldGNN()
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
FlavorTagDiscriminants::GNN
Definition: PhysicsAnalysis/JetTagging/FlavorTagDiscriminants/FlavorTagDiscriminants/GNN.h:40
FlavorTagDiscriminants::MultifoldGNN::decorateWithDefaults
void decorateWithDefaults(const SG::AuxElement &jet) const
Definition: MultifoldGNN.cxx:63
FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN
MultifoldGNN(MultifoldGNN &&)
FlavorTagDiscriminants::MultifoldGNN
Definition: MultifoldGNN.h:22
athena.opts
opts
Definition: athena.py:88
FlavorTagDiscriminants::MultifoldGNN::MultifoldGNN
MultifoldGNN(const std::vector< std::string > &folds, const std::string &fold_hash_name, const GNNOptions &opts)
Definition: MultifoldGNN.cxx:38
FlavorTagDiscriminants::MultifoldGNN::getAuxInputKeys
std::set< std::string > getAuxInputKeys() const
Definition: MultifoldGNN.cxx:74
BTaggingFwd.h