53 {
"inputHitCollections",
54#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
55 "inputMCRecoTrackerHitLinks",
57 "inputMCRecoTrackerHitAssociations"},
58 {
"outputTrackCollection",
59#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
60 "outputMCRecoTrackLinks",
62 "outputMCRecoTrackAssociations"},
63 "Fit track segments from hits in the tracker layers"} {
70 void process(const Input&, const Output&) const final;
73 const
dd4hep::rec::CellIDPositionConverter* m_cellid_converter{
nullptr};
74 Eigen::VectorXd m_layerWeights;
76 Eigen::Vector3d m_optimumDirection;
78 void checkHitCombination(
79 Eigen::MatrixXd* hitMatrix, edm4eic::TrackCollection* outputTracks,
80#
if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
81 edm4eic::MCRecoTrackParticleLinkCollection* trackLinks,
83 edm4eic::MCRecoTrackParticleAssociationCollection* assocTracks,
84 const std::vector<gsl::not_null<const edm4eic::Measurement2DCollection*>>& inputHits,
85 const std::vector<std::vector<edm4hep::MCParticle>>& assocParts,
86 const std::vector<std::size_t>& layerHitIndex)
const;
89 bool checkHitPair(
const Eigen::Vector3d& hit1,
const Eigen::Vector3d& hit2)
const;
93 ConvertClusters(
const edm4eic::Measurement2DCollection& clusters,
94#
if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
95 const podio::LinkNavigator<edm4eic::MCRecoTrackerHitLinkCollection>& link_nav,
97 const edm4eic::MCRecoTrackerHitAssociationCollection& assoc_hits,
98 std::vector<std::vector<Eigen::Vector3d>>& pointPositions,
99 std::vector<std::vector<edm4hep::MCParticle>>& assoc_parts)
const;
algorithms::Algorithm< algorithms::Input< std::vector< edm4eic::Measurement2DCollection >, std::optional< edm4eic::MCRecoTrackerHitLinkCollection >, std::optional< edm4eic::MCRecoTrackerHitAssociationCollection > >, algorithms::Output< edm4eic::TrackCollection, std::optional< edm4eic::MCRecoTrackParticleLinkCollection >, std::optional< edm4eic::MCRecoTrackParticleAssociationCollection > > > FarDetectorLinearTrackingAlgorithm
Definition FarDetectorLinearTracking.h:45