Skip to content

feat: Add SeedsToTracks to Examples - #5845

Merged
kodiakhq[bot] merged 3 commits into
acts-project:mainfrom
andiwand:seeds-to-tracks
Aug 10, 2026
Merged

feat: Add SeedsToTracks to Examples#5845
kodiakhq[bot] merged 3 commits into
acts-project:mainfrom
andiwand:seeds-to-tracks

Conversation

@andiwand

@andiwand andiwand commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

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 drops 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 in order to mean anything.

--- END COMMIT MESSAGE ---

First of four. Review order:

  1. this one, SeedsToTracks
  2. refactor: Rename TrackFitterPerformance to TrackParameterPerformance #5841, the performance writer rename
  3. feat: Add TrackExtrapolationAlgorithm #5842, TrackExtrapolationAlgorithm
  4. feat: Write seed parameter performance from addSeeding #5721, seed parameter performance in addSeeding

1 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 fix
found along the way and is independent of all of these.

SeedsToProtoTracks stays, the proto tracks are still written by
addSeedPerformanceWriters.

Validation

The seed-tracks come out identical to the ProtoTracksToTracks route:
seedToProtoTrack walks seed.spacePoints() and sp.sourceLinks() in the
same nested order, so the states, their order, their source links and
nMeasurements all 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 main on the same
machine.

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
@github-actions github-actions Bot added the Component - Examples Affects the Examples module label Aug 7, 2026
@andiwand
andiwand marked this pull request as ready for review August 7, 2026 12:11
@github-actions github-actions Bot added this to the next milestone Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Public API surface diff

No change to the public API surface. ✅

@andiwand andiwand changed the title feat: Add SeedsToTracks feat: Add SeedsToTracks to Examples Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📊: Physics performance monitoring for a209b67

Full contents

physmon summary

❗️: Downstream build failure

  • eic-shell EICrecon (cc @acts-project/epic-contacts)

@benjaminhuth benjaminhuth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@paulgessinger paulgessinger modified the milestone: next Aug 10, 2026
@sonarqubecloud

Copy link
Copy Markdown

@kodiakhq
kodiakhq Bot merged commit a1d0e8b into acts-project:main Aug 10, 2026
44 checks passed
@andiwand
andiwand deleted the seeds-to-tracks branch August 11, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component - Examples Affects the Examples module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants