ATLAS Offline Software
DL2Tool.h
Go to the documentation of this file.
1 // for text editors: this file is -*- C++ -*-
2 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef DL2_TOOL_H
7 #define DL2_TOOL_H
8 
9 #include "AsgTools/AsgTool.h"
11 
12 namespace FlavorTagDiscriminants {
13 
14  class DL2HighLevel;
15 
16  struct DL2Properties {
17  std::string nnFile;
18  std::string flipTagConfig;
19  std::map<std::string,std::string> variableRemapping;
20  std::string trackLinkType;
21  float default_output_value = NAN;
22  };
23 
24  class DL2Tool : public asg::AsgTool,
25  virtual public IJetTagConditionalDecorator
26  {
28  public:
29  DL2Tool(const std::string& name);
30  ~DL2Tool();
31 
32  StatusCode initialize() override;
33 
34  // returns 0 for success
35  virtual void decorate(const xAOD::IParticle& i_jet) const override;
36  virtual void decorateWithDefaults(const xAOD::IParticle& i_jet) const override;
37 
38  virtual std::set<std::string> getDecoratorKeys() const override;
39  virtual std::set<std::string> getAuxInputKeys() const override;
40  virtual std::set<std::string> getConstituentAuxInputKeys() const override;
41  private:
43  std::unique_ptr<DL2HighLevel> m_dl2;
44  };
45 
46 }
47 #endif
IJetTagConditionalDecorator
Definition: IJetTagConditionalDecorator.h:27
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
FlavorTagDiscriminants::DL2Tool::m_dl2
std::unique_ptr< DL2HighLevel > m_dl2
Definition: DL2Tool.h:43
FlavorTagDiscriminants
Definition: DL2.h:18
FlavorTagDiscriminants::DL2Tool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DL2Tool.cxx:22
FlavorTagDiscriminants::DL2Properties::trackLinkType
std::string trackLinkType
Definition: DL2Tool.h:20
FlavorTagDiscriminants::DL2Properties::default_output_value
float default_output_value
Definition: DL2Tool.h:21
FlavorTagDiscriminants::DL2Tool::~DL2Tool
~DL2Tool()
Definition: DL2Tool.cxx:20
IJetTagConditionalDecorator.h
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FlavorTagDiscriminants::DL2Tool
Definition: DL2Tool.h:26
FlavorTagDiscriminants::DL2Tool::DL2Tool
DL2Tool(const std::string &name)
Definition: DL2Tool.cxx:10
FlavorTagDiscriminants::DL2Tool::decorate
virtual void decorate(const xAOD::IParticle &i_jet) const override
Method to decorate a jet.
Definition: DL2Tool.cxx:38
FlavorTagDiscriminants::DL2Properties::nnFile
std::string nnFile
Definition: DL2Tool.h:17
FlavorTagDiscriminants::DL2Tool::m_props
DL2Properties m_props
Definition: DL2Tool.h:42
FlavorTagDiscriminants::DL2Tool::getAuxInputKeys
virtual std::set< std::string > getAuxInputKeys() const override
Definition: DL2Tool.cxx:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FlavorTagDiscriminants::DL2Tool::decorateWithDefaults
virtual void decorateWithDefaults(const xAOD::IParticle &i_jet) const override
Method to decorate a jet with defaults.
Definition: DL2Tool.cxx:43
FlavorTagDiscriminants::DL2Properties::variableRemapping
std::map< std::string, std::string > variableRemapping
Definition: DL2Tool.h:19
FlavorTagDiscriminants::DL2Properties
Definition: DL2Tool.h:16
FlavorTagDiscriminants::DL2Properties::flipTagConfig
std::string flipTagConfig
Definition: DL2Tool.h:18
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
FlavorTagDiscriminants::DL2Tool::getDecoratorKeys
virtual std::set< std::string > getDecoratorKeys() const override
Definition: DL2Tool.cxx:49
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
AsgTool.h
FlavorTagDiscriminants::DL2Tool::getConstituentAuxInputKeys
virtual std::set< std::string > getConstituentAuxInputKeys() const override
Definition: DL2Tool.cxx:55