Releases: acts-project/acts
Releases · acts-project/acts
v28.2.0
Fix
- Reset navigation state correctly in KF reverse pass (#2368) (a22a8be) (@andiwand)
- Exa.TrkX edge duplicate removal (#2373) (dd8188a) (@benjaminhuth)
- Fix AMVF finding with negative cov (#2374) (1c459a9) (@andiwand)
- Track parameter estimation might give inf time (#2353) (10b40b7) (@paulgessinger)
Refactor
- Exa.TrkX boost track building & unit test (#2361) (0eb5954) (@benjaminhuth)
- Move some implementation from header to source (#2371) (543bd5a) (@benjaminhuth)
- Use
Particle::qOverP
in Fatras simulation (#2375) (c83f8fc) (@andiwand) - Use map instead of two vectors in AdaptiveGridTrackDensity (#2338) (f96b048) (@felix-russo)
- Remove direction from
NavigationOptions
and drop constructor (#2345) (0f745ae) (@andiwand)
Feature
- ExaTrkX edge building KDTree on CPU + fixes + refactor + tests (#2360) (0486e42) (@benjaminhuth)
- Read CSV clusters and measurement-particles-map & refactor (#2103) (342899b) (@benjaminhuth)
- Make SourceLink SBO size configurable via CMake (#2357) (7ae364d) (@paulgessinger)
- Configurable maximum number of bins in SP grid (#2325) (e9977db) (@LuisFelipeCoelho)
Ci
- Build physmon summary from explicit report information (#2350) (9cd59fd) (@paulgessinger)
- Add reco, reco after vertex fit, and truth track momenta to physmon (#2221) (d0759c0) (@felix-russo)
Performance
- Write unbiased residual for each track state (#2238) (4a8a7ee) (@XiaocongAi)
LineSurface
back tocol(2)
for local z axis (#2369) (951edca) (@andiwand)
Documentation
- Improve documentation on surface classes (#2323) (430eb1e) (@paulgessinger)
v28.1.0
Feature
- Minimum number of top SPs in orthogonal seeding confirmation (#2298) (f651d07) (@LuisFelipeCoelho)
- Add ability to skip grid bins in SP grouping and add ITk "fast" tracking config for seeding (#2166) (14b0cea) (@LuisFelipeCoelho)
- Target surface for filtering phase of CKF (#2319) (271cbf8) (@andiwand)
- Really make patched python constructors accept pathlib Paths (#2335) (61df945) (@benjaminhuth)
- Root SimHit Reader and unit test (#2330) (ced7cb7) (@benjaminhuth)
Ci
- Physmon comment report pipes through summary (#2342) (3f4cbab) (@paulgessinger)
- Add ttbar pu 200 job to physmon (#2282) (b5acca1) (@paulgessinger)
- Create job summaries in python (#2339) (b5babcb) (@paulgessinger)
- Switch off forced-assertions in extra Ubuntu builds (#2337) (6527cda) (@paulgessinger)
- Athena job: use separate variable (9699885) (@paulgessinger)
- Athena trigger uses github.sha (b01a2dd) (@paulgessinger)
- Explicitly trigger current commit hash for Athena build (e853b17) (@paulgessinger)
Refactor
Performance
- Add option of stereo angle when building telescope detector (#2240) (0147d07) (@XiaocongAi)
Fix
v28.0.0
Breaking
Feature
- Make patched python constructors accept pathlib Paths (#2324) (4bc20bf) (@benjaminhuth)
- Introduce particle hypothesis (#2254) (a2d0eb5) (@andiwand)
- Add compiled version info (#2313) (21cb496) (@paulgessinger)
Documentation
CI
- Reenable validate on push for policybot (1a1660e) (@paulgessinger)
Fix
- Update to Pythia 8.310 API for random engines (#2329) (6b2533f) (@stephenswat)
- Align
globalToLocal
andintersection
inLineSurface
(#2287) (96ead7c) (@andiwand) - Use material towards target in CKF (#2318) (8ff2bcd) (@andiwand)
- Allow CKF smoothing without a target surface (#2317) (9cdf2fe) (@andiwand)
- Improve full chain pulls by enabling Fatras interactions (#2086) (dbcba62) (@andiwand)
Refactor
Build
- Explicitly find python when DD4hep is ON (#2314) (5252d07) (@paulgessinger)
v27.2.0
Chore
- Rename NextNavigator to DetectorNavigator (#2311) (22fa536) (@asalzburger)
- Rearrange
res/err/pull
and usestd::sqrt
inRootTrajectoryStatesWriter
(#2307) (375f1a9) (@andiwand) - Adopt physmon plotting ranges (#2294) (c499dfe) (@andiwand)
- Accumulated small changes (#2293) (617d03f) (@andiwand)
- Rearrange central CMake, plugins vs examples (#2280) (689d82a) (@andiwand)
Refactor
- Brush over new detector geometry part 1 (#2309) (b30f678) (@andiwand)
- Remove direction from constrained step (#2073) (7251c28) (@andiwand)
- Indexed surfaces generator (#2234) (4e5afb2) (@dimitra97)
- Revisit FullBilloirVertexFitter (#2196) (7e5b2ce) (@felix-russo)
- (remove) surgical extraction of faulty Global Chi2 Fitter (#2302) (f1bc93a) (@AJPfleger)
- Consistent surface tolerance for propagation (#2292) (93fb63e) (@andiwand)
direction
andqOverP
for Fatras particle interface (#2251) (5b1de63) (@andiwand)- Factorize track selector tool from algorithm (#2267) (c0b9fcc) (@paulgessinger)
- Add Concept for TrackStateProxy (#2261) (598ae96) (@paulgessinger)
RootTrajectorySummaryWriter
useqOverP
from particle (#2271) (260bc5a) (@andiwand)- Drop bool conversion in favor of
isAlive
method inFatras::Particle
(#2266) (af748f6) (@andiwand)
Feature
- Seed Vertex Finder (#2038) (564d174) (@pbalek)
- Actsvg plugin for new detector infrastructure (cylindrical) (#2228) (b235828) (@asalzburger)
- Adding json writing, reading infrastructure (#2283) (bb68534) (@asalzburger)
- Detector python infrastructure (#2288) (d37616b) (@asalzburger)
- Filter for particles which originate from the beam pipe (#2300) (9dff59f) (@andiwand)
- Clear method for Track Container (#2290) (c4ba836) (@CarloVarni)
- Add ability to mask FPEs from code comment (#2277) (a83b5ac) (@paulgessinger)
- Stepper interface gains momentum (#2258) (97a7f9e) (@andiwand)
- Add ability to remove secondaries in
ParticleSelector
(#2265) (ccbed15) (@andiwand) - Remove secondary particles in Geant4 simulation (#2263) (3b59162) (@andiwand)
TrackingGeometry
gainsshared_ptr
world volume accessor (#2262) (d73c864) (@andiwand)
Ci
- Check and fix missing includes (#2248) (8833e70) (@benjaminhuth)
- Physmon runtim metrics missing path (cc53d9a) (@paulgessinger)
- Physmon memory monitoring push fix (#2281) (e036202) (@paulgessinger)
- Disable validate on push for policybot (d6c23c6) (@paulgessinger)
- Monitor memory in physmon jobs (#2268) (8288d1a) (@paulgessinger)
- Physmon for event simulation (#2232) (b513232) (@andiwand)
Fix
- Small bug when avoiding iterations while looking for dublets (#2304) (8fbbc46) (@LuisFelipeCoelho)
- Fix CKF finalization (#2299) (4409f3c) (@andiwand)
- Quick fix docs by ignoring pythia.org (#2301) (cb16df8) (@andiwand)
- Fixing polyhedron representation for disc surfaces (#2289) (9ae9e8b) (@noemina)
- Ignore all of http://eigen.tuxfamily.org (#2296) (679e7a3) (@andiwand)
- Remove unit C (#2142) (d0ad664) (@andiwand)
- Protection against division by zeros in orthogonal seeding (#2276) (53603e7) (@CarloVarni)
- Remove erroneously added print (#2285) (e022486) (@paulgessinger)
- Fix some Geant4<->Acts unit conversions (#2264) (0ad1e47) (@andiwand)
- Remove potential FPE in
RootTrajectorySummaryWriter
(#2260) (f118922) (@andiwand)
Performance
- Reduce memory consumption of track finding (#2206) (5bd016c) (@paulgessinger)
Build
v27.1.0
Fix
- Acts-logo rendered differently on different platforms (#2259) (0c906ad) (@AJPfleger)
- More friendly large etas (#2249) (58133b4) (@pbalek)
- Prototracks to seeds spacepoint livetime (#2244) (639211a) (@benjaminhuth)
- Quick fix
LineSurface
tolerance inconsistency inglobalToLocal
(#2239) (c8beee7) (@andiwand) - Fix FPEOVF in
RootParticleWriter
(#2241) (91fcbb7) (@andiwand) - Missing include of array in FpeMonitor.hpp (#2247) (4bbbbaf) (@CarloVarni)
- And refactor Exa.TrkX plugin (#2192) (c0bd8b5) (@benjaminhuth)
- Clang-format style and update docs (#2207) (9d56444) (@AJPfleger)
Ci
- Add Folder with hashes to the labeler paths (#2257) (1ceb251) (@CarloVarni)
- Add Unit Test paths to auto-labeler (#2242) (769c943) (@paulgessinger)
- Add codespell to CI (#2218) (cd0693b) (@benjaminhuth)
Chore
- Improve CMake formatting (#2255) (f68c31c) (@andiwand)
- Align event generation in physics monitoring and ODD full chain (#2222) (bb5a925) (@andiwand)
Documentation
- Ignore if
eigen.tuxfamily.org
is online (#2256) (5e1ff46) (@andiwand) - Ignore tavianator.com in linkcheck (#2225) (a2eb1f3) (@paulgessinger)
Refactor
qOverP
andabsoluteMomentum
for Stepper interface (#2253) (f22a278) (@andiwand)- Explicit direction parameter instead of momentum for Surface interface (#2250) (7b0e2ed) (@andiwand)
- Move
ParticleData
from Fatras to Core (#2233) (1256675) (@andiwand) - Testing HelicalTrackLinearizer by comparing its Jacobians to numerically computed derivatives (#2141) (bd785d9) (@felix-russo)
- Using UnitConstants in calculation of minHelixRadius in SpacePointGrid (#2243) (b483c1a) (@LuisFelipeCoelho)
- Use inheritance to improve python Sequencer (#2220) (425a8a9) (@paulgessinger)
Feature
- Draw measurements in e.g.
.obj
, refactor and update unittests (#2229) (60bb598) (@AJPfleger) - Improve Acts::zip to take arbitrary number of ranges (#2236) (9c50e11) (@benjaminhuth)
- NeuralCalibrator: ML-based measurement calibration (#2111) (71e4f2d) (@gagnonlg)
- Enable resolved stack traces in clang (#2223) (3075f10) (@paulgessinger)
- Add prototracks-to-seeds algorithm (#2219) (c37d881) (@benjaminhuth)
Test
v27.0.0
Breaking
- Remove unnececessary wrapping of VectorMTJ in MTJ (#2172) (fa36abf) (@tboldagh)
- optimisations to SSS measurement details (#2067) (daedabf) (@LuisFelipeCoelho)
- Split helper header into multiple files (#2153) (64ed0b2) (@andiwand)
Feature
- Improved FPE monitoring (#2157) (04bfbbc) (@paulgessinger)
- Python binding for Detector (#2198) (1e58c70) (@asalzburger)
- Make FATRAS energy cut configurable in python (#2210) (a5e2f9b) (@benjaminhuth)
- Pythia event info printing & particle selection with mass (#2194) (43d5adc) (@benjaminhuth)
- Support multi-output models in OnnxRuntimeBase (#2171) (c8e8d1d) (@gagnonlg)
- Geant4 Atlas physics list (#2188) (18dd0ad) (@andiwand)
- Step merger for Geant4 and digitization energy threshold (#2184) (97a5fb5) (@benjaminhuth)
- Move greedy ambiguity solver to core (#2163) (c463f78) (@andiwand)
- Early version of Exa.TrkX pipeline on CPU (#2164) (720f9b5) (@benjaminhuth)
- Safe Eigen matrix inverse (#2151) (eac824f) (@andiwand)
- Geant4 kill particle after configurable time (#2097) (672b144) (@benjaminhuth)
- Introduce external volume structure builder (#2148) (f8d0446) (@asalzburger)
- Make layer envelope dimensions configurable (#1982) (55b07bc) (@plariono)
- Simple scaling calibrator (#2085) (a2c3153) (@gagnonlg)
Fix
- GCC segfault in TrackTests.cpp (#2217) (dfc4940) (@paulgessinger)
- Add missing term in
EstimateTrackParamsFromSeed
(#2211) (4b23bbf) (@beomki-yeo) - Remove incomplete initialisation from InterpolatedBFieldMap (#1467) (36d2359) (@timadye)
- unused warnign in non-debug mode (#2208) (4a2919d) (@asalzburger)
- VectorMultiTrajectory gains reserve VectorTrackContainer clear (#2203) (80cc195) (@paulgessinger)
- VectorMultiTrajectory clears meas offsets (#2202) (a8fbe29) (@paulgessinger)
- Changed keyword argument minMeasurements to nMeasurementsMin, solving… (#2199) (e901e56) (@CarloVarni)
- Correct the pTperHelixRadius calculation in SeedFinderConfig (#2132) (765cad0) (@beomki-yeo)
- FPE in FATRAS hit direction (#2189) (4083f82) (@paulgessinger)
- Smearing-digitization with Geant4 (#2182) (078a01e) (@benjaminhuth)
- Use eCamelCase for SpacePointCandidateType (#2187) (fd37ded) (@CarloVarni)
- Include array in VectorHelpers.hpp (#2183) (6029679) (@CarloVarni)
- Typo in ACTS_USE_SYSTEM_ACTSVG CMakeLists.txt (#2177) (3255dfc) (@wdconinc)
- Set proper time cov in TrackParamsEstimationAlgorithm (#2137) (b400a1b) (@andiwand)
- Fix geometric digitization of generic detector (#2081) (b0b6c8b) (@benjaminhuth)
- Unused value appearing only in assert (#2169) (ce58ddb) (@asalzburger)
- Fix stepper charge hypothesis (#2140) (ff2f976) (@andiwand)
- Different typos all over the visualization and other places (#2156) (e1a87df) (@AJPfleger)
- Fix truth association in VertexPerformanceWriter (#2143) (9115839) (@andiwand)
- Missing include in Examples/IO/Svg (#2160) (02ef533) (@asalzburger)
- Protection against wrong configuration of Seed finder config (#2129) (5ba3b8d) (@CarloVarni)
- Relative path of
MuonChamber.gdml
independend of working directory (#2152) (2c02d29) (@AJPfleger)
Refactor
- Rework Geant4 sim object lifetime (#2185) (928faa1) (@andiwand)
- TrackProxy::copyFrom copies track states (#2205) (fc0e58c) (@paulgessinger)
- IWYU fixes and some manual modifications (#2158) (990a060) (@andiwand)
- Remove duplicate function in
CI/release.py
and add print-outs (#2212) (8cd72f8) (@AJPfleger) - TrackStateType safety, bitsize, conversion (#2201) (de665e0) (@paulgessinger)
- Allow TrackState copyFrom for different MTJs (#2204) (d7f13e5) (@paulgessinger)
- Explicit init, pre step, post step for navigator interface (#1984) (b7b8168) (@andiwand)
- Move calculation of variables out of getCompatibleDoublets (#2168) (a0c64ce) (@LuisFelipeCoelho)
- Exa.Trkx configurable stages (#1898) (724f155) (@benjaminhuth)
- Use time in IVF fitting (#2145) (33e3e32) (@andiwand)
- Export jacobian from RiddersPropagator (#2175) (a3c82c9) (@andiwand)
- Remove unnececessary wrapping of VectorMTJ in MTJ (#2172) (fa36abf) (@tboldagh)
- Shorten long demangled names in sequencer (#2174) (f81b812) (@benjaminhuth)
- Optimisations to SSS measurement details (#2067) (daedabf) (@LuisFelipeCoelho)
- Split helper header into multiple files (#2153) (64ed0b2) (@andiwand)
- Align IVF and AMVF in examples (#2144) (210824a) (@andiwand)
- Min measurements for TrackSelector (#2110) (1074d34) (@andiwand)
- Remove some "code smells" in the clusterization code (#2134) (39b63ff) (@gagnonlg)
- Move initialisation of vector in SeedFilter (#2135) (fd8e801) (@LuisFelipeCoelho)
- Remove redundancy in HelicalTrackLinearizer (#2116) (ee8718b) (@felix-russo)
- Add concepts for Track(State) backends (#2093) (20a45ed) (@paulgessinger)
CI
- Add more labels to the labeler bot (#2209) (e7d0ce9) (@CarloVarni)
- Delete unit test and integration test binaries (#2200) (287f31e) (@paulgessinger)
- Don't package .o files (#2191) (c71ecbb) (@paulgessinger)
- Check labels attached to a pull request (#2193) (db57deb) (@CarloVarni)
- Save ccache always right after build step (#2190) (c70fd4d) (@paulgessinger)
- Include what you use (#2155) (2563d3b) (@andiwand)
- Add actsvg to major builds (#2165) (a355fb7) (@andiwand)
- Disable LCG jobs we expect to fail (#2147) (9cc6ef0) (@paulgessinger)
- Split up physmon script into multiple ones (#2124) (f7ccfee) (@paulgessinger)
Chore
- Bump recommended boost version to 1.78 (#2167) (d974ecf) (@andiwand)
- Wire loggers in CKF correctly (#2146) (5f46a6e) (@andiwand)
- Enable stale action to make changes (aff0c55) (@paulgessinger)
- Disable stalebot, use github stale action (fed2522) (@paulgessinger)
Documentation
- Auto-update copyright year in footer (#2084) (8b73cd6) (@AJPfleger)
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)
v25.0.1
Fix
- Dangling reference due to source link lifetime in fitters [backport #2095 to develop/v25.x] (#2098) (035dbd3) (@acts-project-service)
Ci
- Fix git lfs installation [backport #2080 to develop/v25.x] (#2100) (736b616) (@paulgessinger)
v25.0.0
Breaking
- Remove Track.hpp (#2051) (74df04d) (@paulgessinger)
- move SSS coordinate information to spacePointData (#2004) (1251038) (@LuisFelipeCoelho)
Refactor
- Remove Track.hpp (#2051) (74df04d) (@paulgessinger)
- Navigator volume material handling (#2047) (cc1f276) (@andiwand)
- Resurrect detector root volumes (#2044) (a1226a1) (@andiwand)
- And fix new detector geometry (#2027) (8c837ad) (@andiwand)
- Remove/rearrange includes in propagator (#1988) (3d37973) (@andiwand)
- Mockup builder files location (#2029) (da77587) (@dimitra97)
- Compile time get compatible doublets (#2013) (a1b43a8) (@CarloVarni)
- Move SSS coordinate information to spacePointData (#2004) (1251038) (@LuisFelipeCoelho)
- Restructure the ONNX and mlpack plugins (#2025) (15aec1a) (@paulgessinger)
- Move vertex performance writer (#1998) (5656e32) (@andiwand)
- Update edm4hep IO code to use frame model (#2001) (0681a23) (@paulgessinger)
- Split Track.hpp into TrackProxy.hpp and TrackContainer.hpp (#2007) (1316c69) (@paulgessinger)
- Move multipleScattering2 to seeding options (#2010) (01bbf1f) (@LuisFelipeCoelho)
- LinCircle constructor and no use of fill function (#2006) (f44d3b1) (@CarloVarni)
- Change in ITk seed confirmation for high pT muons efficiency (#1956) (e79cf07) (@LuisFelipeCoelho)
- Ambiguity solvers now use Track containers (#1996) (4d7e280) (@Corentin-Allaire)
Ci
- Fix ccache usage in GitLab CI job (#2050) (263114d) (@paulgessinger)
- Fix skipped Geant4 tests, always enable all tests by default in CI (#2032) (a511218) (@paulgessinger)
- Bump actions/upload-artifact to v3 (#2015) (b1909a1) (@paulgessinger)
- Patch geant4 config script to download datasets (#2011) (9cdd5e4) (@paulgessinger)
Fix
- Solve the CI issue with the ML solver (#2026) (61c067e) (@Corentin-Allaire)
- Energy loss function (#1323) (fcdc820) (@beomki-yeo)
- MultiTrajectory parameters and covariance constness (#2009) (76e9db6) (@paulgessinger)
- Skipping un-physical steps in material mapping (#1882) (#1968) (921da6d) (@noemina)
- Track state range is invalid if tip index is (#1995) (a7cd583) (@paulgessinger)
Feature
- Add method to return measurement indices (#2028) (5868791) (@gagnonlg)
- Add ConstRefHolder type, add support to TrackContainer (#2035) (00e64ea) (@paulgessinger)
- Add SVG visualization functionality for indexed surfaces (#2033) (870bd9d) (@asalzburger)
- Minimal example for using C++20 concepts (#2034) (be509fa) (@paulgessinger)
- Remove middle SPs in last layer (#1972) (a5d5d35) (@LuisFelipeCoelho)
- Refitting algorithm (#1940) (08ef3cc) (@benjaminhuth)
- EDM4hep plugin, Track reader + writer (#2022) (44cb837) (@paulgessinger)
- Mockup builder class with a cpp script for test (#2008) (98f27de) (@dimitra97)
- GSF add final multi-component state to track container (#1928) (6db3613) (@benjaminhuth)
- Add logger to multi stepper (#1964) (6e35712) (@benjaminhuth)
- Add python bindings for next navigator (#2019) (1d6aeb8) (@andiwand)
- Add Mlpack DBScan clustering to the ML Ambiguity solver (#2005) (8bdd597) (@Corentin-Allaire)
- Adding Indexed Surface infrastructure (#2018) (4bccbe6) (@asalzburger)
- Track level improvements (#2012) (c4d019f) (@paulgessinger)
- Example of integrating HoughTransform example algorithm with python (#1795) (1f7443e) (@tboldagh)
- Adding ITk scripts for material mapping and validation (#1967) (31e5b09) (@noemina)
Build
- Take CMAKE_CXX_STANDARD into account (#1981) (f5644a7) (@paulgessinger)
Performance
- Space Point Formation requires functions that accepts const reference to source links (#1991) (79fe828) (@CarloVarni)
Test
- Disable ml solver test for now (#2024) (65807a1) (@andiwand)
- Enable interaction in
truth_tracking_kalman.py
(#1990) (ff07dd9) (@beomki-yeo) - Fixing error message for material recording tests (#2016) (d6e8fe6) (@noemina)
Documentation
- First brush over the geometry pages (#1395) (2977a16) (@asalzburger)
v24.0.0
Breaking
TrackContainer
backends needs to implement these methods: (4d1a846) (@paulgessinger):copyDynamicFrom_impl
ensureDynamicColumns_impl
- SSS Seeding: Store dynamic variables instead of constantly copying them (#1966) (bf5a3fc) (@CarloVarni)
- Seeding runs on const inputs (#1948) (6ba881e) (@CarloVarni)
- Store unsigned 64bit integer for projector in MTJ backend (#1958) (0b61727) (@paulgessinger)
- Rewrite Binned SP Group (#1919) (16ebb52) (@CarloVarni)
MultiTrajectory
API change (#1948) TheSourceLink
returned fromuncalibratedSourceLink
andgetUncalibratedSourceLink
is now a value. If you have a construct / access pattern like (58d7632) (@paulgessinger)you will now have a dangling reference. You'll need to changeconst auto& sl = ts.getUncalibratedSourceLink().template get<MySourceLink>();
const auto&
toauto
to keep theSourceLink
valid.
Refactor
- Add ability to copy Tracks between containers (#1980) (4d1a846) (@paulgessinger)
- Move check on phi outside z-loop (#1974) (e3818b0) (@CarloVarni)
- State observer functions for navigator (#1951) (faded2f) (@andiwand)
- SSS xyzCoordinateCheck calculations (#1986) (09c4fad) (@LuisFelipeCoelho)
- Switch all of the Examples to read/write handles (#1939) (1f4f84a) (@paulgessinger)
- Restructure onnx examples build (#1960) (32b802c) (@andiwand)
- Make navigator state copyable (#1979) (889267b) (@andiwand)
- Change transformCoordinates to avoid recalculation of variables in Seedfinder (#1831) (3967853) (@LuisFelipeCoelho)
- Use already retrieved variables (#1978) (8efbafb) (@CarloVarni)
- Optimize examples ambiguity resolution (#1938) (c8918b4) (@andiwand)
- Simplify volume drawing and lower case variables (#1962) (62a5336) (@andiwand)
- SP builder uses SourceLinks instead of Measurements (#1953) (56aff8b) (@toyamaza)
- SSS Seeding: Store dynamic variables instead of constantly copying them (#1966) (bf5a3fc) (@CarloVarni)
- Seeding runs on const inputs (#1948) (6ba881e) (@CarloVarni)
- Store unsigned 64bit integer for projector in MTJ backend (#1958) (0b61727) (@paulgessinger)
- Align actor/aborter param order (#1949) (dfe78c9) (@andiwand)
- Remove dead actor code (#1950) (fcfddfc) (@andiwand)
- Avoid unnecessary calculations in triplet compatibility (#1929) (447f0a2) (@LuisFelipeCoelho)
- Navigator interface (#1931) (b30b9b8) (@andiwand)
- Improve logging in the Examples Detectors (#1911) (1b63626) (@paulgessinger)
- Rewrite Binned SP Group (#1919) (16ebb52) (@CarloVarni)
- MTJ get/set SourceLink by value (#1909) (58d7632) (@paulgessinger)
- Examples sequence elements gain Read/WriteDataHandles (#1908) (a235c2c) (@paulgessinger)
- Change Variables Name in order not to start with _ (#1936) (7f581ed) (@CarloVarni)
Feature
- Experimental navigator for experimental geometry (#1932) (34af411) (@andiwand)
- MLSolver hashe test and compilation in the CI (#1959) (b4773cf) (@Corentin-Allaire)
- Sequencer prints every event start and finish in debug mode (#1965) (2e5ebd2) (@benjaminhuth)
- Move sort of vector outside of transformCoordinates (#1922) (dc94901) (@CarloVarni)
- Added a function that draws the detector volume with inner surfaces (#1946) (6b86cef) (@dimitra97)
- Add (phi, z) cuts to middle SP in orthogonal seeding (#1954) (95e3d9a) (@LuisFelipeCoelho)
- Minimum number of compatible top SPs to trigger filterSeeds_2SpFixed (#1930) (c9d32bd) (@LuisFelipeCoelho)
- Iterate only on what we need while looking for compatible bottoms and tops (#1926) (ca8cd26) (@CarloVarni)
Fix
- Alignment Contextual example binary smearing options (#1944) (9328cf3) (@paulgessinger)
- Reduce verbosity of ITK module splitter. (#1976) (73b40f3) (@goetzgaycken)
- Propagate layer log level to ITK or disc splitter. (#1977) (06af656) (@goetzgaycken)
- Precision of radLengthPerSeed in ITk configuration (#1969) (cf036b6) (@LuisFelipeCoelho)
- GSF handles another case of empty components correctly (#1970) (a6b3d6a) (@benjaminhuth)
- Switch off the MultiStepper step counter if necessary (#1963) (44eff4f) (@benjaminhuth)
- Bug in ITk config (#1961) (d2882c8) (@LuisFelipeCoelho)
- Itk_seeding script runs again (#1947) (49e2c9e) (@CarloVarni)
- Sequencer use-after-move in sequencer data flow check (#1941) (58bb693) (@paulgessinger)
- Compute complete covariance for max weight reduction (#1927) (7f0429f) (@benjaminhuth)
- Don't let the GSF remove all weights (#1933) (250ea03) (@benjaminhuth)
- Wrong times in timing.tsv (#1935) (0b9004f) (@benjaminhuth)
Chore
- Rename unused params (#1952) (34a0534) (@andiwand)
- Odd full chain - only root output by default (#1937) (e76e89b) (@andiwand)
Performance
- Reduce memory consumption (#1973) (ea1ec0c) (@CarloVarni)
Ci
- Add workflow to trigger Athena build (#1945) (5e50072) (@paulgessinger)
- Add builds using C++20 (#1957) (c1785e0) (@paulgessinger)
- Switch main CI job to Ubuntu 22.04 (#1955) (b78feba) (@paulgessinger)