ATLAS Offline Software
Loading...
Searching...
No Matches
ProtoTrackCreationAndFitAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include <Gaudi/Property.h>
6#ifndef ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H
7#define ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H 1
8
12
22
23namespace ActsTrk{
25 public:
26
27 using ::AthReentrantAlgorithm::AthReentrantAlgorithm;
28 virtual ~ProtoTrackCreationAndFitAlg() = default;
29
31
32 //IS EXECUTED:
33 virtual StatusCode initialize() override final; //once, before any input is loaded
34 virtual StatusCode execute(const EventContext & ctx) const override final;
35
36 private:
37
38 // the pixel clusters to read as input
39 SG::ReadHandleKey<xAOD::PixelClusterContainer> m_PixelClusters{this, "PixelClusterContainer","","the pix clusters"};
40 // the strip clusters to read as input
41 SG::ReadHandleKey<xAOD::StripClusterContainer> m_StripClusters{this, "StripClusterContainer","","the strip clusters"};
42 // the user-provided pattern recognition tool to test
43 ToolHandle<ActsTrk::IProtoTrackCreatorTool> m_patternBuilder{this, "PatternBuilder", "", "the pattern builder to use"};
44 // the track fitter to use for the refit
45 ToolHandle<ActsTrk::IFitterTool> m_actsFitter{this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
46 // tracking geometry - used to translate ATLAS to ACTS geometry
47 PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", ""};
48 // ACTS extrapolation tool - provides the magnetic field
49 ToolHandle<ActsTrk::IExtrapolationTool> m_extrapolationTool{this, "ExtrapolationTool", ""};
50 // output location to write to
51 SG::WriteHandleKey<ActsTrk::TrackContainer> m_trackContainerKey{this, "ACTSTracksLocation", "", "Output track collection (ActsTrk variant)"};
52
53 // output location for proto tracks (can be empty)
54 SG::WriteHandleKey<ActsTrk::ProtoTrackCollection> m_protoTrackCollectionKey{this, "ProtoTracksLocation", "", "Output proto tracks as well"};
55 Gaudi::Property<bool> m_copyParametersFromFit{this, "copyParametersFromFit", true, "If enabled proto tracks will have the same parameters as fitted tracks"};
56 // acts helper for the output
58
59
60
61 };
62
63}
64
65#endif //> !ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
SG::ReadHandleKey< xAOD::StripClusterContainer > m_StripClusters
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
virtual StatusCode execute(const EventContext &ctx) const override final
ToolHandle< ActsTrk::IProtoTrackCreatorTool > m_patternBuilder
ToolHandle< ActsTrk::IFitterTool > m_actsFitter
ToolHandle< ActsTrk::IExtrapolationTool > m_extrapolationTool
virtual ~ProtoTrackCreationAndFitAlg()=default
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
SG::WriteHandleKey< ActsTrk::ProtoTrackCollection > m_protoTrackCollectionKey
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_PixelClusters
virtual StatusCode initialize() override final
uncomment and implement methods as required
An algorithm that can be simultaneously executed in multiple threads.
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.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Forward declaration.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
#define private