ATLAS Offline Software
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 
17 namespace ActsTrk {
18 
19 std::unique_ptr<Trk::Track>
20 GaussianSumFitterTool::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 
get_generator_info.result
result
Definition: get_generator_info.py:21
ActsTrk::MutableTrackBackend
Acts::VectorTrackContainer MutableTrackBackend
Definition: TrackContainer.h:15
ActsTrk::MutableTrackContainer
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Definition: TrackContainer.h:26
ActsTrk::GaussianSumFitterTool::performFit
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
Definition: GaussianSumFitterToolFullFit.cxx:20
GaussianSumFitterTool.h
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TrackSummary.h
ActsTrk::GaussianSumFitterTool::m_useDirectNavigation
Gaudi::Property< bool > m_useDirectNavigation
Definition: GaussianSumFitterTool.h:180
ActsTrk::MutableTrackStateBackend
Acts::VectorMultiTrajectory MutableTrackStateBackend
Definition: TrackContainer.h:17
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:25
ActsTrk::GaussianSumFitterTool::m_fitter
std::unique_ptr< Fitter > m_fitter
Definition: GaussianSumFitterTool.h:200
ActsTrk::GaussianSumFitterTool::makeTrack
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
Definition: GaussianSumFitterTool.cxx:465
TrackContainer.h