6#include <Acts/EventData/VectorMultiTrajectory.hpp>
7#include <Acts/EventData/VectorTrackContainer.hpp>
8#include <Acts/Geometry/TrackingGeometry.hpp>
9#include <Acts/MagneticField/MagneticFieldProvider.hpp>
10#include <Acts/TrackFinding/CombinatorialKalmanFilter.hpp>
11#include <Acts/TrackFinding/MeasurementSelector.hpp>
12#include <Acts/Utilities/Logger.hpp>
13#include <Acts/Utilities/Result.hpp>
14#include <ActsExamples/EventData/Track.hpp>
15#include <algorithms/algorithm.h>
16#include <edm4eic/Measurement2DCollection.h>
17#include <edm4eic/TrackSeedCollection.h>
32 algorithms::Input<edm4eic::TrackSeedCollection, edm4eic::Measurement2DCollection>,
33 algorithms::Output<Acts::ConstVectorMultiTrajectory*, Acts::ConstVectorTrackContainer*>>;
45 using TrackFinderResult = Acts::Result<std::vector<ActsExamples::TrackContainer::TrackProxy>>;
56 ActsExamples::TrackContainer&)
const = 0;
62 static std::shared_ptr<CKFTrackingFunction>
64 std::shared_ptr<const Acts::MagneticFieldProvider> magneticField,
65 const Acts::Logger& logger);
69 {
"inputTrackParameters",
"inputMeasurements"},
70 {
"outputActsTrackStates",
"outputActsTracks"},
71 "Combinatorial Kalman Filter track finding"} {}
74 void process(const Input&, const Output&) const final;
77 std::shared_ptr<const Acts::Logger> m_acts_logger{
nullptr};
78 std::shared_ptr<CKFTrackingFunction> m_trackFinderFunc;
79 std::shared_ptr<const ActsGeometryProvider> m_geoSvc{
80 algorithms::ActsSvc::instance().acts_geometry_provider()};
81 std::shared_ptr<const Acts::MagneticFieldProvider> m_BField{m_geoSvc->getFieldProvider()};
83 Acts::MeasurementSelector::Config m_sourcelinkSelectorCfg;
86 const Acts::Logger& acts_logger()
const {
return *m_acts_logger; }
Definition CKFTracking.h:50
virtual TrackFinderResult operator()(const ActsExamples::TrackParameters &, const TrackFinderOptions &, ActsExamples::TrackContainer &) const =0
virtual ~CKFTrackingFunction()=default
Definition CKFTracking.h:40
CKFTracking(std::string_view name)
Definition CKFTracking.h:67
Acts::Result< std::vector< ActsExamples::TrackContainer::TrackProxy > > TrackFinderResult
Definition CKFTracking.h:45
static std::shared_ptr< CKFTrackingFunction > makeCKFTrackingFunction(std::shared_ptr< const Acts::TrackingGeometry > trackingGeometry, std::shared_ptr< const Acts::MagneticFieldProvider > magneticField, const Acts::Logger &logger)
Definition CKFTrackingFunction.cc:55
Acts::CombinatorialKalmanFilterOptions< ActsExamples::TrackContainer > TrackFinderOptions
Definition CKFTracking.h:44
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::TrackSeedCollection, edm4eic::Measurement2DCollection >, algorithms::Output< Acts::ConstVectorMultiTrajectory *, Acts::ConstVectorTrackContainer * > > CKFTrackingAlgorithm
Definition CKFTracking.h:33
Definition SimCalorimeterHitProcessor.cc:35