Skip to content

Expand fitter error handling code#1177

Open
stephenswat wants to merge 1 commit intoacts-project:mainfrom
stephenswat:bug/kf_error_codes
Open

Expand fitter error handling code#1177
stephenswat wants to merge 1 commit intoacts-project:mainfrom
stephenswat:bug/kf_error_codes

Conversation

@stephenswat
Copy link
Member

This commit updates the Kálmán fitter error handling code by explicitly marking failures in the forward and backwards fitting step. It also resolves an issue where the smoother would start from invalid track states.

@stephenswat stephenswat added the bug Something isn't working label Nov 3, 2025
@stephenswat

This comment was marked as outdated.

@stephenswat
Copy link
Member Author

Physics performance summary

Here is a summary of the physics performance effects of this PR. Command used:

traccc_seeding_example_cuda --input-directory=/data/Acts/odd-simulations-20240506/geant4_ttbar_mu200 --digitization-file=geometries/odd/odd-digi-geometric-config.json --detector-file=geometries/odd/odd-detray_geometry_detray.json --grid-file=geometries/odd/odd-detray_surface_grids_detray.json --material-file=geometries/odd/odd-detray_material_detray.json --input-events=10 --use-acts-geom-source=on --check-performance --truth-finding-min-track-candidates=5 --truth-finding-min-pt=1.0 --truth-finding-min-z=-150 --truth-finding-max-z=150 --truth-finding-max-r=10 --seed-matching-ratio=0.99 --track-matching-ratio=0.5 --track-candidates-range=5:100 --seedfinder-vertex-range=-150:150

Seeding performance

Total number of seeds went from 298345 to 298338 (-0.0%)

Seeding plots



Track finding performance

Total number of found tracks went from 55967 to 55963 (-0.0%)

Finding plots









Track fitting performance

Fitting plots





















Note

This is an automated message produced on the explicit request of a human being.

This commit updates the Kálmán fitter error handling code by explicitly
marking failures in the forward and backwards fitting step. It also
resolves an issue where the smoother would start from invalid track
states.
@sonarqubecloud
Copy link

@stephenswat
Copy link
Member Author

Physics performance summary

Here is a summary of the physics performance effects of this PR. Command used:

traccc_seeding_example_cuda --input-directory=/data/Acts/odd-simulations-20240506/geant4_ttbar_mu200 --digitization-file=geometries/odd/odd-digi-geometric-config.json --detector-file=geometries/odd/odd-detray_geometry_detray.json --grid-file=geometries/odd/odd-detray_surface_grids_detray.json --material-file=geometries/odd/odd-detray_material_detray.json --input-events=10 --use-acts-geom-source=on --check-performance --truth-finding-min-track-candidates=5 --truth-finding-min-pt=1.0 --truth-finding-min-z=-150 --truth-finding-max-z=150 --truth-finding-max-r=10 --seed-matching-ratio=0.99 --track-matching-ratio=0.5 --track-candidates-range=5:100 --seedfinder-vertex-range=-150:150

Seeding performance

Total number of seeds went from 298345 to 298344 (-0.0%)

Seeding plots



Track finding performance

Total number of found tracks went from 50745 to 50744 (-0.0%)

Finding plots









Track fitting performance

Fitting plots





















Seeding to track finding relative performance

Seeding to track finding plots



Track finding to track fitting relative performance

Track finding to track fitting plots



Note

This is an automated message produced on the explicit request of a human being.

niermann999 added a commit that referenced this pull request Nov 13, 2025
Expand on the number of Kalman fit status codes and track fit outcomes to make a more fine-grained distinction between different error types in the Kalman fitter possible. Takes up the improvements in #1177.

Edit: The wire chamber Kalman fitter test had to be adapted, because more error states are recognized

Edit2: Also fixed the condition of is_complete for the backward fit to point one position below the first state
StewMH pushed a commit to StewMH/traccc that referenced this pull request Nov 19, 2025
Expand on the number of Kalman fit status codes and track fit outcomes to make a more fine-grained distinction between different error types in the Kalman fitter possible. Takes up the improvements in acts-project#1177.

Edit: The wire chamber Kalman fitter test had to be adapted, because more error states are recognized

Edit2: Also fixed the condition of is_complete for the backward fit to point one position below the first state
krasznaa added a commit that referenced this pull request Jan 25, 2026
* Start to add alpaka magnetic field implementation

* Temporary change to covfie fork

* Fix formatting

* Update magnetic field

* Fixes for CUDA

* Fix include

* Fixes

* Formatting

* Update SYCL code, tell CI to build SYCL and CUDA when building relevant Alpaka flavours

* Add CPU implementation

* Fix formatting

* Fixes for CPU running

* Improve kalman fitter error handling (#1191)


Expand on the number of Kalman fit status codes and track fit outcomes to make a more fine-grained distinction between different error types in the Kalman fitter possible. Takes up the improvements in #1177.

Edit: The wire chamber Kalman fitter test had to be adapted, because more error states are recognized

Edit2: Also fixed the condition of is_complete for the backward fit to point one position below the first state

* Switch to default navigator for backward fit

* Update to detray v0.105.1

* Improved hole count (#1109)

If the navigation in the forward KF missed a surface, advance the track state iterator correctly (for example if the propagation config between CKF and KF is different or we are running truth fitting). This is only needed for navigators that are not "guided" or "direct".
It also adds an option to the KF to do the full hole count, which is only possible if the propagation starts at the IP and continues through the whole detector, otherwise the first and last holes are missed and the hole count remains an underestimation. Since this will not help in increasing the fit accuracy, but eat more compute resources it will remain optional.

* Read measurement dimensionality from detector

This commit switched the measurement IO code to optionally get the
dimensionality from the detector description rather than from the
measurement input data.

* Update track covariance estimation logic

This commit reworks the covariance estimation logic to match that used
in ACTS. It greatly increases the covariances of tracks, hopefully
increasing the tracking efficiency.

* Save disk space in CUDA CI job

The CUDA CI jobs are currently running out of disk space. This commit
builds ACTS separately, as a release build, in order to save space.

* Remove Kokkos and Futhark code bases

This PR is a revival of #652, removing the obsolete Kokkos and Futhark
code bases.

* Nade measurement sorting handle empty collections correctly.

Did not bother with the host algorithm, because:
  - It's not actively used in any current workflow;
  - It works correctly without this optimization as well.

* Use new covfie tag

* Revert to URL, fix download

* Separate CUDA utils into separate library for use in Alpaka

* Moving to traccc::cuda_utils from traccc_cuda_utils

* Moving to cuda_utils in CI

* Move sycl utils to sycl_utils, use in alpaka

* Link against sycl_utils

* Use ::

* Only put magnetic field utilities in own library: SYCL edition

* Split out queue_wrapper for use in magfield and main SYCL library

* Add get_queue to sycl_queue library

* Pre-apply merge results for cmake files

* Remove sycl_magfield library from linking

* Add SYCL_UTILS to cmake config

---------

Co-authored-by: Joana Niermann <53186085+niermann999@users.noreply.github.com>
Co-authored-by: Joana Niermann <joana.niermann@cern.ch>
Co-authored-by: Stephen Nicholas Swatman <stephen.nicholas.swatman@cern.ch>
Co-authored-by: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants