-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ref: Reuse ray/helix scan results and switch to random track generator (
#713) This PR adds a simple whiteboard to the validation so that the ray and helix scan traces can be reused by the navigation tests, which reduces execution time of the tests a lot. Also allows to add new scans in the future by moving the surface loop into a distinct functor. Switches the navigation validation to use the random_track_generator to avoid effects from detector symmetry and cleans that generator ups a bit (mostly setting a default seed that is not zero). With the random tracks, the number of mismatches between the Newton intersector and the navigator increased, so I adapted the mask tolerances in both of them dynamically. In the Newton solver, the an estimation of the approximation error gets projected onto the tangential surface of the mask at the track position and in the navigator, the mask tolerance gets scaled by the distance of the track to the surface (per mille of the path) and then clamped to a configurable min-max range. That has the advantage, that at long distances to the surface, when the ray is a poor approximation to the curved track, the mask tolerance is very large, while it goes to zero as we approach the candidate, ensuring a precise decision. The minimal mask tolerance is the machine epsilon by default, but be set in a propagation executable e.g. to the mean position uncertainty of the stepper or to what the CKF needs. Fixes a few smaller bugs and tightens the portals around the sensitive surfaces in the toy detector for better navigation. Clamps the phi values in the track generators to -pi, pi. The detector integration tests now run 10000 helices at p_T=1GeV, except for the wire chamber which starts failing for p_T<3Gev. That needs some more investigation. I also discovered, that the CUDA propagation test was essentially not testing anything, since the host propagation silently failed. I set that test back up, but found discrepancies in the number of track position in single precision (double precision ran fine), so I configured fewer tracks and added step size constraints until it worked. That test should probably get an overhaul at some point.
- Loading branch information
1 parent
f9b8817
commit 13d4c99
Showing
60 changed files
with
1,488 additions
and
737 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.