ATLAS Offline Software
MultifoldGNNTool.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_TOOL_H
6 #define MULTIFOLD_GNN_TOOL_H
7 
8 // Tool includes
9 #include "AsgTools/AsgTool.h"
14 
16 
17 // EDM includes
19 #include "xAODJet/JetFwd.h"
20 
21 #include <memory>
22 #include <string>
23 #include <map>
24 
25 namespace FlavorTagDiscriminants {
26 
27  class MultifoldGNN;
28 
29  //
30  // Tool to to flavor tag jet/btagging object
31  // using GNN based taggers
33  virtual public IBTagConditionalDecorator,
34  virtual public IJetTagConditionalDecorator
35  {
36 
41  public:
42  MultifoldGNNTool(const std::string& name);
44 
45  StatusCode initialize() override;
46 
47  virtual void decorate(const xAOD::BTagging& btag) const override;
48  virtual void decorate(const xAOD::Jet& jet) const override;
49  virtual void decorateWithDefaults(const SG::AuxElement& jet) const override;
50 
51  virtual std::set<std::string> getDecoratorKeys() const override;
52  virtual std::set<std::string> getAuxInputKeys() const override;
53  virtual std::set<std::string> getConstituentAuxInputKeys() const override;
54 
55  private:
56 
58  this, "nnSharingService", "", "NN sharing service"};
59  std::vector<std::string> m_nn_files;
60  std::string m_fold_hash_name;
62  std::shared_ptr<const MultifoldGNN> m_gnn;
63  };
64 }
65 #endif
IJetTagConditionalDecorator
Definition: IJetTagConditionalDecorator.h:27
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
FlavorTagDiscriminants
This file contains "getter" functions used for accessing tagger inputs from the EDM.
Definition: AssociationEnums.h:11
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:446
FlavorTagDiscriminants::MultifoldGNNTool::m_gnn
std::shared_ptr< const MultifoldGNN > m_gnn
Definition: MultifoldGNNTool.h:62
FlavorTagDiscriminants::MultifoldGNNTool::getConstituentAuxInputKeys
virtual std::set< std::string > getConstituentAuxInputKeys() const override
Definition: MultifoldGNNTool.cxx:59
FlavorTagDiscriminants::MultifoldGNNTool::decorate
virtual void decorate(const xAOD::BTagging &btag) const override
Method to decorate a jet.
Definition: MultifoldGNNTool.cxx:42
IJetTagConditionalDecorator.h
FlavorTagDiscriminants::MultifoldGNNTool
Definition: MultifoldGNNTool.h:35
FlavorTagDiscriminants::MultifoldGNNTool::m_nn_files
std::vector< std::string > m_nn_files
Definition: MultifoldGNNTool.h:59
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::GNNToolProperties
Definition: GNNToolifiers.h:22
FlavorTagDiscriminants::MultifoldGNNTool::getDecoratorKeys
virtual std::set< std::string > getDecoratorKeys() const override
Definition: MultifoldGNNTool.cxx:53
FlavorTagDiscriminants::MultifoldGNNTool::m_fold_hash_name
std::string m_fold_hash_name
Definition: MultifoldGNNTool.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FlavorTagDiscriminants::MultifoldGNNTool::m_nnsvc
ServiceHandle< INNSharingSvc > m_nnsvc
Definition: MultifoldGNNTool.h:57
FlavorTagDiscriminants::MultifoldGNNTool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: MultifoldGNNTool.cxx:24
IBTagConditionalDecorator
Definition: IBTagConditionalDecorator.h:27
xAOD::BTagging_v1
Definition: BTagging_v1.h:39
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ServiceHandle.h
IBTagConditionalDecorator.h
JetFwd.h
FlavorTagDiscriminants::MultifoldGNNTool::decorateWithDefaults
virtual void decorateWithDefaults(const SG::AuxElement &jet) const override
Method to decorate a jet with defaults.
Definition: MultifoldGNNTool.cxx:48
INNSharingSvc.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
GNNToolifiers.h
FlavorTagDiscriminants::MultifoldGNNTool::getAuxInputKeys
virtual std::set< std::string > getAuxInputKeys() const override
Definition: MultifoldGNNTool.cxx:56
FlavorTagDiscriminants::MultifoldGNNTool::m_props
GNNToolProperties m_props
Definition: MultifoldGNNTool.h:61
AsgTool.h
BTaggingFwd.h
ServiceHandle
Definition: ClusterMakerTool.h:37