5 #ifndef ACTSGEOMETRY_GAUSSIANSUMFITTER_H
6 #define ACTSGEOMETRY_GAUSSIANSUMFITTER_H
12 #include "GaudiKernel/ToolHandle.h"
18 #include "Acts/EventData/VectorMultiTrajectory.hpp"
19 #include "Acts/Geometry/GeometryContext.hpp"
20 #include "Acts/Utilities/Result.hpp"
21 #include "Acts/TrackFitting/GaussianSumFitter.hpp"
22 #include "Acts/Propagator/Propagator.hpp"
23 #include "Acts/Propagator/MultiEigenStepperLoop.hpp"
24 #include "Acts/Propagator/Navigator.hpp"
25 #include "Acts/TrackFitting/BetheHeitlerApprox.hpp"
26 #include "Acts/TrackFitting/GsfOptions.hpp"
27 #include "Acts/Utilities/Logger.hpp"
54 virtual std::unique_ptr<Trk::Track>
fit(
55 const EventContext& ctx,
61 virtual std::unique_ptr<Trk::Track>
fit(
62 const EventContext& ctx,
69 virtual std::unique_ptr<Trk::Track>
fit(
70 const EventContext& ctx,
77 virtual std::unique_ptr<Trk::Track>
fit(
78 const EventContext& ctx,
85 virtual std::unique_ptr<Trk::Track>
fit(
86 const EventContext& ctx,
93 virtual std::unique_ptr<Trk::Track>
fit(
94 const EventContext& ctx,
105 Acts::GsfOptions<ActsTrk::MutableTrackStateBackend>
prepareOptions(
const Acts::GeometryContext& tgContext,
106 const Acts::MagneticFieldContext& mfContext,
107 const Acts::CalibrationContext& calContext,
108 const Acts::PerigeeSurface& surface)
const;
110 std::unique_ptr<Trk::Track>
performFit(
const EventContext& ctx,
111 const Acts::GeometryContext& tgContext,
112 const Acts::GsfOptions<ActsTrk::MutableTrackStateBackend>& gsfOptions,
113 const std::vector<Acts::SourceLink>& trackSourceLinks,
114 const Acts::BoundTrackParameters& initialParams)
const;
117 const Acts::GeometryContext& tgContext,
118 const Acts::GsfOptions<ActsTrk::MutableTrackStateBackend>& gsfOptions,
119 const std::vector<Acts::SourceLink>& trackSourceLinks,
120 const Acts::BoundTrackParameters& initialParams,
121 const std::vector<const Acts::Surface*>& surfaces)
const;
124 std::unique_ptr<Trk::Track>
makeTrack(
const EventContext& ctx,
125 const Acts::GeometryContext& tgContext,
127 Acts::Result<typename ActsTrk::MutableTrackContainer::TrackProxy, std::error_code>& fitResult)
const;
129 const Acts::GsfExtensions<ActsTrk::MutableTrackStateBackend>&
getExtensions()
const;
132 const Acts::Logger&
logger()
const;
138 ToolHandle<Trk::IExtendedTrackSummaryTool>
m_trkSummaryTool {
this,
"SummaryTool",
"",
"ToolHandle for track summary tool"};
142 "Boundary checking tool for detector sensitivities"};
146 "Chi2 cut used by the outlier finder" };
148 "Maximum number of steps for one propagate call"};
151 "Maximum number of components in GSF"};
154 "GSF with direct navigation when refitting measurements"};
157 "Do refit only. Track summary will not be added"};
160 "component weight cut off"};
163 ,
"method to merge components {eMean, eMaxWeight}"};
169 Acts::AtlasBetheHeitlerApprox<6, 5>,
175 using DirectFitter = Acts::GaussianSumFitter< Acts::Propagator<Acts::MultiEigenStepperLoop<>, Acts::DirectNavigator>,
176 Acts::AtlasBetheHeitlerApprox<6, 5>,