Skip to content

Acts extrapolation - #4367

Open
hupereir wants to merge 2 commits into
sPHENIX-Collaboration:masterfrom
hupereir:acts_extrapolation
Open

Acts extrapolation#4367
hupereir wants to merge 2 commits into
sPHENIX-Collaboration:masterfrom
hupereir:acts_extrapolation

Conversation

@hupereir

@hupereir hupereir commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

this changes the default extrapolation mode in ACTS to bidirectional, consistently with genfit and following presentation at https://indico.bnl.gov/event/33420/contributions/126451/attachments/71737/122952/acts_extrapolation.pdf
Also implements forward extrapolation when extrapolating to TPOT.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work for users)
  • Requiring change in macros repository (Please provide links to the macros pull request in the last section)
  • I am a member of GitHub organization of sPHENIX Collaboration, EIC, or ECCE (contact Chris Pinkenburg to join)

What kind of change does this PR introduce? (Bug fix, feature, ...)

TODOs (if applicable)

Links to other PRs in macros and calibration repositories (if applicable)

Motivation / Context

Align the default ACTS extrapolation behavior with GenFit and the referenced presentation, while ensuring TPOT track states are extrapolated in the forward direction.

Key Changes

  • Set the default PHActsTrkFitter extrapolation mode to bidirectional.
  • Refactor TPOT track-state propagation to support extrapolation-mode-specific behavior.
  • Use forward extrapolation for forward and bidirectional modes.
  • Skip TPOT extrapolation in backward-only mode.
  • Add surface validity checks and path-length handling for propagated track states.
  • Clean up minor whitespace and comments.

Potential Risk Areas

  • Reconstruction behavior may change due to the new default extrapolation mode and TPOT propagation logic.
  • Additional propagation and trajectory handling could affect performance.
  • No IO format or thread-safety changes are expected.

Possible Future Improvements

  • Add targeted tests covering all extrapolation modes and TPOT surface edge cases.
  • Benchmark propagation performance and validate track-quality changes against reference samples.

AI-generated summaries can contain mistakes; the implementation should be reviewed against the source changes.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a42a6a19-4d92-4aed-bfbd-2cf18145ead2

📥 Commits

Reviewing files that changed from the base of the PR and between 3432859 and f26b79e.

📒 Files selected for processing (2)
  • offline/packages/trackreco/PHActsTrkFitter.cc
  • offline/packages/trackreco/PHActsTrkFitter.h

📝 Walkthrough

Walkthrough

Changes

TPOT extrapolation

Layer / File(s) Summary
Mode-driven TPOT propagation
offline/packages/trackreco/PHActsTrkFitter.h, offline/packages/trackreco/PHActsTrkFitter.cc
The default mode is now Bidirectional; TPOT propagation selects source parameters by mode, skips propagation for Backward, computes path lengths through a lambda, and checks TPOT surfaces before propagation. Comments and whitespace were also cleaned up.

Sequence Diagram(s)

sequenceDiagram
  participant PHActsTrkFitter
  participant TPOTSurface
  participant ExtrapolateLambda
  participant ActsPropagator
  PHActsTrkFitter->>TPOTSurface: Retrieve TPOT surface
  PHActsTrkFitter->>ExtrapolateLambda: Select inputs from extrapolation mode
  ExtrapolateLambda->>ActsPropagator: Propagate track parameters
  ActsPropagator-->>PHActsTrkFitter: Return TPOT track state
Loading

Possibly related PRs


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sphenix-jenkins-ci

Copy link
Copy Markdown

Build & test report

Report for commit f26b79e9590dc76e14bae21d0e50beab3244c37b:
Jenkins passed


Automatically generated by sPHENIX Jenkins continuous integration
sPHENIX             jenkins.io

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant