ATLAS Offline Software
Loading...
Searching...
No Matches
TrackToTrackParticleCnvTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVTOOL_H
6#define ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVTOOL_H 1
7
9
11
14
19
20#include "Acts/Propagator/EigenStepper.hpp"
21#include "Acts/Propagator/Propagator.hpp"
22#include "Acts/Propagator/Navigator.hpp"
23#include "Acts/Definitions/PdgParticle.hpp"
26
27#include "Gaudi/Property.h"
28
29namespace ActsTrk {
30
31 class TrackToTrackParticleCnvTool : public extends<AthAlgTool, ITrackToTrackParticleCnvTool> {
32
33 public:
34 using base_class::base_class;
35
36 virtual StatusCode initialize() override;
37
38 virtual StatusCode convert(xAOD::TrackParticle& trackParticle,
39 const EventContext& ctx,
40 const ActsTrk::TrackContainer::ConstTrackProxy& track,
41 const Acts::Surface& perigeeSurface,
42 const InDet::BeamSpotData* beamspotData = nullptr) const override;
43
44 private:
45 using Stepper = Acts::EigenStepper<>;
46 using Navigator = Acts::Navigator;
47 using Propagator = Acts::Propagator<Stepper, Navigator>;
48
49 Acts::BoundTrackParameters parametersAtPerigee(const EventContext& ctx,
50 const ActsTrk::TrackContainer::ConstTrackProxy& track,
51 const Acts::Surface& perigee_surface) const;
52
53 ToolHandle<ActsTrk::IExtrapolationTool> m_extrapolationTool
54 {this, "ExtrapolationTool", ""};
55
56 PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool
57 {this, "TrackingGeometryTool", ""};
58
59 PublicToolHandle<MuonR4::ITrackSummaryTool> m_muonSummaryTool{this, "MuonSummaryTool", ""};
61 {this, "AtlasFieldCacheCondObj", "fieldCondObj",
62 "Name of the Magnetic Field conditions object key"};
63
64 Gaudi::Property<double> m_paramExtrapolationParLimit
65 {this, "ExtrapolationPathLimit", std::numeric_limits<double>::max(),
66 "PathLimit for extrapolating track parameters."};
67
68 Gaudi::Property<bool> m_firstAndLastParamOnly
69 {this, "FirstAndLastParameterOnly", true,
70 "Only convert the first and the last parameter."};
71
72 Gaudi::Property<bool> m_computeExpectedLayerPattern
73 {this, "ComputeExpectedLayerPattern", true,
74 "Compute the expected layer pattern. CPU expensive"};
75
76 Gaudi::Property<bool> m_expectIfPixelContributes
77 {this, "expectIfPixelContribution", true,
78 "Only expect pixel hits if there are pixel hits on track."};
79
80 Gaudi::Property<double> m_pixelExpectLayerPathLimitInMM
81 {this, "PixelExpectLayerPathLimitInMM", 1000,
82 "PathLimit for extrapolating to get the expected pixel layer pattern in mm."};
83
84 Gaudi::Property<unsigned long> m_patternRecognitionInfo
85 {this, "PatternRecognitionInfo", (1ul << xAOD::SiSPSeededFinder),
86 "Pattern recognition info bitmask to store on converted track particles."};
87
88 Gaudi::Property<int> m_trackFitter
89 {this, "TrackFitter", static_cast<int>(xAOD::KalmanFitter),
90 "Track fitter identifier to store on converted track particles."};
91
92 std::unique_ptr<Propagator> m_propagator;
93 };
94
95}
96
97#endif
Acts::BoundTrackParameters parametersAtPerigee(const EventContext &ctx, const ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::Surface &perigee_surface) const
ToolHandle< ActsTrk::IExtrapolationTool > m_extrapolationTool
Gaudi::Property< double > m_pixelExpectLayerPathLimitInMM
Acts::Propagator< Stepper, Navigator > Propagator
PublicToolHandle< MuonR4::ITrackSummaryTool > m_muonSummaryTool
virtual StatusCode convert(xAOD::TrackParticle &trackParticle, const EventContext &ctx, const ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::Surface &perigeeSurface, const InDet::BeamSpotData *beamspotData=nullptr) const override
Gaudi::Property< unsigned long > m_patternRecognitionInfo
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
@ KalmanFitter
tracks produced by the Kalman Fitter
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.