ATLAS Offline Software
TauRunnerAlg.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 TAUREC_TAURUNNERALG_H
6 #define TAUREC_TAURUNNERALG_H
7 
9 
10 #include "StoreGate/ReadHandle.h"
11 #include "StoreGate/WriteHandle.h"
14 #include "xAODPFlow/PFOContainer.h"
22 
23 #include "GaudiKernel/ToolHandle.h"
24 
31 {
32  public:
33  //-----------------------------------------------------------------
34  // Contructor and destructor
35  //-----------------------------------------------------------------
36  TauRunnerAlg( const std::string &name, ISvcLocator *pSvcLocator );
38 
39  //-----------------------------------------------------------------
40  // Gaudi algorithm hooks
41  //-----------------------------------------------------------------
42  virtual StatusCode initialize() override;
43  virtual StatusCode execute(const EventContext& ctx) const override;
44 
45  private:
46 
47  ToolHandleArray<ITauToolBase> m_tools{this, "Tools", {}, "Tools building taus"};
48 
49  SG::ReadHandleKey<xAOD::TauJetContainer> m_tauInputContainer{this,"Key_tauInputContainer","tmp_TauJets","input temp tau key"};
50  SG::ReadHandleKey<xAOD::CaloClusterContainer> m_pi0ClusterInputContainer{this,"Key_Pi0ClusterInputContainer", "TauPi0Clusters", "input pi0 cluster"};
51 
52  SG::WriteHandleKey<xAOD::TauJetContainer> m_tauOutputContainer{this,"Key_tauOutputContainer","TauJets","output tau data key"};
53  SG::WriteHandleKey<xAOD::PFOContainer> m_neutralPFOOutputContainer{this,"Key_neutralPFOOutputContainer", "TauNeutralParticleFlowObjects", "tau neutral pfo out key"};
54  SG::WriteHandleKey<xAOD::PFOContainer> m_hadronicPFOOutputContainer{this,"Key_hadronicPFOOutputContainer", "TauHadronicParticleFlowObjects", "tau hadronic pfo out key"};
55  SG::WriteHandleKey<xAOD::VertexContainer> m_vertexOutputContainer{this,"Key_vertexOutputContainer", "TauSecondaryVertices", "input vertex container key"};
56  SG::WriteHandleKey<xAOD::PFOContainer> m_chargedPFOOutputContainer{this,"Key_chargedPFOOutputContainer", "TauChargedParticleFlowObjects", "tau charged pfo out key"};
57  SG::WriteHandleKey<xAOD::ParticleContainer> m_pi0Container{this,"Key_pi0Container", "TauFinalPi0s", "tau final pi0s output"};
58 
59 };
60 
61 #endif // TAUREC_TAURUNNERALG_H
TauRunnerAlg::m_pi0ClusterInputContainer
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_pi0ClusterInputContainer
Definition: TauRunnerAlg.h:50
TauRunnerAlg::TauRunnerAlg
TauRunnerAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TauRunnerAlg.cxx:24
PFOContainer.h
TauRunnerAlg::m_tools
ToolHandleArray< ITauToolBase > m_tools
Definition: TauRunnerAlg.h:47
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
CaloClusterAuxContainer.h
TauRunnerAlg::~TauRunnerAlg
~TauRunnerAlg()
TauRunnerAlg::m_tauOutputContainer
SG::WriteHandleKey< xAOD::TauJetContainer > m_tauOutputContainer
Definition: TauRunnerAlg.h:52
ParticleAuxContainer.h
TauRunnerAlg::m_chargedPFOOutputContainer
SG::WriteHandleKey< xAOD::PFOContainer > m_chargedPFOOutputContainer
Definition: TauRunnerAlg.h:56
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TauRunnerAlg::m_tauInputContainer
SG::ReadHandleKey< xAOD::TauJetContainer > m_tauInputContainer
Definition: TauRunnerAlg.h:49
WriteHandle.h
Handle class for recording to StoreGate.
TauRunnerAlg
Main class for tau candidate processing.
Definition: TauRunnerAlg.h:31
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
PFOAuxContainer.h
ParticleContainer.h
TauRunnerAlg::m_neutralPFOOutputContainer
SG::WriteHandleKey< xAOD::PFOContainer > m_neutralPFOOutputContainer
Definition: TauRunnerAlg.h:53
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauJetContainer.h
AthReentrantAlgorithm.h
TauRunnerAlg::initialize
virtual StatusCode initialize() override
Definition: TauRunnerAlg.cxx:37
TauRunnerAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TauRunnerAlg.cxx:84
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TauRunnerAlg::m_vertexOutputContainer
SG::WriteHandleKey< xAOD::VertexContainer > m_vertexOutputContainer
Definition: TauRunnerAlg.h:55
ITauToolBase.h
VertexContainer.h
CaloClusterContainer.h
TauRunnerAlg::m_hadronicPFOOutputContainer
SG::WriteHandleKey< xAOD::PFOContainer > m_hadronicPFOOutputContainer
Definition: TauRunnerAlg.h:54
TauRunnerAlg::m_pi0Container
SG::WriteHandleKey< xAOD::ParticleContainer > m_pi0Container
Definition: TauRunnerAlg.h:57
ReadHandle.h
Handle class for reading from StoreGate.
VertexAuxContainer.h