ATLAS Offline Software
Loading...
Searching...
No Matches
GaussianSumFitterToolFullFit.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7// ATHENA
9
10// ACTS
11#include "Acts/EventData/TrackParameters.hpp"
13
14// STL
15#include <vector>
16
17namespace ActsTrk {
18
19std::unique_ptr<Trk::Track>
20GaussianSumFitterTool::performFit(const EventContext& ctx,
21 const Acts::GeometryContext& tgContext,
22 const Acts::GsfOptions<ActsTrk::MutableTrackStateBackend>& gsfOptions,
23 const std::vector<Acts::SourceLink>& trackSourceLinks,
24 const Acts::BoundTrackParameters& initialParams) const
25{
27 ATH_MSG_ERROR("ACTS GSF UseDirectNavigation is true, but standard navigation is used");
28 return nullptr;
29 }
30 if (trackSourceLinks.empty()) {
31 ATH_MSG_DEBUG("input contain measurement but no source link created, probable issue with the converter, reject fit ");
32 return nullptr;
33 }
34
35 ActsTrk::MutableTrackBackend trackContainerBackEnd;
36 ActsTrk::MutableTrackStateBackend multiTrajBackEnd;
37 ActsTrk::MutableTrackContainer tracks( std::move(trackContainerBackEnd),
38 std::move(multiTrajBackEnd));
39 // Perform the fit
40 auto result = m_fitter->fit(trackSourceLinks.begin(), trackSourceLinks.end(),
41 initialParams, gsfOptions, tracks);
42
43 // Convert
44 if (not result.ok()) return nullptr;
45 return makeTrack(ctx, tgContext, tracks, result);
46}
47
48}
49
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
std::unique_ptr< Trk::Track > makeTrack(const EventContext &ctx, const Acts::GeometryContext &tgContext, ActsTrk::MutableTrackContainer &tracks, Acts::Result< typename ActsTrk::MutableTrackContainer::TrackProxy, std::error_code > &fitResult) const
std::unique_ptr< Trk::Track > performFit(const EventContext &ctx, const Acts::GeometryContext &tgContext, const Acts::GsfOptions< ActsTrk::MutableTrackStateBackend > &gsfOptions, const std::vector< Acts::SourceLink > &trackSourceLinks, const Acts::BoundTrackParameters &initialParams) const
Gaudi::Property< bool > m_useDirectNavigation
std::unique_ptr< Fitter > m_fitter
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
Acts::VectorTrackContainer MutableTrackBackend