ATLAS Offline Software
TauThinningAlg.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 TAUREC_TAUTHINNINGALG_H
6 #define TAUREC_TAUTHINNINGALG_H
7 
11 #include "xAODPFlow/PFOContainer.h"
18 #include "GaudiKernel/SystemOfUnits.h"
19 
26 {
28 
29  public:
30 
34  virtual StatusCode initialize() override;
35 
40  virtual StatusCode execute(const EventContext& ctx) const override;
41 
42 
43  private:
44 
45  // whether tau vertex correction is applied in tau reconstruction
46  Gaudi::Property<bool> m_doVertexCorrection
47  { this, "VertexCorrection", true, "Tau vertex correction" };
48 
49  // Name of the stream being thinned
50  StringProperty m_streamName
51  { this, "StreamName", "StreamAOD", "Name of the stream being thinned" };
52 
53  // Tau container to thin
55  { this, "Taus", "TauJets", "Tau container to thin" };
56 
57  // Tau track container to thin
59  { this, "TauTracks", "TauTracks", "Tau track container to thin" };
60 
61  // Tau neutral PFO container to thin
63  { this, "TauNeutralPFOs", "TauNeutralParticleFlowObjects", "Tau neutral PFO container to thin" };
64 
65  // Tau pi0 cluster container to thin
67  { this, "TauPi0Clusters", "TauPi0Clusters", "Tau pi0 cluster container to thin" };
68 
69  // Tau pi0 cluster cell link container to thin
71  { this, "TauPi0CellLinks", "TauPi0Clusters_links", "Tau pi0 cluster cell link container to thin" };
72 
73  // Tau final pi0 container to thin
75  { this, "TauFinalPi0s", "TauFinalPi0s", "Tau final pi0 container to thin" };
76 
77  // Tau shot PFO container to thin
79  { this, "TauShotPFOs", "TauShotParticleFlowObjects", "Tau shot PFO container to thin" };
80 
81  // Tau shot cluster container to thin
83  { this, "TauShotClusters", "TauShotClusters", "Tau shot cluster container to thin" };
84 
85  // Tau shot cluster cell link container to thin
87  { this, "TauShotCellLinks", "TauShotClusters_links", "Tau shot cluster cell link container to thin" };
88 
89  // Tau hadronic PFO container to thin
91  { this, "TauHadronicPFOs", "TauHadronicParticleFlowObjects", "Tau hadronic PFO container to thin" };
92 
93  // Tau secondary vertex container to thin
95  { this, "TauSecondaryVertices", "TauSecondaryVertices", "Tau secondary vertex container to thin" };
96 
97  // Cell container to thin
99  { this, "Cells", "AllCalo", "Cell container to thin" };
100 
101  // Tau cluster cell link container to thin
103  { this, "TauCellLinks", "CaloCalTopoClusters_links", "Tau cluster cell link container to thin" };
104 
105 };
106 
107 #endif // TAUREC_TAUTHINNINGALG_H
TauThinningAlg::initialize
virtual StatusCode initialize() override
Gaudi initialize method.
Definition: TauThinningAlg.cxx:13
TauThinningAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Execute the algorithm.
Definition: TauThinningAlg.cxx:36
TauThinningAlg::m_finalPi0s
SG::ThinningHandleKey< xAOD::ParticleContainer > m_finalPi0s
Definition: TauThinningAlg.h:75
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
TauThinningAlg::m_neutralPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_neutralPFOs
Definition: TauThinningAlg.h:63
PFOContainer.h
TauThinningAlg::m_shotPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_shotPFOs
Definition: TauThinningAlg.h:79
TauTrackContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
TauThinningAlg::m_streamName
StringProperty m_streamName
Definition: TauThinningAlg.h:51
TauThinningAlg::m_cells
SG::ThinningHandleKey< CaloCellContainer > m_cells
Definition: TauThinningAlg.h:99
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
TauThinningAlg::m_doVertexCorrection
Gaudi::Property< bool > m_doVertexCorrection
Definition: TauThinningAlg.h:47
ParticleContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauThinningAlg::m_tauCellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_tauCellLinks
Definition: TauThinningAlg.h:103
TauThinningAlg::m_shotclusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_shotclusters
Definition: TauThinningAlg.h:83
TauThinningAlg::m_pi0CellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_pi0CellLinks
Definition: TauThinningAlg.h:71
TauJetContainer.h
TauThinningAlg::m_shotCellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_shotCellLinks
Definition: TauThinningAlg.h:87
AthReentrantAlgorithm.h
TauThinningAlg::m_tauTracks
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracks
Definition: TauThinningAlg.h:59
CaloCellContainer.h
VertexContainer.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
CaloClusterContainer.h
TauThinningAlg::m_pi0clusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_pi0clusters
Definition: TauThinningAlg.h:67
TauThinningAlg::m_secondaryVertices
SG::ThinningHandleKey< xAOD::VertexContainer > m_secondaryVertices
Definition: TauThinningAlg.h:95
TauThinningAlg::m_hadronicPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_hadronicPFOs
Definition: TauThinningAlg.h:91
TauThinningAlg
Thin taus below a minimum pt threshold.
Definition: TauThinningAlg.h:26
TauThinningAlg::m_taus
SG::ThinningHandleKey< xAOD::TauJetContainer > m_taus
Definition: TauThinningAlg.h:55