ATLAS Offline Software
Loading...
Searching...
No Matches
MultifoldGNNTool.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_TOOL_H
6#define MULTIFOLD_GNN_TOOL_H
7
8// Tool includes
9#include "AsgTools/AsgTool.h"
13
15
16// EDM includes
17#include "xAODJet/JetFwd.h"
18
19#include <memory>
20#include <string>
21#include <map>
22
23// needed for map<string,<map<string,float>>
24#include "Gaudi/Parsers/Factory.h"
25
26
27namespace FlavorTagInference {
28
29 class MultifoldGNN;
30
31 //
32 // Tool to to flavor tag jet/btagging object
33 // using GNN based taggers
35 virtual public IJetTagConditionalDecorator
36 {
37
41 public:
42 MultifoldGNNTool(const std::string& name);
44
45 StatusCode initialize() override;
46
47 virtual void decorate(const xAOD::IParticle& i_jet) const override;
48 virtual void decorateWithDefaults(const xAOD::IParticle& i_jet) const override;
49
51
52 private:
53
54 using MMD = std::map<std::string, std::map<std::string, float>>;
55
57 this, "nnSharingService", "", "NN sharing service"};
58 std::vector<std::string> m_nn_files;
59 std::string m_fold_hash_name;
61 std::shared_ptr<const MultifoldGNN> m_gnn;
62 Gaudi::Property<MMD> m_defaults {
63 this, "perFoldDefaultOutputValues", {}, "per-fold defaults"};
64 };
65}
66#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
ASG_TOOL_CLASS(MultifoldGNNTool, IJetTagConditionalDecorator) public ~MultifoldGNNTool()
FlavorTagInference::GNNToolProperties m_props
std::vector< std::string > m_nn_files
std::shared_ptr< const MultifoldGNN > m_gnn
StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual void decorateWithDefaults(const xAOD::IParticle &i_jet) const override
Method to decorate a jet with defaults.
FTagDataDependencyNames getDependencies() const override
std::map< std::string, std::map< std::string, float > > MMD
virtual void decorate(const xAOD::IParticle &i_jet) const override
Method to decorate a jet.
ServiceHandle< FlavorTagInference::INNSharingSvc > m_nnsvc
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Class providing the definition of the 4-vector interface.
This file contains "getter" functions used for accessing tagger inputs from the EDM.