feat: Add SeedsToTracks to Examples - #5845
Merged
Merged
Conversation
This was referenced Aug 7, 2026
Turns seeds into tracks with one track state per space-point source link, and stores the seed estimate on the innermost state. `addSeeding` built the `seed-tracks` through `SeedsToProtoTracks` and `ProtoTracksToTracks` so far. A proto track is a flat list of measurement indices, so that route loses the structure the seed carries and leaves two things resting on the order in which `seedToProtoTrack` happens to flatten the space points: which state is the innermost, and that the estimate of a seed still lines up with its proto track. `TrackParamsEstimationAlgorithm` expresses the estimate on the bottom space point's surface, which a seed names directly. The estimate is allocated once as predicted and shared as filtered and smoothed, since it is all that is known at that state. With a tracking geometry the track states also get their reference surface, which bound parameters on a state need to mean anything. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxPc2jP43AQuQKz8c4qsaC
andiwand
force-pushed
the
seeds-to-tracks
branch
from
August 7, 2026 12:04
162149f to
e219c73
Compare
andiwand
marked this pull request as ready for review
August 7, 2026 12:11
Contributor
Public API surface diffNo change to the public API surface. ✅ |
Contributor
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Turns seeds into tracks with one track state per space-point source link, and
stores the seed estimate on the innermost state.
addSeedingbuilt theseed-tracksthroughSeedsToProtoTracksandProtoTracksToTracksso far. A proto track is a flat list of measurementindices, so that route drops the structure the seed carries and leaves two
things resting on the order in which
seedToProtoTrackhappens to flatten thespace points: which state is the innermost, and that the estimate of a seed
still lines up with its proto track.
TrackParamsEstimationAlgorithmexpressesthe estimate on the bottom space point's surface, which a seed names directly.
The estimate is allocated once as predicted and shared as filtered and
smoothed, since it is all that is known at that state.
With a tracking geometry the track states also get their reference surface,
which bound parameters on a state need in order to mean anything.
--- END COMMIT MESSAGE ---
First of four. Review order:
SeedsToTracksTrackExtrapolationAlgorithmaddSeeding1 to 3 are independent of each other, 4 needs all of them. All of them target
main, so the diff of 4 contains 1 to 3 until they merge. #5846 is a small fixfound along the way and is independent of all of these.
SeedsToProtoTracksstays, the proto tracks are still written byaddSeedPerformanceWriters.Validation
The
seed-trackscome out identical to theProtoTracksToTracksroute:seedToProtoTrackwalksseed.spacePoints()andsp.sourceLinks()in thesame nested order, so the states, their order, their source links and
nMeasurementsall match. Measured through #5721 on 100 particle-gun events,the residual and pull histograms of the seed estimate agree to the last digit
between the two routes.
The python test suite gives the same set of failures as
mainon the samemachine.