ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCollectionMerger.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrackCollectionMerger.h, (c) ATLAS Detector software
8#ifndef TrackCollectionMerger_H
9#define TrackCollectionMerger_H
10
12
14#include "GaudiKernel/ToolHandle.h"
15
19
23
26
27#include <string>
28#include <map>
29
30
31namespace Trk {
32
35 {
36
37 public:
38
40
42
43 TrackCollectionMerger(const std::string &name, ISvcLocator *pSvcLocator);
45 virtual StatusCode initialize() override final;
46 virtual StatusCode execute(const EventContext& ctx) const override final;
47 virtual StatusCode finalize() override final;
48
50
52
54
56 SG::ReadHandleKeyArray<TrackCollection> m_tracklocation {
57 this, "TracksLocation", {}};
58
61 this,
62 "OverlayTracksLocation",
63 "",
64 "Pileup Track Collection"
65 };
66 // note that these handles are not used directly, they are needed here
67 // just to ensure that these collections get loaded into SG
70 this,
71 "OverlayTRTClusters",
72 "Bkg_TRT_DriftCircles",
73 "Pileup Drift Circles"
74 };
75
77 this,
78 "OverlayPixelClusters",
79 "Bkg_PixelClusters",
80 "Pileup Pixel Clusters"
81 };
82
84 this,
85 "OverlaySCTClusters",
86 "Bkg_SCT_Clusters",
87 "Pileup SCT Clusters"
88 };
89
91 {this, "OutputTracksLocation", "CombinedInDetTracks"};
92
95 this,
96 "AssociationMapName",
97 ""
98 };
99
100 ToolHandle<Trk::IPRDtoTrackMapTool> m_assoTool{
101 this,
102 "AssociationTool",
103 "InDet::InDetPRDtoTrackMapToolGangedPixels"
104 };
105
107
109
111 StatusCode mergeTrack(const TrackCollection* trackCol,
112 Trk::PRDtoTrackMap* pPrdToTrackMap,
113 ConstDataVector<TrackCollection>* outputCol) const;
114
115 private:
116
117 //doing track overlay: needed to initialize the background PRD containers
118 BooleanProperty m_doTrackOverlay{this, "DoTrackOverlay", false};
119
120 };
121
122}
123#endif // TrackCollectionMerger_H
DataVector adapter that acts like it holds const pointers.
#define protected
Property holding a SG store/key/clid from which a WriteHandle is made.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
An algorithm that can be simultaneously executed in multiple threads.
DataVector adapter that acts like it holds const pointers.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
virtual StatusCode execute(const EventContext &ctx) const override final
StatusCode mergeTrack(const TrackCollection *trackCol, Trk::PRDtoTrackMap *pPrdToTrackMap, ConstDataVector< TrackCollection > *outputCol) const
Protected methods:
SG::ReadHandleKeyArray< TrackCollection > m_tracklocation
Protected data:
SG::WriteHandleKey< ConstDataVector< TrackCollection > > m_outtracklocation
Combined track collection.
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_pileupTRT
pileup TRT PRDs, only retrieved if track overlay is on
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_pileupSCT
pileup SCT PRDs, only retrieved if track overlay is on
SG::ReadHandleKey< TrackCollection > m_overlayTrackLocation
overlay track collection, if track overlay is on; default is emptystring, i.e.
SG::ReadHandleKey< InDet::PixelClusterContainer > m_pileupPixel
pileup pixel PRDs, only retrieved if track overlay is on
virtual StatusCode initialize() override final
ToolHandle< Trk::IPRDtoTrackMapTool > m_assoTool
SG::WriteHandleKey< Trk::PRDtoTrackMap > m_assoMapName
the key given to the newly created association map
virtual StatusCode finalize() override final
TrackCollectionMerger(const std::string &name, ISvcLocator *pSvcLocator)
Standard Algotithm methods:
Forward declaration.
Ensure that the ATLAS eigen extensions are properly loaded.