Skip to content

Harmonize theta pole check in Kálmán updater#1253

Open
stephenswat wants to merge 1 commit intoacts-project:mainfrom
stephenswat:fix/harmonize_theta_pole_check
Open

Harmonize theta pole check in Kálmán updater#1253
stephenswat wants to merge 1 commit intoacts-project:mainfrom
stephenswat:fix/harmonize_theta_pole_check

Conversation

@stephenswat
Copy link
Member

The gain matrix updater currently uses two slightly different methods for checking for theta poles. This means that we sometimes fire an assertion even if the code for gracefully exiting in these cases did not fire. This commit harmonizes the pole checks so that they produce identical results. In the process, it deduplicates the checks to save on compute.

The gain matrix updater currently uses two slightly different methods
for checking for theta poles. This means that we sometimes fire an
assertion even if the code for gracefully exiting in these cases did not
fire. This commit harmonizes the pole checks so that they produce
identical results. In the process, it deduplicates the checks to save on
compute.
@stephenswat stephenswat added the bug Something isn't working label Feb 5, 2026
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 5, 2026

@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 298341 to 298344 (+0.0%)

Seeding plots



Track finding performance

Total number of found tracks went from 50264 to 50264 (+0.0%)

Finding plots









Track fitting performance

Fitting plots














Seeding to track finding relative performance

Seeding to track finding plots



Note

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

@stephenswat
Copy link
Member Author

Performance summary

Here is a summary of the performance effects of this PR:

Graphical

Tabular

KernelReciprocal ThroughputParallelism
9bcb542e790d83Delta9bcb542e790d83
propagate_to_next_surface7.83 ms7.84 ms0.1%3.463.45
find_tracks1.74 ms1.62 ms-6.5%1.831.92
ccl_kernel826.43 μs824.04 μs-0.3%1.371.37
count_doublets818.78 μs817.92 μs-0.1%1.611.61
count_triplets568.65 μs566.87 μs-0.3%1.021.02
find_doublets537.67 μs534.59 μs-0.6%3.083.08
Thrust::sort382.06 μs382.14 μs0.0%7.307.30
find_triplets170.83 μs170.04 μs-0.5%1.321.31
build_tracks125.03 μs125.95 μs0.7%3.723.71
select_seeds55.38 μs54.51 μs-1.6%1.341.34
populate_grid24.10 μs24.09 μs-0.0%1.221.22
remove_duplicates23.46 μs23.46 μs0.0%26.2026.16
count_grid_capacities22.15 μs22.20 μs0.2%1.221.22
fill_sorted_measurements22.13 μs22.10 μs-0.1%1.131.13
update_triplet_weights16.83 μs16.90 μs0.4%1.271.27
apply_interaction14.98 μs15.02 μs0.2%6.446.44
estimate_track_params12.08 μs12.09 μs0.1%2.692.69
fill_finding_propagation_sort_keys9.86 μs9.88 μs0.2%7.197.18
form_spacepoints8.79 μs8.79 μs0.0%1.481.48
reduce_triplet_counts5.64 μs5.64 μs-0.0%3.093.08
unknown5.13 μs5.12 μs-0.3%4.264.27
fill_finding_duplicate_removal_sort_keys1.59 μs1.59 μs-0.1%37.8437.98
Total13.22 ms13.11 ms-0.9%2.993.01

Important

All metrics in this report are given as reciprocal throughput, not as wallclock runtime.

Note

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

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.

1 participant