ATLAS Offline Software
Loading...
Searching...
No Matches
ActsToTrkConverterTool.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 ACTSEVENTCNV_ActsToTrkConverterTool_H
6#define ACTSEVENTCNV_ActsToTrkConverterTool_H
7
8#include <tuple>
9
10// ATHENA
12
15
16#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
21
23
24
25// PACKAGE
27
33
34
35#include "Acts/EventData/BoundTrackParameters.hpp"
36
37
42
43namespace ActsTrk {
44class ActsToTrkConverterTool : public extends<AthAlgTool, ITrackConverterTool>
45{
46
47public:
48 virtual StatusCode initialize() override;
49
50 using base_class::base_class;
51
53 virtual std::vector<Acts::SourceLink> trkTrackToSourceLinks(const Trk::Track& track) const override;
55 virtual std::unique_ptr<Trk::Track> convertActsToTrk(const EventContext& ctx,
56 const ActsTrack_t& actsTrack,
57 const Trk::TrackInfo::TrackFitter fitAuthor) const override final;
59 virtual std::unique_ptr<Trk::Track> convertTrack(const EventContext& ctx,
60 const ConstTrack_t& trackProxy) const override final;
62 virtual void convertTrkToActsContainer(const EventContext& ctx,
63 const TrackCollection& trackColl,
64 ActsTrk::MutableTrackContainer& outTrackcoll) const override;
66 virtual std::unique_ptr<TrackCollection>
67 convertActsToTrkContainer(const EventContext& ctx,
68 const ActsTrk::TrackContainer& trackCont) const override final;
69private:
75 template <typename Proxy_t>
76 std::unique_ptr<Trk::Track> convertActsTrack(const EventContext& ctx,
77 const Proxy_t& track,
78 const Trk::TrackInfo::TrackFitter fitAuthor) const;
80 using TrkTSOSMask = std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>;
91 void appendMeasTSOS(const EventContext& ctx,
93 const TrkTSOSMask typePattern,
95 std::unique_ptr<Trk::TrackParameters> trkPars,
96 Trk::TrackStates& states) const;
103 template <typename PrdType_t>
104 const Trk::PrepRawData* fetchPrd(const EventContext& ctx,
106 const Identifier& prdId,
107 const IdentifierHash& hash) const;
108
110 const Acts::BoundTrackParameters& actsParameter,
111 const Trk::TrackParameters& tsos, const Acts::GeometryContext& gctx) const;
112
113
114 PublicToolHandle<IGeometryRealmConvTool> m_geometryConvTool{this, "GeometryRealmConvTool", ""};
115
119 ToolHandle<Trk::IExtendedTrackSummaryTool> m_trkSummaryTool {this, "SummaryTool", "", "ToolHandle for track summary tool"};
120 ToolHandle<Trk::IRIO_OnTrackCreator> m_ROTcreator {this, "RotCreatorTool", ""};
121
123 Gaudi::Property<bool> m_convertHoles{this, "convertHoles", true };
125 Gaudi::Property<bool> m_convertOutliers{this, "convertOutliers", true};
127 Gaudi::Property<bool> m_convertMaterial{this, "convertMaterial", false};
128
129 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
130
131 SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_keyMdt{this, "MdtKey", "MDT_DriftCircles"};
132 SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_keyRpc{this, "RpcKey", "RPC_Measurements"};
133 SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgc{this, "TgcKey", "TGC_MeasurementsAllBCs"};
134 SG::ReadHandleKey<Muon::MMPrepDataContainer> m_keyMm{this, "MmKey", "MM_Measurements"};
135 SG::ReadHandleKey<Muon::sTgcPrepDataContainer> m_keyStgc{this, "sTgcKey", "STGC_Measurements"};
136 SG::ReadHandleKey<InDet::PixelClusterContainer> m_pixelKey{this, "PixelKey", "ITkPixelClusters" };
137 SG::ReadHandleKey<InDet::SCT_ClusterContainer> m_sctKey{this, "SctKey", "ITkStripClusters" };
138
139 ToolHandle<Muon::IMuonCompetingClustersOnTrackCreator> m_compRotCreator{this, "CompetingRotCreator", ""}; //<! competing clusters rio ontrack creator
140
143
145
146};
147
148}; // namespace ActsTrk
149
150#endif
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
std::bitset< Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes > TrkTSOSMask
Abrivate the state mask for the TSOS.
bool actsTrackParameterPositionCheck(const Acts::BoundTrackParameters &actsParameter, const Trk::TrackParameters &tsos, const Acts::GeometryContext &gctx) const
ContextUtility m_ctxProvider
Utility to fetch the geometry, magnetic field and calibration context in the event.
ToolHandle< Trk::IExtendedTrackSummaryTool > m_trkSummaryTool
Tools needed to create Trk::Tracks from the ACts fit result.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::unique_ptr< Trk::Track > convertActsTrack(const EventContext &ctx, const Proxy_t &track, const Trk::TrackInfo::TrackFitter fitAuthor) const
Helper function to convert a Acts TrackPoxy (which may be const or not) into a Trk::Track.
Gaudi::Property< bool > m_convertOutliers
Flag to convert the outlier states.
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_keyRpc
virtual StatusCode initialize() override
PublicToolHandle< IGeometryRealmConvTool > m_geometryConvTool
ToolHandle< Muon::IMuonCompetingClustersOnTrackCreator > m_compRotCreator
detail::TrkPrepRawDataCalibrator m_prdCalib
virtual std::unique_ptr< Trk::Track > convertTrack(const EventContext &ctx, const ConstTrack_t &trackProxy) const override final
Converts a const Acts::Track into.
virtual std::unique_ptr< TrackCollection > convertActsToTrkContainer(const EventContext &ctx, const ActsTrk::TrackContainer &trackCont) const override final
Converts the Acts track container to a Trk::Track collection.
virtual std::unique_ptr< Trk::Track > convertActsToTrk(const EventContext &ctx, const ActsTrack_t &actsTrack, const Trk::TrackInfo::TrackFitter fitAuthor) const override final
Gaudi::Property< bool > m_convertHoles
Flag to convert the hole states.
ToolHandle< Trk::IRIO_OnTrackCreator > m_ROTcreator
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_keyMm
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_keyMdt
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_keyTgc
detail::TrkMeasurementCalibrator m_measCalib
const Trk::PrepRawData * fetchPrd(const EventContext &ctx, const SG::ReadHandleKey< PrdType_t > &key, const Identifier &prdId, const IdentifierHash &hash) const
Searches a Prd object from a collection according to the measurement's Identifier and the container's...
void appendMeasTSOS(const EventContext &ctx, const xAOD::UncalibratedMeasurement *meas, const TrkTSOSMask typePattern, Trk::FitQualityOnSurface &&quality, std::unique_ptr< Trk::TrackParameters > trkPars, Trk::TrackStates &states) const
Append the translated TSOS at the beginning of the states container corresponding to the parsed measu...
Trk::TrackInfo::TrackFitter m_fitAuthor
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_keyStgc
SG::ReadHandleKey< InDet::PixelClusterContainer > m_pixelKey
virtual std::vector< Acts::SourceLink > trkTrackToSourceLinks(const Trk::Track &track) const override
Converts the Trk measurement track states into a vector of Acts::Source links.
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_sctKey
Gaudi::Property< bool > m_convertMaterial
Flag to convert the material states (non sensitive) Acts -> Trk conversion.
virtual void convertTrkToActsContainer(const EventContext &ctx, const TrackCollection &trackColl, ActsTrk::MutableTrackContainer &outTrackcoll) const override
Convert the Trk::Track in the passed TrackCollection into Acts tracks and appends the result to the p...
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Calibrator class that links the legacy Trk::MeasurementBase objects with the Acts MultiTrajectory tra...
Class to calibrate the Acts track states with uncalibrated Trk::PrepRaw data objects.
This is a "hash" representation of an Identifier.
Property holding a SG store/key/clid from which a ReadHandle is made.
TrackFitter
enums to identify who created this track and what propertis does it have.
@ GlobalChi2Fitter
Track's from Thijs' global chi^2 fitter.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
DataVector< const Trk::TrackStateOnSurface > TrackStates
ParametersBase< TrackParametersDim, Charged > TrackParameters
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.