v26.0.0
Breaking
-
refactor!: TrackContainer/MultiTrajectory surfaces, jacobians, meas access (44c343b) (@paulgessinger)
-
This changes the contract between
TrackContainer
,MultiTrajectory
and their backends. Notably it- Adds dedicated methods for surface manipulation that are used by the backend:
referenceSurface_impl
to get a reference surface by index. It returns a pointer, and a new methodhasReferenceSurface
on the proxies compares it tonullptr
to check if a reference surface is setsetReferenceSurface_impl
to set a reference surfacehas_impl
for both backend types is not expected to respond toreferenceSurface
anymore.
- In
MultiTrajectory
, the backend is no longer expected to return an index referencing a jacobian, measurement or measurement covariance. Instead, the dedicated methodsjacobian_impl
,measurement_impl
andmeasurementCovariance_impl
are now called by the proxy with the state index directly, leaving the backend to implement index traversal.has_impl
is not expected to respond tocalibrated
,calibratedCov
,jacobian
anymore.
- Adds dedicated methods for surface manipulation that are used by the backend:
-
TrackStateType as bitset view instead of bitset (#2068) (37bc755) (@paulgessinger)
-
add non-cost access to Surface (#2072) (b7afb6b) (@asalzburger)
-
Generalize NavigationDirection to Direction (#2030) (b442bb9) (@andiwand)
Feature
- Option to keep only particles with hits in Geant4 (#2133) (c4dec8f) (@benjaminhuth)
- Add full cov and pulls to VertexPerformanceWriter (#2119) (c59801e) (@andiwand)
- Total seed purity in SeedingPerformanceWriter (#2123) (7786f8f) (@LuisFelipeCoelho)
- Max-weight reduction for GSF trackstates, fill smoothed states (#2115) (61aaa69) (@benjaminhuth)
- Cylindrical detector component builder (#2065) (0558f1d) (@asalzburger)
- Move MultiTrajectory tests to common suite (#2092) (3ab60b5) (@paulgessinger)
- Add support for passing clusters to calibrator (#2078) (a461ae2) (@gagnonlg)
- Add non-cost access to Surface (#2072) (b7afb6b) (@asalzburger)
- Particle killing 4 Geant4 and refactor user actions (#2057) (9cff63a) (@benjaminhuth)
- Cylindrical detector (#1983) (39072d0) (@asalzburger)
- adding layer building infrastructure for DetectorVolume objects (#2043) (320be79) (@asalzburger)
- Extend list of PdgParticles particles to include Pb (#2042) (2ffdeee) (@tboldagh)
Fix
- Fix physmon comment template after #2130 (#2138) (3e13c13) (@andiwand)
- Remove det(cov)<=0 check from HelicalTrackLinearizer (#2127) (9d5d41b) (@andiwand)
- Fix physmon comment template after #2130 (#2131) (39ff1e8) (@andiwand)
- Add NotOnSurface error to globalToLocal in LineSurface (#2105) (5d66f46) (@andiwand)
- SIGFPE in full_chain_odd example (#2107) (532272e) (@owtscharenko)
- Read PDG, charge and mass in RootParticleReader (#2101) (65b6de0) (@andiwand)
- Dangling reference due to source link lifetime in fitters (#2095) (3918f38) (@andiwand)
- Make Exa.TrkX example work with CUDA 12 (#2087) (41ec072) (@benjaminhuth)
- Add missing proto track output for truth seeding algo (#2082) (6a0cb8a) (@andiwand)
- Add missing include and fix warning for GCC 13 (#2079) (1f234e9) (@benjaminhuth)
- Use const static instead of mutable (#2077) (0d99a80) (@paulgessinger)
- Ambiguity resolution for 0 tracks (#2070) (1f7a8f4) (@andiwand)
- Enable G4 secondary hits (#2049) (2b5457f) (@andiwand)
- Remove warning on MacOS build coming from DigitizationCell (#2064) (2a90742) (@asalzburger)
- ParticleID collision in Geant4 (#2039) (f2d8c25) (@benjaminhuth)
Refactor
- Use hypot across codebase (#2109) (c676ece) (@andiwand)
- Avoid divisions in getCompatibleDoublets (#2126) (ce2f672) (@LuisFelipeCoelho)
- Make surface intersection tolerance configurable (#2106) (89678d5) (@andiwand)
- Throw_asserts in GSF to asserts and errors (#2120) (ef7caab) (@benjaminhuth)
- Deduplicate some code in SingleBoundTrackParameters (#2104) (42058fd) (@andiwand)
- Add tolerance to transformFreeToBoundParameters (#2112) (9bafb2f) (@andiwand)
- TrackContainer/MultiTrajectory surfaces, jacobians, meas access (#2091) (44c343b) (@paulgessinger)
- Geant4 converters (#2048) (9a19dbc) (@andiwand)
- Use uint64_t explicitly in MultiTrajectory (#2090) (d4d768f) (@paulgessinger)
- Replace error with debug message in TracksToTrajectories (#2083) (498a12f) (@andiwand)
- TrackStateType as bitset view instead of bitset (#2068) (37bc755) (@paulgessinger)
- Change cut order in getCompatibleDoublets (#2053) (cb8d0b0) (@LuisFelipeCoelho)
- Replace warning for unmatched particles with info (#2071) (9e3174a) (@andiwand)
- Refactor the measurement calibrator in the examples (#2058) (69e6115) (@gagnonlg)
- Improve measurement errors (#2059) (87b0d61) (@gagnonlg)
- Generalize NavigationDirection to Direction (#2030) (b442bb9) (@andiwand)
Chore
- Update physmon comment after vertexing monitoring changes (#2130) (1f7a6c0) (@andiwand)
- Improve propagator doc (#2102) (6e613f0) (@andiwand)
- Alias tracks in python examples (#2069) (e702f16) (@andiwand)
- Update check_format_local to clang 14 (#2062) (348f798) (@andiwand)
- Bump clang-format to version 14 (#2060) (3efcf07) (@paulgessinger)
Ci
- Add AMVF to physmon (#2121) (9e65ec3) (@andiwand)
- Summary for physmon (#2125) (9293b33) (@andiwand)
- Add basic cmd options to physmon (#2113) (6e9fad6) (@benjaminhuth)
- Reduce number of LCG builds to 9 (#2096) (2e45ac2) (@paulgessinger)
- Increase use of GitLab CI runners (#2045) (14e722e) (@paulgessinger)
- Fix git lfs installation (#2080) (2a9c039) (@paulgessinger)
- Add CKF pull diagnostics to physics perf monitoring (#2061) (00ec4ae) (@paulgessinger)
Build
- Add tests for non-compilation of invalid behavior (#2036) (29d0e08) (@paulgessinger)
Test
- Add test for log levels in Logger clone (#2066) (83ed775) (@paulgessinger)