ATLAS Offline Software
DiTauDiscriminantTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef DITAURECTOOLS_DITAUDISCRIMINANTTOOL_H
8 #define DITAURECTOOLS_DITAUDISCRIMINANTTOOL_H
9 
17 // Framework include(s):
18 #include "AsgTools/AsgTool.h"
20 
21 // Local include(s):
23 #include "xAODTau/DiTauJet.h"
24 #include "tauRecTools/BDTHelper.h"
25 
26 #include <string>
27 #include <map>
28 #include <memory>
29 
30 namespace DiTauRecTools
31 {
32 
35  , public asg::AsgTool
36 {
40 
41 public:
42 
43  DiTauDiscriminantTool( const std::string& name );
44 
45  virtual ~DiTauDiscriminantTool();
46 
47  // initialize the tool
48  virtual StatusCode initialize() override;
49 
50  // get ID score depricated
51  double getJetBDTScore(const xAOD::DiTauJet& xDiTau);
52 
53  // calculate and decorate BDTJetScore
54  virtual StatusCode execute(const xAOD::DiTauJet& xDiTau) const override;
55 
56 private:
57 
58  Gaudi::Property<std::string> m_sWeightsFile{this, "WeightsFile", "tauRecTools/R22_preprod/DiTau_JetBDT_winter2024.weights.root"};
59  Gaudi::Property<std::string> m_sBDTScoreName{this, "BDTScoreName", "JetBDT"};
60 
62 
63  std::map<TString, float> setIDVariables(const xAOD::DiTauJet& xDiTau) const;
64 
65  std::unique_ptr<tauRecTools::BDTHelper> m_mvaBDT = nullptr;
66 
67  std::vector<std::string> m_vVarNames;
68 
69 }; // class DiTauDiscriminantTool
70 
71 }
72 #endif // DITAURECTOOLS_DITAUDISCRIMINANTTOOL_H
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
DiTauRecTools::DiTauDiscriminantTool::m_mvaBDT
std::unique_ptr< tauRecTools::BDTHelper > m_mvaBDT
Definition: DiTauDiscriminantTool.h:65
BDTHelper.h
DiTauRecTools::DiTauDiscriminantTool::parseWeightsFile
StatusCode parseWeightsFile()
Definition: DiTauDiscriminantTool.cxx:51
DiTauRecTools::DiTauDiscriminantTool::m_sBDTScoreName
Gaudi::Property< std::string > m_sBDTScoreName
Definition: DiTauDiscriminantTool.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DiTauRecTools::IDiTauToolBase
Definition: IDiTauToolBase.h:19
DiTauRecTools::DiTauDiscriminantTool
Definition: DiTauDiscriminantTool.h:36
DiTauJet.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
DiTauRecTools
Implementation of boosted di-tau ID.
Definition: DiTauDiscriminantTool.h:31
DiTauRecTools::DiTauDiscriminantTool::getJetBDTScore
double getJetBDTScore(const xAOD::DiTauJet &xDiTau)
DiTauRecTools::DiTauDiscriminantTool::m_sWeightsFile
Gaudi::Property< std::string > m_sWeightsFile
Definition: DiTauDiscriminantTool.h:58
DiTauRecTools::DiTauDiscriminantTool::setIDVariables
std::map< TString, float > setIDVariables(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauDiscriminantTool.cxx:64
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
DiTauRecTools::DiTauDiscriminantTool::m_vVarNames
std::vector< std::string > m_vVarNames
Definition: DiTauDiscriminantTool.h:67
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
AsgTool.h
IDiTauToolBase.h
DiTauRecTools::DiTauDiscriminantTool::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) const override
Declare the interface that the class provides.
Definition: DiTauDiscriminantTool.cxx:35
DiTauRecTools::DiTauDiscriminantTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauDiscriminantTool.cxx:21