ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
tauRec
src
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
8
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
9
#include "
xAODTau/TauJetContainer.h
"
10
#include "
xAODTau/TauTrackContainer.h
"
11
#include "
xAODPFlow/PFOContainer.h
"
12
#include "
xAODCaloEvent/CaloClusterContainer.h
"
13
#include "
CaloEvent/CaloClusterCellLinkContainer.h
"
14
#include "
CaloEvent/CaloCellContainer.h
"
15
#include "
xAODTracking/VertexContainer.h
"
16
#include "
xAODParticleEvent/ParticleContainer.h
"
17
#include "
StoreGate/ThinningHandleKey.h
"
18
#include "GaudiKernel/SystemOfUnits.h"
19
25
class
TauThinningAlg
:
public
AthReentrantAlgorithm
26
{
27
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
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
// save only tracks passing quality requirements
50
Gaudi::Property<bool>
m_saveOnlyGoodTracks
51
{
this
,
"SaveOnlyGoodTracks"
,
false
,
"Option to save only tracks passing quality requirements"
};
52
53
// the dR between the tau and the clusters
54
Gaudi::Property<float>
m_DrTauClusters
55
{
this
,
"maxDrTauClusters"
, 0.2,
"The distance between the tau the clusters. Beyond this, clusters won't be saved"
};
56
57
// the dR between the tau and the neutral PFO
58
Gaudi::Property<float>
m_DrTauNeutrals
59
{
this
,
"maxDrTauNeutrals"
, 9999.,
"The distance between the tau the neutral PFO. Neutral PFO beyond the settled distance be saved"
};
60
61
// Name of the stream being thinned
62
StringProperty
m_streamName
63
{
this
,
"StreamName"
,
"StreamAOD"
,
"Name of the stream being thinned"
};
64
65
// Tau container to thin
66
SG::ThinningHandleKey<xAOD::TauJetContainer>
m_taus
67
{
this
,
"Taus"
,
"TauJets"
,
"Tau container to thin"
};
68
69
// Tau track container to thin
70
SG::ThinningHandleKey<xAOD::TauTrackContainer>
m_tauTracks
71
{
this
,
"TauTracks"
,
"TauTracks"
,
"Tau track container to thin"
};
72
73
// Tau neutral PFO container to thin
74
SG::ThinningHandleKey<xAOD::PFOContainer>
m_neutralPFOs
75
{
this
,
"TauNeutralPFOs"
,
"TauNeutralParticleFlowObjects"
,
"Tau neutral PFO container to thin"
};
76
77
// Tau pi0 cluster container to thin
78
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
m_pi0clusters
79
{
this
,
"TauPi0Clusters"
,
"TauPi0Clusters"
,
"Tau pi0 cluster container to thin"
};
80
81
// Tau pi0 cluster cell link container to thin
82
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_pi0CellLinks
83
{
this
,
"TauPi0CellLinks"
,
"TauPi0Clusters_links"
,
"Tau pi0 cluster cell link container to thin"
};
84
85
// Tau final pi0 container to thin
86
SG::ThinningHandleKey<xAOD::ParticleContainer>
m_finalPi0s
87
{
this
,
"TauFinalPi0s"
,
"TauFinalPi0s"
,
"Tau final pi0 container to thin"
};
88
89
// Tau shot PFO container to thin
90
SG::ThinningHandleKey<xAOD::PFOContainer>
m_shotPFOs
91
{
this
,
"TauShotPFOs"
,
"TauShotParticleFlowObjects"
,
"Tau shot PFO container to thin"
};
92
93
// Tau shot cluster container to thin
94
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
m_shotclusters
95
{
this
,
"TauShotClusters"
,
"TauShotClusters"
,
"Tau shot cluster container to thin"
};
96
97
// Tau shot cluster cell link container to thin
98
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_shotCellLinks
99
{
this
,
"TauShotCellLinks"
,
"TauShotClusters_links"
,
"Tau shot cluster cell link container to thin"
};
100
101
// Tau hadronic PFO container to thin
102
SG::ThinningHandleKey<xAOD::PFOContainer>
m_hadronicPFOs
103
{
this
,
"TauHadronicPFOs"
,
"TauHadronicParticleFlowObjects"
,
"Tau hadronic PFO container to thin"
};
104
105
// Tau secondary vertex container to thin
106
SG::ThinningHandleKey<xAOD::VertexContainer>
m_secondaryVertices
107
{
this
,
"TauSecondaryVertices"
,
"TauSecondaryVertices"
,
"Tau secondary vertex container to thin"
};
108
109
// Cell container to thin
110
SG::ThinningHandleKey<CaloCellContainer>
m_cells
111
{
this
,
"Cells"
,
"AllCalo"
,
"Cell container to thin"
};
112
113
// Tau cluster cell link container to thin
114
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_tauCellLinks
115
{
this
,
"TauCellLinks"
,
"CaloCalTopoClusters_links"
,
"Tau cluster cell link container to thin"
};
116
117
};
118
119
#endif
// TAUREC_TAUTHINNINGALG_H
AthReentrantAlgorithm.h
CaloCellContainer.h
CaloClusterCellLinkContainer.h
CaloClusterContainer.h
PFOContainer.h
ParticleContainer.h
TauJetContainer.h
TauTrackContainer.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
VertexContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition
ThinningHandleKey.h:39
TauThinningAlg
Thin taus below a minimum pt threshold.
Definition
TauThinningAlg.h:26
TauThinningAlg::initialize
virtual StatusCode initialize() override
Gaudi initialize method.
Definition
TauThinningAlg.cxx:13
TauThinningAlg::m_tauCellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_tauCellLinks
Definition
TauThinningAlg.h:115
TauThinningAlg::m_DrTauClusters
Gaudi::Property< float > m_DrTauClusters
Definition
TauThinningAlg.h:55
TauThinningAlg::m_finalPi0s
SG::ThinningHandleKey< xAOD::ParticleContainer > m_finalPi0s
Definition
TauThinningAlg.h:87
TauThinningAlg::m_DrTauNeutrals
Gaudi::Property< float > m_DrTauNeutrals
Definition
TauThinningAlg.h:59
TauThinningAlg::m_secondaryVertices
SG::ThinningHandleKey< xAOD::VertexContainer > m_secondaryVertices
Definition
TauThinningAlg.h:107
TauThinningAlg::m_pi0CellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_pi0CellLinks
Definition
TauThinningAlg.h:83
TauThinningAlg::m_saveOnlyGoodTracks
Gaudi::Property< bool > m_saveOnlyGoodTracks
Definition
TauThinningAlg.h:51
TauThinningAlg::m_taus
SG::ThinningHandleKey< xAOD::TauJetContainer > m_taus
Definition
TauThinningAlg.h:67
TauThinningAlg::m_shotclusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_shotclusters
Definition
TauThinningAlg.h:95
TauThinningAlg::m_doVertexCorrection
Gaudi::Property< bool > m_doVertexCorrection
Definition
TauThinningAlg.h:47
TauThinningAlg::m_streamName
StringProperty m_streamName
Definition
TauThinningAlg.h:63
TauThinningAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Execute the algorithm.
Definition
TauThinningAlg.cxx:36
TauThinningAlg::m_shotPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_shotPFOs
Definition
TauThinningAlg.h:91
TauThinningAlg::m_pi0clusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_pi0clusters
Definition
TauThinningAlg.h:79
TauThinningAlg::m_hadronicPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_hadronicPFOs
Definition
TauThinningAlg.h:103
TauThinningAlg::m_cells
SG::ThinningHandleKey< CaloCellContainer > m_cells
Definition
TauThinningAlg.h:111
TauThinningAlg::m_shotCellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_shotCellLinks
Definition
TauThinningAlg.h:99
TauThinningAlg::m_neutralPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_neutralPFOs
Definition
TauThinningAlg.h:75
TauThinningAlg::m_tauTracks
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracks
Definition
TauThinningAlg.h:71
Generated on
for ATLAS Offline Software by
1.17.0