-
Notifications
You must be signed in to change notification settings - Fork 168
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
fix: GX2F: update track state parameters and converge #1702
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1702 +/- ##
==========================================
+ Coverage 49.03% 49.04% +0.01%
==========================================
Files 397 397
Lines 21564 21581 +17
Branches 9817 9824 +7
==========================================
+ Hits 10573 10585 +12
- Misses 4183 4186 +3
- Partials 6808 6810 +2
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
📊 Physics performance monitoring for 693359aFull report VertexingSeedingCKFAmbiguity resolutionTruth tracking (Kalman Filter)Truth tracking (GSF) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work! There are a few things that I think should be cleaned up, but in general I think we are good here.
I think you could think about either fixing the parameters type directly to BoundTrackParameters
and removing the related code or going back to the generic, templated case. I would not stay somewhere in the middle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm this std::contitional
is a bit suspicious to me still...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let it go!
) The previous implementation could not update the track state parameters. The updated Jacobian was overridden by `stepper.transportCovarianceToBound`. Therefore, every time the identity matrix was used in place of the Jacobian. A second problem was the handling of surfaces in the update steps. Now, during the first iteration, proxies are created for each surface. During further iterations those surfaces are visited again.
) The previous implementation could not update the track state parameters. The updated Jacobian was overridden by `stepper.transportCovarianceToBound`. Therefore, every time the identity matrix was used in place of the Jacobian. A second problem was the handling of surfaces in the update steps. Now, during the first iteration, proxies are created for each surface. During further iterations those surfaces are visited again.
The previous implementation could not update the track state parameters.
The updated Jacobian was overridden by
stepper.transportCovarianceToBound
. Therefore, every time the identity matrix was used in place of the Jacobian.A second problem was the handling of surfaces in the update steps. Now, during the first iteration, proxies are created for each surface. During further iterations those surfaces are visited again.