ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecoAlgs
TrackParticleAssociationAlgs
src
TrackParticleClusterAssociationAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRACKPARTICLEASSOCIATIONALGS_TRACKPARTICLECLUSTERASSOCIATIONALG_H
6
#define TRACKPARTICLEASSOCIATIONALGS_TRACKPARTICLECLUSTERASSOCIATIONALG_H
7
8
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
#include "
StoreGate/ReadHandleKey.h
"
11
#include "
StoreGate/ReadDecorHandleKey.h
"
12
#include "
StoreGate/WriteHandleKey.h
"
13
#include "
StoreGate/WriteDecorHandleKey.h
"
14
15
#include "
xAODCaloEvent/CaloClusterContainer.h
"
16
#include "
xAODTracking/VertexContainer.h
"
17
#include "
xAODTracking/TrackParticleContainer.h
"
18
#include "
TrkCaloExtension/CaloExtensionCollection.h
"
19
20
#include "
TrackVertexAssociationTool/ITrackVertexAssociationTool.h
"
21
22
#include <string>
23
38
class
TrackParticleClusterAssociationAlg
:
public
AthReentrantAlgorithm
39
{
40
public
:
41
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
42
43
44
virtual
StatusCode
initialize
()
override
;
45
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
46
47
48
private
:
49
51
std::vector<const xAOD::CaloCluster* >
52
associatedClusters
(
const
Trk::CaloExtension
& caloExtensions,
const
xAOD::CaloClusterContainer
& allClusters,
53
const
EventContext& ctx)
const
;
54
55
56
57
Gaudi::Property<float>
m_dr
{
this
,
"DeltaR"
, 0.1,
"max deltaR to match track and cluster"
};
58
Gaudi::Property<bool>
m_useCovariance
{
this
,
"UseCovariance"
,
true
,
"use covariance from TrkParameters to evaluate angular uncertainties"
};
59
Gaudi::Property<double>
m_ptCut
{
this
,
"PtCut"
, 25000.,
""
};
60
61
// input containers
62
SG::ReadHandleKey<CaloExtensionCollection>
m_caloExtKey
{
this
,
"CaloExtensionName"
,
""
,
""
};
63
SG::ReadHandleKey<xAOD::TrackParticleContainer>
m_trackParticleCollectionHandle
{
this
,
"TrackParticleContainerName"
,
"InDetTrackParticles"
,
"input tracks"
};
64
SG::ReadHandleKey<xAOD::CaloClusterContainer>
m_caloClusters
{
this
,
"CaloClusterLocation"
,
"CaloCalTopoClusters"
,
"input calo clusters"
};
65
66
// Whether or not to use the DetectorEta attribute of the clusters, which is important if the input cluster container has had the origin correction applied
67
// Default assumes no origin correction, must be configured if desired
68
SG::ReadDecorHandleKey<xAOD::CaloClusterContainer>
m_detectorEtaDecor
{
this
,
"DetectorEtaName"
,
m_caloClusters
,
""
,
"Decoration for CaloCluster DetectorEta"
};
69
SG::ReadDecorHandleKey<xAOD::TrackParticleContainer>
m_trkLinkKey
{
this
,
"TrackLinkKey"
,
m_trackParticleCollectionHandle
,
"trackLink"
};
70
71
bool
m_doDetEta
=
false
;
72
73
// vertex handling
74
SG::ReadHandleKey<xAOD::VertexContainer>
m_vertexContHandle
{
this
,
"VertexContainerName"
,
""
,
"if empty all tracks will be decorated. if not only those corresponding to the PV[0] will."
};
75
ToolHandle<CP::ITrackVertexAssociationTool>
m_trackvertexassoTool
{
this
,
"TrackVertexAssoTool"
,
""
};
76
77
78
// decorations
79
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_assocClustersDecor
{
this
,
"AssociatedClusterDecorKey"
,
m_trackParticleCollectionHandle
,
""
,
"Decoration key to store associated clusters. IMPORTANT must be consistent with TrackParticleContainer"
};
80
SG::WriteDecorHandleKey<xAOD::TrackParticleContainer>
m_caloEntryParsDecor
{
this
,
"CaloEntryParsDecorKey"
,
m_trackParticleCollectionHandle
,
""
,
"Decoration name to store trk parameters to calo entry (if non blank). IMPORTANT : must be consistent with TrackParticleContainer"
};
81
SG::WriteDecorHandleKey<xAOD::CaloClusterContainer>
m_sigmaWidthKey
82
{
this
,
"SigmaWidthKey"
,
m_caloClusters
,
"sigmaWidth"
,
"sigmaWidth decoration"
};
83
};
84
85
#endif
AthReentrantAlgorithm.h
CaloExtensionCollection.h
CaloClusterContainer.h
TrackParticleContainer.h
ITrackVertexAssociationTool.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
VertexContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition
StoreGate/StoreGate/ReadDecorHandleKey.h:86
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition
StoreGate/StoreGate/WriteDecorHandleKey.h:90
TrackParticleClusterAssociationAlg
Associate clusters to each track based on its extrapolation to the calo.
Definition
TrackParticleClusterAssociationAlg.h:39
TrackParticleClusterAssociationAlg::m_caloExtKey
SG::ReadHandleKey< CaloExtensionCollection > m_caloExtKey
Definition
TrackParticleClusterAssociationAlg.h:62
TrackParticleClusterAssociationAlg::m_assocClustersDecor
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_assocClustersDecor
Definition
TrackParticleClusterAssociationAlg.h:79
TrackParticleClusterAssociationAlg::m_dr
Gaudi::Property< float > m_dr
Definition
TrackParticleClusterAssociationAlg.h:57
TrackParticleClusterAssociationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
TrackParticleClusterAssociationAlg.cxx:39
TrackParticleClusterAssociationAlg::m_trkLinkKey
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_trkLinkKey
Definition
TrackParticleClusterAssociationAlg.h:69
TrackParticleClusterAssociationAlg::m_trackvertexassoTool
ToolHandle< CP::ITrackVertexAssociationTool > m_trackvertexassoTool
Definition
TrackParticleClusterAssociationAlg.h:75
TrackParticleClusterAssociationAlg::m_caloClusters
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusters
Definition
TrackParticleClusterAssociationAlg.h:64
TrackParticleClusterAssociationAlg::m_detectorEtaDecor
SG::ReadDecorHandleKey< xAOD::CaloClusterContainer > m_detectorEtaDecor
Definition
TrackParticleClusterAssociationAlg.h:68
TrackParticleClusterAssociationAlg::associatedClusters
std::vector< const xAOD::CaloCluster * > associatedClusters(const Trk::CaloExtension &caloExtensions, const xAOD::CaloClusterContainer &allClusters, const EventContext &ctx) const
returns the clusters from allClusters which are close enough to caloExtensions
Definition
TrackParticleClusterAssociationAlg.cxx:138
TrackParticleClusterAssociationAlg::m_trackParticleCollectionHandle
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleCollectionHandle
Definition
TrackParticleClusterAssociationAlg.h:63
TrackParticleClusterAssociationAlg::initialize
virtual StatusCode initialize() override
Definition
TrackParticleClusterAssociationAlg.cxx:15
TrackParticleClusterAssociationAlg::m_doDetEta
bool m_doDetEta
Definition
TrackParticleClusterAssociationAlg.h:71
TrackParticleClusterAssociationAlg::m_vertexContHandle
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContHandle
Definition
TrackParticleClusterAssociationAlg.h:74
TrackParticleClusterAssociationAlg::m_sigmaWidthKey
SG::WriteDecorHandleKey< xAOD::CaloClusterContainer > m_sigmaWidthKey
Definition
TrackParticleClusterAssociationAlg.h:82
TrackParticleClusterAssociationAlg::m_caloEntryParsDecor
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_caloEntryParsDecor
Definition
TrackParticleClusterAssociationAlg.h:80
TrackParticleClusterAssociationAlg::m_useCovariance
Gaudi::Property< bool > m_useCovariance
Definition
TrackParticleClusterAssociationAlg.h:58
TrackParticleClusterAssociationAlg::m_ptCut
Gaudi::Property< double > m_ptCut
Definition
TrackParticleClusterAssociationAlg.h:59
Trk::CaloExtension
Tracking class to hold the extrapolation through calorimeter Layers Both the caloEntryLayerIntersecti...
Definition
TrkEvent/TrkCaloExtension/TrkCaloExtension/CaloExtension.h:19
xAOD::CaloClusterContainer
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloClusterContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0