Skip to content

Commit c719252

Browse files
committed
TrackTools: introduce full-state TrackGeometry C++ utilities and portable tests
Introduce TrackGeometry as the first component of the shared TrackTools package for O2 reconstruction, O2Physics and calibration workflows. The goal is to provide consistent geometry-derived track observables for detector acceptance, tracking-quality and dE/dx PID studies. C++ implementation: - Accept complete O2 TrackPar states, including displaced tracks. - Provide analytic helix (H) and O2 transport (K0) queries at requested cylindrical radii, relevant to TPC, TRD and TOF. - Provide TPC row-geometry evaluation with H, per-stack linear (L) and O2 propagator (K) methods. - Calculate crossed, dead, guard-excluded and available TPC rows, geometrical lengths and 152-row classification masks. - Support configurable sector-edge guards and acceptance limits. - Provide reduced-primary compatibility adapters. - Use H/K as references for validating the accuracy of fast L. Portable tests: - conftest.py: ROOT/PyROOT setup for standalone O2 testing. - test_full_state_radius.py: full-track state-at-radius checks. - test_sector_rows_primary_baseline.py: TPC row baseline checks. - README_TESTS.md: portable test execution instructions. The implementation enables configurable geometrical selections to study shortened tracks and their impact on tracking and PID. This commit does not include the main README, physics figure, O2 CMake registration or the extended full-state TPC test suite. Those are handled separately. Numerical performance and remaining physics-validation issues are tracked in the project CRR.
1 parent c702fb4 commit c719252

5 files changed

Lines changed: 1639 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)