Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CKFTracking: gracefully handle failures when extrapolating to perigee surface #1663

Merged
merged 1 commit into from
Nov 4, 2024

Conversation

veprbl
Copy link
Member

@veprbl veprbl commented Nov 2, 2024

Briefly, what does this PR introduce?

Starting with Acts 34.x the CKF fitting had been divorced from propagation to the target surface acts-project/acts@d9f775f, so we now have to do it ourselves:

#if Acts_VERSION_MAJOR >=34
auto smoothingResult = Acts::smoothTrack(m_geoctx, track, logger());
if (!smoothingResult.ok()) {
ACTS_ERROR("Smoothing for seed "
<< iseed << " and track " << track.index()
<< " failed with error " << smoothingResult.error());
continue;
}
auto extrapolationResult = Acts::extrapolateTrackToReferenceSurface(
track, *pSurface, extrapolator, extrapolationOptions,
Acts::TrackExtrapolationStrategy::firstOrLast, logger());
if (!extrapolationResult.ok()) {
ACTS_ERROR("Extrapolation for seed "
<< iseed << " and track " << track.index()
<< " failed with error " << extrapolationResult.error());
continue;
}
#endif

However the catch is that B0 CKF tracks may be affected by failures to extrapolate explicitly. The failure currently leads to a null pointer dereference. This PR changes that to a mere warning, the track is omitted from the output in the process. We would be able to upgrade to Acts 34 with this change.

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue #__)
  • Documentation update
  • Other: __

Please check if this PR fulfills the following:

  • Tests for the changes have been added
  • Documentation has been added / updated
  • Changes have been communicated to collaborators

Does this PR introduce breaking changes? What changes might users need to make to their code?

No

Does this PR change default behavior?

No

@github-actions github-actions bot added the topic: tracking Relates to tracking reconstruction label Nov 2, 2024
@veprbl veprbl changed the title CKFTracking: gracefully failures when extrapolating to perigee surface CKFTracking: gracefully handle failures when extrapolating to perigee surface Nov 2, 2024
@veprbl veprbl requested a review from wdconinc November 4, 2024 21:12
Copy link
Contributor

@wdconinc wdconinc left a comment

Choose a reason for hiding this comment

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

Looks good.

@veprbl veprbl added this pull request to the merge queue Nov 4, 2024
Merged via the queue into main with commit f0e9db0 Nov 4, 2024
84 of 86 checks passed
@veprbl veprbl deleted the pr/handle_no_ref_surface branch November 4, 2024 22:12
github-merge-queue bot pushed a commit that referenced this pull request Dec 1, 2024
…the trajectories (#1677)

### Briefly, what does this PR introduce?

This is re-implements #1663 in such a way that downstream algorithms,
such as the AmbiguitySolver, that operate on Acts EDM do not see the
failed tracks.
Resolves: #1672

### What kind of change does this PR introduce?
- [x] Bug fix (issue #1672)
- [ ] New feature (issue #__)
- [ ] Documentation update
- [ ] Other: __

### Please check if this PR fulfills the following:
- [ ] Tests for the changes have been added
- [ ] Documentation has been added / updated
- [ ] Changes have been communicated to collaborators

### Does this PR introduce breaking changes? What changes might users
need to make to their code?
No

### Does this PR change default behavior?
No
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: tracking Relates to tracking reconstruction
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants