ATLAS Offline Software
Tool_ModeDiscriminator.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 PANTAUALGS_TOOL_MODEDISCRIMINATOR_H
6 #define PANTAUALGS_TOOL_MODEDISCRIMINATOR_H
7 
9 #include "AsgTools/AsgTool.h"
10 #include "AsgTools/ToolHandle.h"
12 
17 
19 #include <vector>
20 #include <string>
21 
22 #include "MVAUtils/BDT.h"
23 
24 namespace PanTau {
25  class PanTauSeed;
26 }
27 
28 
29 
30 namespace PanTau {
31 
38 
40 
41  public:
42 
43  Tool_ModeDiscriminator(const std::string& name);
45 
46  virtual StatusCode initialize();
47 
48  virtual double getResponse(PanTau::PanTauSeed* inSeed, bool& isOK) const;
49 
50  private:
51 
52  void updateReaderVariables(PanTau::PanTauSeed* inSeed, std::vector<float>& list_BDTVariableValues) const;
53 
54  ToolHandle<PanTau::ITool_InformationStore> m_Tool_InformationStore{this, "Tool_InformationStore", "PanTau::Tool_InformationStore/Tool_InformationStore", "Handle to the information store tool"};
55  Gaudi::Property<std::string> m_calib_path{this, "calibFolder", "", "Location of calib files in cvmfs"};
56  Gaudi::Property<std::string> m_Name_ModeCase{this, "Name_ModeCase", "InvalidModeCase", "Name of the two modes to be distinguished for this instance"};
57  Gaudi::Property<std::string> m_Tool_InformationStoreName{this, "Tool_InformationStoreName", "PanTau::Tool_InformationStore/Tool_InformationStore", "Handle to the information store tool"};
58 
60  std::vector<std::unique_ptr<MVAUtils::BDT> > m_MVABDT_List;
61 
62  std::vector<double> m_BinEdges_Pt;
63  std::string m_MethodName;
64  std::vector<std::string> m_List_BDTVariableNames;
65  std::vector<double> m_List_BDTVariableDefaultValues;
66 
67  bool m_init=false;
68 
69  public:
70  inline bool isInitialized(){return m_init;}
71 
72  };
73 } // end of namespace PanTau
74 #endif // PANTAUALGS_TOOL_MODEDISCRIMINATOR_H
BDT.h
PanTau::Tool_ModeDiscriminator::m_init
bool m_init
Definition: Tool_ModeDiscriminator.h:67
PanTau::Tool_ModeDiscriminator::m_calib_path
Gaudi::Property< std::string > m_calib_path
Definition: Tool_ModeDiscriminator.h:55
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
PanTau::Tool_ModeDiscriminator::m_Tool_InformationStoreName
Gaudi::Property< std::string > m_Tool_InformationStoreName
Definition: Tool_ModeDiscriminator.h:57
PanTau::Tool_ModeDiscriminator::m_HelperFunctions
PanTau::HelperFunctions m_HelperFunctions
Definition: Tool_ModeDiscriminator.h:59
HelperFunctions.h
PanTau::Tool_ModeDiscriminator::isInitialized
bool isInitialized()
Definition: Tool_ModeDiscriminator.h:70
PanTau::Tool_ModeDiscriminator::Tool_ModeDiscriminator
Tool_ModeDiscriminator(const std::string &name)
Definition: Tool_ModeDiscriminator.cxx:16
PanTau::ITool_ModeDiscriminator
Interface for PID from tau seeds.
Definition: ITool_ModeDiscriminator.h:22
PanTau::Tool_ModeDiscriminator::~Tool_ModeDiscriminator
virtual ~Tool_ModeDiscriminator()
ITool_InformationStore.h
PanTau::Tool_ModeDiscriminator::m_MethodName
std::string m_MethodName
Definition: Tool_ModeDiscriminator.h:63
PanTau::HelperFunctions
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:26
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PanTau::Tool_ModeDiscriminator::m_List_BDTVariableDefaultValues
std::vector< double > m_List_BDTVariableDefaultValues
Definition: Tool_ModeDiscriminator.h:65
PanTau::Tool_ModeDiscriminator::m_BinEdges_Pt
std::vector< double > m_BinEdges_Pt
Definition: Tool_ModeDiscriminator.h:62
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
PanTau::Tool_ModeDiscriminator::getResponse
virtual double getResponse(PanTau::PanTauSeed *inSeed, bool &isOK) const
Definition: Tool_ModeDiscriminator.cxx:119
PanTau::Tool_ModeDiscriminator::updateReaderVariables
void updateReaderVariables(PanTau::PanTauSeed *inSeed, std::vector< float > &list_BDTVariableValues) const
Definition: Tool_ModeDiscriminator.cxx:93
PanTau::Tool_ModeDiscriminator
Definition: Tool_ModeDiscriminator.h:37
PanTau
xAOD EDM
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:18
ITool_ModeDiscriminator.h
PanTau::Tool_ModeDiscriminator::m_List_BDTVariableNames
std::vector< std::string > m_List_BDTVariableNames
Definition: Tool_ModeDiscriminator.h:64
ASG_TOOL_CLASS1
#define ASG_TOOL_CLASS1
Definition: AsgToolMacros.h:75
PanTau::Tool_ModeDiscriminator::m_Tool_InformationStore
ToolHandle< PanTau::ITool_InformationStore > m_Tool_InformationStore
Definition: Tool_ModeDiscriminator.h:54
ToolHandle.h
PanTau::Tool_ModeDiscriminator::m_Name_ModeCase
Gaudi::Property< std::string > m_Name_ModeCase
Definition: Tool_ModeDiscriminator.h:56
AsgTool.h
PanTau::Tool_ModeDiscriminator::initialize
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: Tool_ModeDiscriminator.cxx:26
PanTau::PanTauSeed
Definition: PanTauSeed.h:24
PanTau::Tool_ModeDiscriminator::m_MVABDT_List
std::vector< std::unique_ptr< MVAUtils::BDT > > m_MVABDT_List
Definition: Tool_ModeDiscriminator.h:60