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
Gaudi::Property<float>
m_minNeutralPFOPt
50
{
this
,
"MinNeutralPFOPt"
, 0.0,
"mininum threshold to keep NeutralPFO and related cells"
};
51
52
// save only tracks passing quality requirements
53
Gaudi::Property<bool>
m_saveOnlyGoodTracks
54
{
this
,
"SaveOnlyGoodTracks"
,
false
,
"Option to save only tracks passing quality requirements"
};
55
56
// the dR between the tau and the clusters
57
Gaudi::Property<float>
m_DrTauClusters
58
{
this
,
"maxDrTauClusters"
, 0.2,
"The distance between the tau the clusters. Beyond this, clusters won't be saved"
};
59
60
// the dR between the tau and the neutral PFO
61
Gaudi::Property<float>
m_DrTauNeutrals
62
{
this
,
"maxDrTauNeutrals"
, 9999.,
"The distance between the tau the neutral PFO. Neutral PFO beyond the settled distance be saved"
};
63
64
// Name of the stream being thinned
65
StringProperty
m_streamName
66
{
this
,
"StreamName"
,
"StreamAOD"
,
"Name of the stream being thinned"
};
67
68
// Tau container to thin
69
SG::ThinningHandleKey<xAOD::TauJetContainer>
m_taus
70
{
this
,
"Taus"
,
"TauJets"
,
"Tau container to thin"
};
71
72
// Tau track container to thin
73
SG::ThinningHandleKey<xAOD::TauTrackContainer>
m_tauTracks
74
{
this
,
"TauTracks"
,
"TauTracks"
,
"Tau track container to thin"
};
75
76
// Tau neutral PFO container to thin
77
SG::ThinningHandleKey<xAOD::PFOContainer>
m_neutralPFOs
78
{
this
,
"TauNeutralPFOs"
,
"TauNeutralParticleFlowObjects"
,
"Tau neutral PFO container to thin"
};
79
80
// Tau pi0 cluster container to thin
81
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
m_pi0clusters
82
{
this
,
"TauPi0Clusters"
,
"TauPi0Clusters"
,
"Tau pi0 cluster container to thin"
};
83
84
// Tau pi0 cluster cell link container to thin
85
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_pi0CellLinks
86
{
this
,
"TauPi0CellLinks"
,
"TauPi0Clusters_links"
,
"Tau pi0 cluster cell link container to thin"
};
87
88
// Tau final pi0 container to thin
89
SG::ThinningHandleKey<xAOD::ParticleContainer>
m_finalPi0s
90
{
this
,
"TauFinalPi0s"
,
"TauFinalPi0s"
,
"Tau final pi0 container to thin"
};
91
92
// Tau shot PFO container to thin
93
SG::ThinningHandleKey<xAOD::PFOContainer>
m_shotPFOs
94
{
this
,
"TauShotPFOs"
,
"TauShotParticleFlowObjects"
,
"Tau shot PFO container to thin"
};
95
96
// Tau shot cluster container to thin
97
SG::ThinningHandleKey<xAOD::CaloClusterContainer>
m_shotclusters
98
{
this
,
"TauShotClusters"
,
"TauShotClusters"
,
"Tau shot cluster container to thin"
};
99
100
// Tau shot cluster cell link container to thin
101
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_shotCellLinks
102
{
this
,
"TauShotCellLinks"
,
"TauShotClusters_links"
,
"Tau shot cluster cell link container to thin"
};
103
104
// Tau hadronic PFO container to thin
105
SG::ThinningHandleKey<xAOD::PFOContainer>
m_hadronicPFOs
106
{
this
,
"TauHadronicPFOs"
,
"TauHadronicParticleFlowObjects"
,
"Tau hadronic PFO container to thin"
};
107
108
// Tau secondary vertex container to thin
109
SG::ThinningHandleKey<xAOD::VertexContainer>
m_secondaryVertices
110
{
this
,
"TauSecondaryVertices"
,
"TauSecondaryVertices"
,
"Tau secondary vertex container to thin"
};
111
112
// Cell container to thin
113
SG::ThinningHandleKey<CaloCellContainer>
m_cells
114
{
this
,
"Cells"
,
"AllCalo"
,
"Cell container to thin"
};
115
116
// Tau cluster cell link container to thin
117
SG::ThinningHandleKey<CaloClusterCellLinkContainer>
m_tauCellLinks
118
{
this
,
"TauCellLinks"
,
"CaloCalTopoClusters_links"
,
"Tau cluster cell link container to thin"
};
119
120
};
121
122
#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:118
TauThinningAlg::m_DrTauClusters
Gaudi::Property< float > m_DrTauClusters
Definition
TauThinningAlg.h:58
TauThinningAlg::m_finalPi0s
SG::ThinningHandleKey< xAOD::ParticleContainer > m_finalPi0s
Definition
TauThinningAlg.h:90
TauThinningAlg::m_DrTauNeutrals
Gaudi::Property< float > m_DrTauNeutrals
Definition
TauThinningAlg.h:62
TauThinningAlg::m_secondaryVertices
SG::ThinningHandleKey< xAOD::VertexContainer > m_secondaryVertices
Definition
TauThinningAlg.h:110
TauThinningAlg::m_pi0CellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_pi0CellLinks
Definition
TauThinningAlg.h:86
TauThinningAlg::m_saveOnlyGoodTracks
Gaudi::Property< bool > m_saveOnlyGoodTracks
Definition
TauThinningAlg.h:54
TauThinningAlg::m_taus
SG::ThinningHandleKey< xAOD::TauJetContainer > m_taus
Definition
TauThinningAlg.h:70
TauThinningAlg::m_shotclusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_shotclusters
Definition
TauThinningAlg.h:98
TauThinningAlg::m_doVertexCorrection
Gaudi::Property< bool > m_doVertexCorrection
Definition
TauThinningAlg.h:47
TauThinningAlg::m_minNeutralPFOPt
Gaudi::Property< float > m_minNeutralPFOPt
Definition
TauThinningAlg.h:50
TauThinningAlg::m_streamName
StringProperty m_streamName
Definition
TauThinningAlg.h:66
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:94
TauThinningAlg::m_pi0clusters
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_pi0clusters
Definition
TauThinningAlg.h:82
TauThinningAlg::m_hadronicPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_hadronicPFOs
Definition
TauThinningAlg.h:106
TauThinningAlg::m_cells
SG::ThinningHandleKey< CaloCellContainer > m_cells
Definition
TauThinningAlg.h:114
TauThinningAlg::m_shotCellLinks
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_shotCellLinks
Definition
TauThinningAlg.h:102
TauThinningAlg::m_neutralPFOs
SG::ThinningHandleKey< xAOD::PFOContainer > m_neutralPFOs
Definition
TauThinningAlg.h:78
TauThinningAlg::m_tauTracks
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracks
Definition
TauThinningAlg.h:74
Generated on
for ATLAS Offline Software by
1.17.0