5#ifndef ACTSTRACKRECONSTRUCTION_GAUSSIANSUMFITTERTOOL_H
6#define ACTSTRACKRECONSTRUCTION_GAUSSIANSUMFITTERTOOL_H
13#include "Acts/EventData/VectorMultiTrajectory.hpp"
14#include "Acts/Geometry/GeometryContext.hpp"
15#include "Acts/TrackFitting/GaussianSumFitter.hpp"
16#include "Acts/Propagator/Propagator.hpp"
17#include "Acts/Propagator/MultiEigenStepperLoop.hpp"
18#include "Acts/Propagator/Navigator.hpp"
19#include "Acts/TrackFitting/GsfOptions.hpp"
20#include "Acts/Utilities/Logger.hpp"
44 :
public extends<AthAlgTool, ActsTrk::IFitterTool> {
47 using base_class::base_class;
55 std::unique_ptr< ActsTrk::MutableTrackContainer >
57 const Acts::BoundTrackParameters& initialParams,
58 const Acts::GeometryContext& tgContext,
59 const Acts::MagneticFieldContext& mfContext,
60 const Acts::CalibrationContext& calContext,
61 const Acts::Surface& targetSurface)
const override;
64 std::unique_ptr< ActsTrk::MutableTrackContainer >
65 fit(
const std::vector< const xAOD::UncalibratedMeasurement*> & clusterList,
66 const Acts::BoundTrackParameters& initialParams,
67 const Acts::GeometryContext& tgContext,
68 const Acts::MagneticFieldContext& mfContext,
69 const Acts::CalibrationContext& calContext,
70 const Acts::Surface* targetSurface)
const override;
72 virtual StatusCode
fit(
73 const EventContext& ctx,
74 const ActsTrk::TrackContainer::ConstTrackProxy& track,
76 const Acts::PerigeeSurface& pSurface)
const override;
79 virtual std::unique_ptr<MutableTrackContainer>
fit(
80 const std::vector<Acts::SourceLink>& sourceLinks,
81 const Acts::BoundTrackParameters& initialParams,
82 const Acts::GeometryContext& tgContext,
83 const Acts::MagneticFieldContext& mfContext,
84 const Acts::CalibrationContext& calContext,
85 const Acts::Surface* targetSurface =
96 const Acts::MagneticFieldContext& mfContext,
97 const Acts::CalibrationContext& calContext,
98 const Acts::PerigeeSurface& surface,
101 const Acts::Logger&
logger()
const;
111 ToolHandle<Trk::IRIO_OnTrackCreator>
m_ROTcreator{
this,
"RotCreatorTool",
""};
114 "Chi2 cut used by the outlier finder" };
116 "Maximum number of steps for one propagate call"};
119 "Maximum number of components in GSF"};
122 "GSF with direct navigation when refitting measurements"};
125 "component weight cut off"};
128 ,
"method to merge components {Mean, MaxWeight}"};
142 using Fitter = Acts::GaussianSumFitter< Acts::Propagator<Acts::MultiEigenStepperLoop<>, Acts::Navigator>,
146 using DirectFitter = Acts::GaussianSumFitter< Acts::Propagator<Acts::MultiEigenStepperLoop<>, Acts::DirectNavigator>,
164 std::unique_ptr<const Acts::Logger>
m_logger {
nullptr};
Utility class to handle the three contexts neeeded in an ACTS reconstruction job 1) GeometryContext -...
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.
Helper class to access the Acts::Surface for a given Acts::SourceLink which is poiniting to a Trk::Me...
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.
Helper class to access the Acts::surface associated with a Trk::PrepRawData measurement.
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
SourceLinkType
Enumeration to distinguish between the ATLAS EDM -> Acts::SourceLink variants.
@ nTypes
Uncalbirated xAOD::UnCalibratedMeasurement objects.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Acts::VectorMultiTrajectory MutableTrackStateBackend
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Outlier finder using a Chi2 cut.