ATLAS Offline Software
Loading...
Searching...
No Matches
TauRecToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TAURECTOOLS_TAURECTOOLBASE_H
6#define TAURECTOOLS_TAURECTOOLBASE_H
14
15#include <string>
16
18#include "AsgTools/AsgTool.h"
20
21class TauRecToolBase : public asg::AsgTool, virtual public ITauToolBase {
22 public:
23
26
27 TauRecToolBase(const std::string& name);
28 virtual ~TauRecToolBase() {}
29
30 //-----------------------------------------------------------------
32 //-----------------------------------------------------------------
33 virtual StatusCode initialize() override;
34
35 //-----------------------------------------------------------------
37 //-----------------------------------------------------------------
38 virtual StatusCode eventInitialize() override;
39
40 //-----------------------------------------------------------------
42 //-----------------------------------------------------------------
43 virtual StatusCode execute(xAOD::TauJet& pTau) const override;
44#ifdef XAOD_ANALYSIS
45 virtual StatusCode executeDev(xAOD::TauJet& pTau) override;
46#else
47 virtual StatusCode executePi0CreateROI(xAOD::TauJet& pTau, CaloConstCellContainer& caloCellContainer, boost::dynamic_bitset<>& map) const override;
48#endif
49 virtual StatusCode executeVertexFinder(xAOD::TauJet& pTau,
50 const xAOD::VertexContainer* vertexContainer = nullptr) const override;
51 virtual StatusCode executeTrackFinder(xAOD::TauJet& pTau, xAOD::TauTrackContainer& tauTrackContainer) const override;
52 virtual StatusCode executeTrackClassifier(xAOD::TauJet& pTau, xAOD::TauTrackContainer& tauTrackContainer) const override;
53 virtual StatusCode executeShotFinder(xAOD::TauJet& pTau, xAOD::CaloClusterContainer& shotClusterContainer, xAOD::PFOContainer& PFOContainer ) const override;
54 virtual StatusCode executePi0ClusterCreator(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer,
55 xAOD::PFOContainer& hadronicPFOContainer,
56 const xAOD::CaloClusterContainer& pCaloClusterContainer ) const override;
57 virtual StatusCode executeVertexVariables(xAOD::TauJet& pTau, xAOD::VertexContainer& vertexContainer ) const override;
58 virtual StatusCode executePi0ClusterScaler(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer, xAOD::PFOContainer& chargedPFOContainer ) const override;
59 virtual StatusCode executePi0nPFO(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer) const override;
60 virtual StatusCode executePanTau(xAOD::TauJet& pTau, xAOD::ParticleContainer& particleContainer, xAOD::PFOContainer& neutralPFOContainer) const override;
61
62 //-----------------------------------------------------------------
64 //-----------------------------------------------------------------
65 virtual StatusCode eventFinalize() override;
66
67 //-----------------------------------------------------------------
69 //-----------------------------------------------------------------
70 virtual StatusCode finalize() override;
71
72 std::string find_file(const std::string& fname) const;
73 virtual StatusCode readConfig() override;
74
75 protected:
76 Gaudi::Property<bool> m_in_trigger {this, "inTrigger", false, "Indicate if the tool is running on trigger"};
77 Gaudi::Property<bool> m_in_AOD {this, "inAOD", false, "Indicate if the tool is running on AOD"};
78 Gaudi::Property<bool> m_in_EleRM {this, "inEleRM", false, "Indicate if the tool is running on EleRM routine"};
79 Gaudi::Property<std::string> m_tauRecToolsTag {this, "calibFolder", "tauRecTools/R22_preprod", "CVMFS path to the tau calibration folder"};
80
81 bool inTrigger() const;
82 bool inAOD() const;
83 bool inEleRM() const;
84
85};
86
87inline bool TauRecToolBase::inTrigger() const { return m_in_trigger; }
88inline bool TauRecToolBase::inAOD() const { return m_in_AOD; }
89inline bool TauRecToolBase::inEleRM() const { return m_in_EleRM; }
90
91#endif // TAURECTOOLS_TAURECTOOLBASE_H
#define ASG_TOOL_CLASS1
#define ASG_TOOL_INTERFACE(CLASSNAME)
CaloCellContainer that can accept const cell pointers.
The base class for all tau tools.
Gaudi::Property< std::string > m_tauRecToolsTag
virtual StatusCode eventInitialize() override
Event initializer - called at the beginning of each event.
virtual StatusCode executeVertexVariables(xAOD::TauJet &pTau, xAOD::VertexContainer &vertexContainer) const override
bool inAOD() const
TauRecToolBase(const std::string &name)
bool inEleRM() const
virtual StatusCode execute(xAOD::TauJet &pTau) const override
Execute - called for each tau candidate.
virtual StatusCode initialize() override
Tool initializer.
virtual StatusCode eventFinalize() override
Event finalizer - called at the end of each event.
virtual StatusCode executePi0nPFO(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer) const override
virtual StatusCode executeShotFinder(xAOD::TauJet &pTau, xAOD::CaloClusterContainer &shotClusterContainer, xAOD::PFOContainer &PFOContainer) const override
Gaudi::Property< bool > m_in_AOD
virtual StatusCode executeTrackClassifier(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const override
virtual StatusCode readConfig() override
virtual StatusCode executePanTau(xAOD::TauJet &pTau, xAOD::ParticleContainer &particleContainer, xAOD::PFOContainer &neutralPFOContainer) const override
virtual StatusCode executeTrackFinder(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const override
virtual StatusCode executePi0ClusterCreator(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &hadronicPFOContainer, const xAOD::CaloClusterContainer &pCaloClusterContainer) const override
virtual ~TauRecToolBase()
virtual StatusCode finalize() override
Finalizer.
virtual StatusCode executePi0ClusterScaler(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &chargedPFOContainer) const override
Gaudi::Property< bool > m_in_EleRM
virtual StatusCode executeVertexFinder(xAOD::TauJet &pTau, const xAOD::VertexContainer *vertexContainer=nullptr) const override
Gaudi::Property< bool > m_in_trigger
std::string find_file(const std::string &fname) const
bool inTrigger() const
virtual StatusCode executePi0CreateROI(xAOD::TauJet &pTau, CaloConstCellContainer &caloCellContainer, boost::dynamic_bitset<> &map) const override
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
STL class.
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
ParticleContainer_v1 ParticleContainer
Define the latest version of the particle class.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TauJet_v3 TauJet
Definition of the current "tau version".
TauTrackContainer_v1 TauTrackContainer
Definition of the current TauTrack container version.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.