ATLAS Offline Software
DiTauDiscriminantTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 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"
19 
20 // Core include(s):
21 
22 // EDM include(s):
24 
25 // Local include(s):
27 
28 // MVAUtils includes
29 #include "MVAUtils/BDT.h"
30 
31 #include <string>
32 #include <map>
33 
34 
35 namespace DiTauRecTools
36 {
37 
38 
41  , public asg::AsgTool
42 {
46 
47 public:
48 
49  DiTauDiscriminantTool( const std::string& name );
50 
51  virtual ~DiTauDiscriminantTool();
52 
53  // initialize the tool
54  virtual StatusCode initialize() override;
55 
56  // get ID score depricated
57  double getJetBDTScore(const xAOD::DiTauJet& xDiTau);
58 
59  // calculate and decorate BDTJetScore
60  virtual StatusCode execute(const xAOD::DiTauJet& xDiTau) override;
61 
62  // get decay mode
63  virtual std::string getDecayMode() override;
64 
65 private:
66 
68 
69  void setIDVariables(const xAOD::DiTauJet& xDiTau);
70 
71  // const xAOD::DiTauJetContainer* m_xDiTauContainer;
72 
73  // steering variables
74  std::string m_sWeightsFile;
75  std::string m_sBDTScoreName;
76 
77  //MVAUtils::BDT* m_bdt; //!
78  std::unique_ptr<MVAUtils::BDT> m_bdt;
79 
80  std::map<TString, float*> m_mIDVariables;
81  std::map<TString, float*> m_mIDSpectators;
82 
83  inline float& setVar(const TString& var) { return *(m_mIDVariables[var]); }
84 
85  std::vector<std::string> m_vVarNames;
86 private:
88  std::string m_sDecayMode;
90 }; // class DiTauDiscriminantTool
91 
92 }
93 #endif // DITAURECTOOLS_DITAUDISCRIMINANTTOOL_H
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
DiTauRecTools::DiTauDiscriminantTool::m_sBDTScoreName
std::string m_sBDTScoreName
Definition: DiTauDiscriminantTool.h:75
DiTauRecTools::DiTauDiscriminantTool::m_mIDVariables
std::map< TString, float * > m_mIDVariables
Definition: DiTauDiscriminantTool.h:80
DiTauRecTools::DiTauDiscriminantTool::HadHad
@ HadHad
Definition: DiTauDiscriminantTool.h:87
DiTauRecTools::DiTauDiscriminantTool::parseWeightsFile
StatusCode parseWeightsFile()
Definition: DiTauDiscriminantTool.cxx:150
DiTauJetContainer.h
DiTauRecTools::DiTauDiscriminantTool::HadMu
@ HadMu
Definition: DiTauDiscriminantTool.h:87
DiTauRecTools::DiTauDiscriminantTool::setIDVariables
void setIDVariables(const xAOD::DiTauJet &xDiTau)
Definition: DiTauDiscriminantTool.cxx:165
DiTauRecTools::DiTauDiscriminantTool::m_sWeightsFile
std::string m_sWeightsFile
Definition: DiTauDiscriminantTool.h:74
DiTauRecTools::DiTauDiscriminantTool::DecayMode
DecayMode
Definition: DiTauDiscriminantTool.h:87
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DiTauRecTools::IDiTauToolBase
Definition: IDiTauToolBase.h:20
DiTauRecTools::DiTauDiscriminantTool
Definition: DiTauDiscriminantTool.h:42
DiTauRecTools::DiTauDiscriminantTool::m_eDecayMode
DecayMode m_eDecayMode
Definition: DiTauDiscriminantTool.h:89
DiTauRecTools::DiTauDiscriminantTool::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) override
Declare the interface that the class provides.
Definition: DiTauDiscriminantTool.cxx:128
BDT.h
DiTauRecTools::DiTauDiscriminantTool::m_mIDSpectators
std::map< TString, float * > m_mIDSpectators
Definition: DiTauDiscriminantTool.h:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
DiTauRecTools
Implementation of boosted di-tau ID.
Definition: DiTauDiscriminantTool.h:36
DiTauRecTools::DiTauDiscriminantTool::getJetBDTScore
double getJetBDTScore(const xAOD::DiTauJet &xDiTau)
DiTauRecTools::DiTauDiscriminantTool::m_sDecayMode
std::string m_sDecayMode
Definition: DiTauDiscriminantTool.h:88
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:85
DiTauRecTools::DiTauDiscriminantTool::getDecayMode
virtual std::string getDecayMode() override
Definition: DiTauDiscriminantTool.cxx:143
DiTauRecTools::DiTauDiscriminantTool::HadEl
@ HadEl
Definition: DiTauDiscriminantTool.h:87
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
DiTauRecTools::DiTauDiscriminantTool::setVar
float & setVar(const TString &var)
not-stateless, many such examples need to be fixed for r22
Definition: DiTauDiscriminantTool.h:83
AsgTool.h
Default
IDiTauToolBase.h
DiTauRecTools::DiTauDiscriminantTool::m_bdt
std::unique_ptr< MVAUtils::BDT > m_bdt
Definition: DiTauDiscriminantTool.h:78
DiTauRecTools::DiTauDiscriminantTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauDiscriminantTool.cxx:37