ATLAS Offline Software
IsolationLowPtPLVTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef IsolationSelection_IsolationLowPtPLVTool_H
6 #define IsolationSelection_IsolationLowPtPLVTool_H
7 
8 #include <AsgTools/AsgTool.h>
12 
13 // TMVA
14 #include "TMVA/Reader.h"
15 
16 namespace CP {
18  public:
19  IsolationLowPtPLVTool(const std::string& name);
21  virtual StatusCode initialize() override;
22  virtual StatusCode augmentPLV(const xAOD::IParticle& particle) override;
23 
24  private:
25  Gaudi::Property<std::string> m_muonCalibFile{
26  this, "MuonCalibFile", "IsolationCorrections/v5/TMVAClassification_BDT_Muon_LowPtPromptLeptonTagger_20191107.weights.xml",
27  "XML file holding the TMVA configuration for muons"};
28  Gaudi::Property<std::string> m_elecCalibFile{
29  this, "ElecCalibFile", "IsolationCorrections/v5/TMVAClassification_BDT_Electron_LowPtPromptLeptonTagger_20191107.weights.xml",
30  "XML file holding the TMVA configuration for electrons"};
31  Gaudi::Property<std::string> m_muonMethodName{this, "MuonMethodName", "LowPtPLT_Muon", "Method name for electron LowPtPLV"};
32  Gaudi::Property<std::string> m_elecMethodName{this, "ElecMethodName", "LowPtPLT_Elec", "Method name for muon LowPtPLV"};
33  std::unique_ptr<TMVA::Reader> m_TMVAReader_Muon{nullptr};
34  std::unique_ptr<TMVA::Reader> m_TMVAReader_Elec{nullptr};
35  };
36 
37 } // namespace CP
38 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
CP::IsolationLowPtPLVTool::IsolationLowPtPLVTool
IsolationLowPtPLVTool(const std::string &name)
Definition: IsolationLowPtPLVTool.cxx:30
CP::IsolationLowPtPLVTool::m_TMVAReader_Elec
std::unique_ptr< TMVA::Reader > m_TMVAReader_Elec
Definition: IsolationLowPtPLVTool.h:34
CP::IsolationLowPtPLVTool::m_elecCalibFile
Gaudi::Property< std::string > m_elecCalibFile
Definition: IsolationLowPtPLVTool.h:28
CP::IsolationLowPtPLVTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: IsolationLowPtPLVTool.cxx:32
Defs.h
IIsolationLowPtPLVTool.h
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
CP::IsolationLowPtPLVTool::augmentPLV
virtual StatusCode augmentPLV(const xAOD::IParticle &particle) override
This method adds the lowPT PLV score as decoration to the lepton.
Definition: IsolationLowPtPLVTool.cxx:70
CP::IsolationLowPtPLVTool::m_elecMethodName
Gaudi::Property< std::string > m_elecMethodName
Definition: IsolationLowPtPLVTool.h:32
CP::IsolationLowPtPLVTool::m_muonMethodName
Gaudi::Property< std::string > m_muonMethodName
Definition: IsolationLowPtPLVTool.h:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CP::IsolationLowPtPLVTool::m_TMVAReader_Muon
std::unique_ptr< TMVA::Reader > m_TMVAReader_Muon
Definition: IsolationLowPtPLVTool.h:33
CP::IIsolationLowPtPLVTool
Definition: IIsolationLowPtPLVTool.h:12
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
CP::IsolationLowPtPLVTool
Definition: IsolationLowPtPLVTool.h:17
CP::IsolationLowPtPLVTool::m_muonCalibFile
Gaudi::Property< std::string > m_muonCalibFile
Definition: IsolationLowPtPLVTool.h:25
AsgTool.h