ATLAS Offline Software
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
7 
15 #include <string>
16 
18 #include "AsgTools/AsgTool.h"
20 
21 class 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
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 
87 inline bool TauRecToolBase::inTrigger() const { return m_in_trigger; }
88 inline bool TauRecToolBase::inAOD() const { return m_in_AOD; }
89 inline bool TauRecToolBase::inEleRM() const { return m_in_EleRM; }
90 
91 #endif // TAURECTOOLS_TAURECTOOLBASE_H
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
TauRecToolBase::inAOD
bool inAOD() const
Definition: TauRecToolBase.h:88
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
TauRecToolBase::m_tauRecToolsTag
Gaudi::Property< std::string > m_tauRecToolsTag
Definition: TauRecToolBase.h:79
TauRecToolBase::executePi0ClusterCreator
virtual StatusCode executePi0ClusterCreator(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &hadronicPFOContainer, const xAOD::CaloClusterContainer &pCaloClusterContainer) const override
Definition: TauRecToolBase.cxx:175
TauRecToolBase::readConfig
virtual StatusCode readConfig() override
Definition: TauRecToolBase.cxx:27
TauRecToolBase::inTrigger
bool inTrigger() const
Definition: TauRecToolBase.h:87
TauRecToolBase::eventInitialize
virtual StatusCode eventInitialize() override
Event initializer - called at the beginning of each event.
Definition: TauRecToolBase.cxx:133
TauRecToolBase::executeTrackClassifier
virtual StatusCode executeTrackClassifier(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const override
Definition: TauRecToolBase.cxx:165
TauRecToolBase::inEleRM
bool inEleRM() const
Definition: TauRecToolBase.h:89
TauRecToolBase::executePanTau
virtual StatusCode executePanTau(xAOD::TauJet &pTau, xAOD::ParticleContainer &particleContainer, xAOD::PFOContainer &neutralPFOContainer) const override
Definition: TauRecToolBase.cxx:197
TauRecToolBase::executeShotFinder
virtual StatusCode executeShotFinder(xAOD::TauJet &pTau, xAOD::CaloClusterContainer &shotClusterContainer, xAOD::PFOContainer &PFOContainer) const override
Definition: TauRecToolBase.cxx:170
TauRecToolBase::executeVertexVariables
virtual StatusCode executeVertexVariables(xAOD::TauJet &pTau, xAOD::VertexContainer &vertexContainer) const override
Definition: TauRecToolBase.cxx:182
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauRecToolBase::m_in_AOD
Gaudi::Property< bool > m_in_AOD
Definition: TauRecToolBase.h:77
TauRecToolBase::eventFinalize
virtual StatusCode eventFinalize() override
Event finalizer - called at the end of each event.
Definition: TauRecToolBase.cxx:202
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
TauRecToolBase::TauRecToolBase
TauRecToolBase(const std::string &name)
Definition: TauRecToolBase.cxx:125
TauRecToolBase::execute
virtual StatusCode execute(xAOD::TauJet &pTau) const override
Execute - called for each tau candidate.
Definition: TauRecToolBase.cxx:138
TauRecToolBase::executePi0CreateROI
virtual StatusCode executePi0CreateROI(xAOD::TauJet &pTau, CaloConstCellContainer &caloCellContainer, boost::dynamic_bitset<> &map) const override
Definition: TauRecToolBase.cxx:149
xAOD::PFOContainer
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
Definition: PFOContainer.h:17
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TauRecToolBase::executePi0nPFO
virtual StatusCode executePi0nPFO(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer) const override
Definition: TauRecToolBase.cxx:192
TauRecToolBase::m_in_trigger
Gaudi::Property< bool > m_in_trigger
Definition: TauRecToolBase.h:76
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TauRecToolBase::find_file
std::string find_file(const std::string &fname) const
Definition: TauRecToolBase.cxx:19
TauRecToolBase::~TauRecToolBase
virtual ~TauRecToolBase()
Definition: TauRecToolBase.h:28
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
TauRecToolBase::finalize
virtual StatusCode finalize() override
Finalizer.
Definition: TauRecToolBase.cxx:206
ITauToolBase.h
TauRecToolBase::executeVertexFinder
virtual StatusCode executeVertexFinder(xAOD::TauJet &pTau, const xAOD::VertexContainer *vertexContainer=nullptr) const override
Definition: TauRecToolBase.cxx:155
TauRecToolBase::executeTrackFinder
virtual StatusCode executeTrackFinder(xAOD::TauJet &pTau, xAOD::TauTrackContainer &tauTrackContainer) const override
Definition: TauRecToolBase.cxx:160
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
TauRecToolBase::executePi0ClusterScaler
virtual StatusCode executePi0ClusterScaler(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &chargedPFOContainer) const override
Definition: TauRecToolBase.cxx:187
CaloConstCellContainer
CaloCellContainer that can accept const cell pointers.
Definition: CaloConstCellContainer.h:45
ASG_TOOL_CLASS1
#define ASG_TOOL_CLASS1
Definition: AsgToolMacros.h:75
TauRecToolBase::initialize
virtual StatusCode initialize() override
Tool initializer.
Definition: TauRecToolBase.cxx:129
AsgTool.h
TauRecToolBase::m_in_EleRM
Gaudi::Property< bool > m_in_EleRM
Definition: TauRecToolBase.h:78