ATLAS Offline Software
GNNTool.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 GNN_TOOL_H
6 #define 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 GNN;
28 
29  //
30  // Tool to to flavor tag jet/btagging object
31  // using GNN based taggers
32  class GNNTool : public asg::AsgTool,
33  virtual public IBTagConditionalDecorator,
34  virtual public IJetTagConditionalDecorator
35  {
36 
38  GNNTool,
41  public:
42  GNNTool(const std::string& name);
43  ~GNNTool();
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  void decorate(const xAOD::Jet& jet, const SG::AuxElement& decorated) const;
51 
52  virtual std::set<std::string> getDecoratorKeys() const override;
53  virtual std::set<std::string> getAuxInputKeys() const override;
54  virtual std::set<std::string> getConstituentAuxInputKeys() const override;
55 
56  private:
57 
59  this, "nnSharingService", "", "NN sharing service"};
60  std::string m_nn_file;
62  std::shared_ptr<const GNN> 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::GNNTool::decorate
virtual void decorate(const xAOD::BTagging &btag) const override
Method to decorate a jet.
Definition: GNNTool.cxx:36
FlavorTagDiscriminants::GNNTool::m_props
GNNToolProperties m_props
Definition: GNNTool.h:61
IJetTagConditionalDecorator.h
FlavorTagDiscriminants::GNNTool
Definition: GNNTool.h:35
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
FlavorTagDiscriminants::GNNToolProperties
Definition: GNNToolifiers.h:22
FlavorTagDiscriminants::GNNTool::m_nnsvc
ServiceHandle< INNSharingSvc > m_nnsvc
Definition: GNNTool.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FlavorTagDiscriminants::GNNTool::getDecoratorKeys
virtual std::set< std::string > getDecoratorKeys() const override
Definition: GNNTool.cxx:52
IBTagConditionalDecorator
Definition: IBTagConditionalDecorator.h:27
FlavorTagDiscriminants::GNNTool::m_nn_file
std::string m_nn_file
Definition: GNNTool.h:60
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::GNNTool::getConstituentAuxInputKeys
virtual std::set< std::string > getConstituentAuxInputKeys() const override
Definition: GNNTool.cxx:58
INNSharingSvc.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
GNNToolifiers.h
FlavorTagDiscriminants::GNNTool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: GNNTool.cxx:22
AsgTool.h
FlavorTagDiscriminants::GNNTool::m_gnn
std::shared_ptr< const GNN > m_gnn
Definition: GNNTool.h:62
FlavorTagDiscriminants::GNNTool::decorateWithDefaults
virtual void decorateWithDefaults(const SG::AuxElement &jet) const override
Method to decorate a jet with defaults.
Definition: GNNTool.cxx:42
BTaggingFwd.h
FlavorTagDiscriminants::GNNTool::getAuxInputKeys
virtual std::set< std::string > getAuxInputKeys() const override
Definition: GNNTool.cxx:55
ServiceHandle
Definition: ClusterMakerTool.h:37