Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TauHFVetoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAUANALYSISTOOLS_TAUHFVETOTOOL_H
6 #define TAUANALYSISTOOLS_TAUHFVETOTOOL_H
7 
8 // Framework include(s):
9 #include "AsgTools/AsgTool.h"
11 
12 // local include(s)
14 
15 #include <string>
16 #include <vector>
17 
18 namespace TauAnalysisTools
19 {
20 
21 class TauHFVetoTool : public asg::AsgTool, public virtual ITauHFVetoTool {
22 
24 
25  public:
26  TauHFVetoTool(const std::string& name);
27 
28  virtual ~TauHFVetoTool() = default;
29 
30  virtual StatusCode initialize() override;
31  virtual StatusCode applyHFvetoBDTs(const xAOD::TauJetContainer* Taus, const xAOD::JetContainer* PFlowJets) const override;
32  virtual const xAOD::Jet* findClosestPFlowJet(const xAOD::TauJet* xTau, const xAOD::JetContainer* vPFlowJets) const override;
33  virtual std::vector<float> assembleInputValues(const xAOD::TauJet* xTau, const xAOD::Jet* xAuxJet) const override;
34 
35  private:
36 
37  virtual StatusCode inference(const ToolHandle<AthOnnx::IOnnxRuntimeInferenceTool> m_onnxTool, const std::vector<float>& inputValues, float& output) const;
38  virtual StatusCode bVetoScore(const int& prongness, const std::vector<float>& input, float& output) const;
39  virtual StatusCode cVetoScore(const int& prongness, const std::vector<float>& input, float& output) const;
40  ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_bveto1p{this, "bveto1p", "AthOnnx::OnnxRuntimeInferenceTool"};
41  ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_bveto3p{this, "bveto3p", "AthOnnx::OnnxRuntimeInferenceTool"};
42  ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_cveto1p{this, "cveto1p", "AthOnnx::OnnxRuntimeInferenceTool"};
43  ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_cveto3p{this, "cveto3p", "AthOnnx::OnnxRuntimeInferenceTool"};
44 
45 };
46 
47 }
48 
49 #endif
TauAnalysisTools::TauHFVetoTool::findClosestPFlowJet
virtual const xAOD::Jet * findClosestPFlowJet(const xAOD::TauJet *xTau, const xAOD::JetContainer *vPFlowJets) const override
Definition: TauHFVetoTool.cxx:20
TauAnalysisTools
Definition: TruthCollectionMakerTau.h:16
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
TauAnalysisTools::TauHFVetoTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: TauHFVetoTool.cxx:12
TauAnalysisTools::TauHFVetoTool::cVetoScore
virtual StatusCode cVetoScore(const int &prongness, const std::vector< float > &input, float &output) const
Definition: TauHFVetoTool.cxx:148
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
IOnnxRuntimeInferenceTool.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
TauAnalysisTools::TauHFVetoTool
Definition: TauHFVetoTool.h:21
TauAnalysisTools::TauHFVetoTool::inference
virtual StatusCode inference(const ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool, const std::vector< float > &inputValues, float &output) const
Definition: TauHFVetoTool.cxx:48
TauAnalysisTools::TauHFVetoTool::bVetoScore
virtual StatusCode bVetoScore(const int &prongness, const std::vector< float > &input, float &output) const
Definition: TauHFVetoTool.cxx:135
TauAnalysisTools::TauHFVetoTool::~TauHFVetoTool
virtual ~TauHFVetoTool()=default
TauAnalysisTools::TauHFVetoTool::m_onnxTool_cveto3p
ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_cveto3p
Definition: TauHFVetoTool.h:43
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauAnalysisTools::ITauHFVetoTool
Definition: ITauHFVetoTool.h:28
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
TauAnalysisTools::TauHFVetoTool::assembleInputValues
virtual std::vector< float > assembleInputValues(const xAOD::TauJet *xTau, const xAOD::Jet *xAuxJet) const override
Definition: TauHFVetoTool.cxx:63
TauAnalysisTools::TauHFVetoTool::TauHFVetoTool
TauHFVetoTool(const std::string &name)
Definition: TauHFVetoTool.cxx:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TauAnalysisTools::TauHFVetoTool::m_onnxTool_cveto1p
ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_cveto1p
Definition: TauHFVetoTool.h:42
ITauHFVetoTool.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
TauAnalysisTools::TauHFVetoTool::m_onnxTool_bveto3p
ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_bveto3p
Definition: TauHFVetoTool.h:41
TauAnalysisTools::TauHFVetoTool::m_onnxTool_bveto1p
ToolHandle< AthOnnx::IOnnxRuntimeInferenceTool > m_onnxTool_bveto1p
Definition: TauHFVetoTool.h:40
TauAnalysisTools::TauHFVetoTool::applyHFvetoBDTs
virtual StatusCode applyHFvetoBDTs(const xAOD::TauJetContainer *Taus, const xAOD::JetContainer *PFlowJets) const override
Definition: TauHFVetoTool.cxx:34
AsgTool.h