Releases: acts-project/acts
Releases · acts-project/acts
v45.5.0
45.5.0
🚀 Features
- Surface bindings (#5197) by @asalzburger
- Material designator for homogeneous material for trapezoid and diamond bounds (#5202) by @dimitra97
- Math helper to compute cathetus (#5211) by @andiwand
- Python level write data handle (#5189) by @paulgessinger
- Extract ROOT histogram profiling to Plugin; Add 2D resolution profiles to Examples (#5196) by @andiwand
- Add
qOverPtandrelQoverPttoResPlotToolin Examples (#5194) by @andiwand - Mini-extension of IGrid interface (#5230) by @asalzburger
🐛 Bug Fixes
- Codegen dependencies check after #5201 (#5216) by @AJPfleger
- Update GridTripletSeedingAlgorithm.cpp (#5225) by @pbutti
- Cylinder stack properly propagates inner cylinder state (#5227) by @paulgessinger
🚜 Refactor
- Improve separation for GBTS (#5160) by @andiwand
- Replace dfelibs with Boost.Describe for CSV I/O (#5110) by @benjaminhuth
- Simplify angle calculation in CylindricalSpacePointGrid2 (#5222) by @AJPfleger
- Navigator - Move limits && surface selector into the plain options (#5226) by @junggjo9
📚 Documentation
🛠️ Build
- Install uv environments in build directory (#5220) by @benjaminhuth
⚙️ Miscellaneous Tasks
- Pre-commit: bump black-jupyter
24.4.2->26.1.0(#5203) by @AJPfleger - Pre-commit: bump gersemi
0.15.0->0.26.0(#5204) by @AJPfleger - Pre-commit: bump pre-commit-hooks
3.2.0->6.0.0(#5205) by @AJPfleger - Pre-commit: bump clang-format
v18.1.8->v22.1.0(#5206) by @AJPfleger - Make use of cathetus helper (#5218) by @andiwand
- Automated python requirements upgrades (#5219) by @github-actions[bot]
v45.4.0
45.4.0
🚀 Features
- Access to whiteboard from Python (#5158) by @paulgessinger
- Add concept for python declareAlgorithm (#5173) by @paulgessinger
- Examples
RootMeasurementPerformanceWriter(#5171) by @andiwand - Add Mille as optional thirdparty dependency (#5172) by @goblirsc
- 3d histograms support (#5182) by @pbutti
- Add naive component merger for GSF and benchmark (#4874) by @benjaminhuth
🐛 Bug Fixes
- ACTS_BUILD_EXAMPLES requires ACTS_BUILD_PLUGIN_ROOT (#5094) by @AJPfleger
- C++23 compilation compatibility (#5192) by @paulgessinger
- Make cmake FindXXX.cmake modules idempotent (#5191) by @benjaminhuth
- Don't run pip requirement updates on forks (#5190) by @AJPfleger
🚜 Refactor
- Separate Fatras python bindings, tests (#5185) by @paulgessinger
- Typed PODIO data handles (#5174) by @paulgessinger
- Whiteboard uses Any (#5188) by @paulgessinger
- Generalize
ContainerSubsetto arbitrary index container (#5175) by @andiwand
📚 Documentation
- Add link checker as post-processing step (#5167) by @paulgessinger
- Fix links in README.md (#5198) by @benjaminhuth
🛠️ Build
- (deps) Bump actions/upload-artifact from 6 to 7 (#5179) by @dependabot[bot]
- (deps) Bump actions/download-artifact from 7 to 8 (#5180) by @dependabot[bot]
⚙️ Miscellaneous Tasks
- Automated python requirements upgrades (#5177) by @github-actions[bot]
- CompSpacePointAuxiliaries - Improve test coverage (#5120) by @junggjo9
- Move hello world to algorithms (#5184) by @asalzburger
- Auto update pip requirements for codegen (#5201) by @AJPfleger
v45.3.0
45.3.0
🚀 Features
- Any & SourceLink API for type check (#5126) by @paulgessinger
- EDM4hep vertex type (#5127) by @paulgessinger
std::formatcompatible formatter for GeometryIdentifier (#5128) by @paulgessinger- Add const ref access to underlying DD4hep objects (#5129) by @paulgessinger
- Introduce infrastructure to make Volumes alignable (#4963) by @junggjo9
- Add
copyFromto space points and seeds for Seeding2 (#5109) by @andiwand - MultiWireVolumeBuilder can construct alignable tracking volumes (#5125) by @junggjo9
- Add jet kinematics into TrackSummaryWriter (#5035) by @delitez
- Part 1 of migration to GBTSv3 (#5138) by @jpreston-cern
- Introduce SKIP ProcessCode (#5155) by @asalzburger
- Add seeds from three layer combinatorics in the combinatorial seed solver for New Small Wheel (#5133) by @dimitra97
- Add GSF functions for solely parameter merging (#5151) by @andiwand
- First-class logging in python (#5156) by @paulgessinger
MultiComponentBoundTrackParameters::merge(#5137) by @andiwand- Sensor-local PODIO measurement type (#4123) by @paulgessinger
- RangeContainsSubstring helper function, useful for SensitiveSurfaceMapper (#5170) by @altsybee
🐛 Bug Fixes
- CompositeSpacePointLineFitter: Enable 3-hit fits and add sanity checks to the fitter (#5083) by @lmonaco99
- Broken
SpacePointContainer2named column access (#5142) by @andiwand - Raise and catch ModuleNotFoundError (#5163) by @paulgessinger
- Inconsistent particle collection after failing particles in Fatras (#5165) by @andiwand
🚜 Refactor
- Deprecate
SpacePointProxy2::resolvedIndex(#5111) by @andiwand - Rename packed
SpacePointContainer2columns (#5121) by @andiwand - Remove isDisc parameter + switch to TGeoAxes (#5118) by @paulgessinger
- Simplify GBTS
SpacePointContainer2handling (#5143) by @andiwand - Multi stepper composed of single stepper (#5103) by @andiwand
- Use dynamic linking for python wheel (#5149) by @benjaminhuth
- Rename and relocate GBTS (#5152) by @andiwand
- Move Examples to
Seeding2EDM (#5088) by @andiwand
🛠️ Build
- (deps) Bump eic/docker-run-action from 3 to 4 (#5147) by @dependabot[bot]
- (deps) Bump astral-sh/setup-uv from 5 to 7 (#5148) by @dependabot[bot]
⚙️ Miscellaneous Tasks
- Use cloneable ptr to default copy ctor && assignment (#5119) by @junggjo9
- Onnx plugin clang-tidy fixes (#5122) by @andiwand
- Do not require sonar for now (#5130) by @paulgessinger
- Actually disable sonar in sentinel (#5131) by @paulgessinger
- Enable compile headers for all plugins (#5123) by @andiwand
- Rework dependency environment for CI workflows (#5124) by @andiwand
- Supress warnings in helpers for module discovery (#5117) by @paulgessinger
- Sonar: drop coverage for PRs (#5132) by @paulgessinger
- Use uv to install cmakeperf in perf build step (#5141) by @paulgessinger
- Automated python requirements upgrades (#5146) by @github-actions[bot]
- Deprecate unused charge hypothesis types (#5134) by @andiwand
- Deprecate
BoundTrackParameter::toBound(#5135) by @andiwand - Remove navigator from material interactions and extract
UpdatablefromGsfUtils(#5140) by @andiwand - Move pytest for toroidal field into correct position (#5157) by @asalzburger
- More camel case
spacePoint(#5153) by @andiwand - Bump pybind11 to v3.0.1 (#5162) by @paulgessinger
- Some pytest improvements (#5164) by @paulgessinger
- Remove build performance test job (#5169) by @paulgessinger
- Add LCG109 build, drop LCG106a build (#5166) by @paulgessinger
- Update coverage scripts (#5038) by @paulgessinger
v45.2.0
45.2.0
🚀 Features
- Port
HoughVertexFinderto Seeding2 (#5108) by @andiwand - CloneablePtr (#5116) by @paulgessinger
- Template<holder_t> for PodioTrack(State)Container (#4974) by @wdconinc
🐛 Bug Fixes
- Local static initializer over global for particle data and photon conversion (#5098) by @andiwand
- Minor zenodo version filling fix (#5100) by @andiwand
- Policy state inconsistency in navigation (#5080) by @paulgessinger
- Mv {addnab -> eic}/docker-run-action (#5099) by @wdconinc
- Switch update pip requirements bot to
uv(#5087) by @AJPfleger
🚜 Refactor
VertexTruthMatcherExamples algorithm (#5054) by @andiwand- Rename
Acts::ActsVectortoActs::Vectorand co (#5073) by @andiwand - Move jet class from plugins to EventData, remove FastJet as plugin (#5089) by @delitez
- Generalize track parameter estimation further (#5112) by @andiwand
⚙️ Miscellaneous Tasks
- Organize GSF utilities (#5062) by @andiwand
- Cleanup Examples (#5071) by @andiwand
- Fix a ton of clang-tidy issues (#5107) by @paulgessinger
- Remove
clang-tidyCI for now (#5114) by @andiwand - Use camel case
protoTrack(#5104) by @andiwand - Use
uvto generate python requirements (#5086) by @AJPfleger - Clang Tidy on GitHub Actions (#5090) by @paulgessinger
- Bump ModuleMapGraph version (#5115) by @benjaminhuth
- Cleanup Core GBTS (#5102) by @andiwand
- Move
ProtoTracksToParametersfrom GNN Examples to Utilities (#5113) by @andiwand - Automated python requirements upgrades (#5105) by @github-actions[bot]
- Use camel case
spacePoint(#5106) by @andiwand
v45.1.1
v45.1.0
45.1.0
🚀 Features
- Generate measurements with muon space points (#4901) by @AJPfleger
- Add k0 and lambda0 to the list of pdg ids (#5036) by @pbutti
- Expose plotting configuration to python bindings (#5053) by @pbutti
- Track to jet matching (#5050) by @delitez
- Add hasUncalibratedSourceLink to track state concept (#5064) by @paulgessinger
- Port hashing seeder prototype to
Seeding2(#4681) by @andiwand - Generate measurements<->particles maps with muon space points (#5091) by @AJPfleger
- Expose minTruthPt to python configuration (#5095) by @pbutti
🐛 Bug Fixes
- Increment particle number in EDM4hep conv gen particles (#5020) by @paulgessinger
- Revise copy and move of
SpacePointContainer2andSeedContainer2(#5024) by @andiwand - Add missing std except include in MathHelpers.hpp (#5043) by @tstreble-ATLAS
- Duplicate layers in HoughCell (#4987) by @kciesla93
- Bin number underflow in HoughVertexFinder (#5060) by @pbalek
- Speedup surface lookup Mat_map_surface_plot.C using precomputed map (#5046) by @veprbl
- Changes to the setup script to make the acts installation more portable (#5061) by @pbutti
- IterativeVertexFinder: const reference instead of copying (#5097) by @juw
- Harmonise full_chain.py updates (#5065) by @timadye
🚜 Refactor
- Product, factorial, and binomial functions (#4967) by @AJPfleger
- Rework
PointwiseMaterialInteractionpart 2 (#5023) by @andiwand - Composite Space-point Line Fitter: adding tests with time & bugFix (#4964) by @lmonaco99
- Refactor examples plotting tools to not use ROOT (#4973) by @benjaminhuth
- Extract GSF functions part 1 (#5014) by @andiwand
- Cleanup toroid field, relocate to core (#5025) by @paulgessinger
- Revisit
Propagatorerror handling (#5044) by @andiwand - Remove
KalmanUpdateHelpersand refactor KF and GSF (#5015) by @andiwand - Remove unused using namespace (#5058) by @AJPfleger
- Add policy state to navigation system (#4981) by @paulgessinger
- Finalize unROOTing Examples (#5032) by @benjaminhuth
- Drop
BoundSquareMatrixandFreeSquareMatrixover existing shorthand (#5072) by @andiwand - Equip Shell constructor with GeometryContext (#5068) by @junggjo9
- Rework GSF outlier handling (#5047) by @andiwand
- Write measurements in geomodel_G4 chain (#5096) by @AJPfleger
📚 Documentation
- Doxygen fixes (#5037) by @paulgessinger
🛠️ Build
- Add flags, improve VDT discovery (#5028) by @paulgessinger
- Don't configure output paths if not top level (#5039) by @paulgessinger
- Disable
clang-tidyfor thirdparty (#5079) by @andiwand
⚙️ Miscellaneous Tasks
- Pimpl ModuleMapGraph (#5029) by @benjaminhuth
- Update git-cliff, release notes format (#5030) by @paulgessinger
- Automated python requirements upgrades (#5008) by @github-actions[bot]
- Bump histcmp to 0.8.2 (#5049) by @paulgessinger
- Another round of sonar fixes (#5040) by @paulgessinger
- Fix random typos (#5055) by @AJPfleger
- Rename
doPlotingtodoPlotting(double T) (#5056) by @AJPfleger - Correct use of
setupand(to) set up(#5057) by @AJPfleger - Add some debug output to the sonarcloud workflow (#5063) by @paulgessinger
- Sonar verbose mode on (#5066) by @paulgessinger
- Remove old seeders from Examples (#5051) by @andiwand
- Update Gbts code in
ExamplesandTrackFindingas well as change to fixed size variables (#5018) by @jpreston-cern - Make sonar load the actual PR sha instead of the branch (#5069) by @paulgessinger
- Store merge info for sonar job (#5077) by @paulgessinger
- Drop codereport step in clang-tidy job (#5082) by @paulgessinger
- Debug job: add safe directory for merge (#5085) by @paulgessinger
- Cleanup Example
GbtsSeedingAlgorithm(#5093) by @andiwand - Clean up
using namespace(#5078) by @AJPfleger
v45.0.0
45.0.0
🚨 BREAKING CHANGES
- Make
BetheHeitlerApproxvirtual (#4826) by @andiwandBetheHeitlerApproxand its subclasses are now abstract with virtual functions, breaking compile-time polymorphism. Template parametersNComponentsandPolyDegreewere removed fromAtlasBetheHeitlerApprox, requiring dynamic allocation and losing compile-time constant expressions.- The
mixture()method signature changed from returning a static array/vector to requiring a pre-allocated span as input parameter, fundamentally altering the API contract and object ownership model. - Replace template instantiations with polymorphic pointers (e.g.,
std::unique_ptr<BetheHeitlerApprox>), pre-allocate mixture buffers usingmaxComponents(), and pass them tomixture()instead of receiving return values.
- Remove all deprecated symbols (#4895) by @paulgessinger
- Deprecated APIs removed, including mutator methods on
GeometryIdentifier,Barcode,SimVertexBarcode, andTrackProxy, as well as convenience functions likecreateClusters(),toInternalUnits()methods, and material map type aliases. - Replace mutable methods (
setVolume(),setBoundary(), etc.) with immutable alternatives (withVolume(),withBoundary(), etc.) that return new instances instead of modifying in place.
- Deprecated APIs removed, including mutator methods on
- Actors return Result instead of void (#4921) by @benjaminhuth
- Actor
act()methods now returnResult<void>instead ofvoid, enabling immediate error handling and propagation termination - Custom actors must update their
act()signature to returnResult<void>and returnResult<void>::success()orreturn {};on success, or an errorResulton failure
- Actor
- Remove
ISurfaceProviderand (Gen1)KDTTrackingGeometrybuilder &ProtoDetector(#4938) by @asalzburger- Removed classes and interfaces:
ISurfacesProvider,KDTreeTrackingGeometryBuilder,ProtoDetector, andKdtSurfacesProviderhave been deleted as part of deprecating Generation 1 tracking geometry infrastructure. - Use the newer Generation 3 geometry building system. If you were using
KDTreeTrackingGeometryBuilderor implementingISurfacesProvider, switch to the Blueprint-based geometry builder and related Gen3 components.
- Removed classes and interfaces:
- Rework
KalmanFitterlogic (#4694) by @andiwand- KalmanFitter interface changes: The
reversedFilteringoption was renamed toreverseFiltering, andreversedFilteringCovarianceScalingtoreverseFilteringCovarianceScaling. The default value for reverse filtering covariance scaling changed from1.0to100.0. - Track state mask changes: During Kalman filtering, the
Smoothedcomponent is no longer pre-allocated for predicted and filtered track states, breaking code that assumes this mask is present before smoothing. - Update option names (
reversedFiltering→reverseFiltering,reversedFilteringCovarianceScaling→reverseFilteringCovarianceScaling) and adjust the scaling factor if you explicitly set it to1.0(the new default100.0may be more appropriate).
- KalmanFitter interface changes: The
- Replace KF target strategy (#4835) by @andiwand
- Removed
KalmanFitterTargetSurfaceStrategyenum in favor of the more genericTrackExtrapolationStrategy - The
KalmanFitterOptions::referenceSurfaceStrategyfield now usesTrackExtrapolationStrategyinstead ofKalmanFitterTargetSurfaceStrategy - Replace
KalmanFitterTargetSurfaceStrategy::{first,last,firstOrLast}withTrackExtrapolationStrategy::{first,last,firstOrLast}respectively in your code
- Removed
- Reduce fitter templating (#4942) by @andiwand
- KalmanFitter, CombinatorialKalmanFilter, and Gx2Fitter no longer accept templated start parameters—they now require
BoundTrackParametersexplicitly - Replace template parameter
start_parameters_twithBoundTrackParametersin your fitter calls and ensure your starting parameters are of typeBoundTrackParameters
- KalmanFitter, CombinatorialKalmanFilter, and Gx2Fitter no longer accept templated start parameters—they now require
- Type erased track and track state proxies (#4889) by @paulgessinger
- ProxyAccessor now calls
proxy.hasColumn(key)instead ofproxy.container().hasColumn(key): Code usingProxyAccessorBase::hasColumn()will need to ensure proxy types implement ahasColumn()method - New concept requirements for track proxies: Track proxy types must now satisfy stricter concepts (
TrackProxyLike,ConstTrackProxyConcept,MutableTrackProxyConcept) and provide specific type aliases and methods
- ProxyAccessor now calls
- Rework
TrackStateType(#4945) by @andiwand- Renamed
TrackStateTypemap toTrackStateTypeMapand introduced a newTrackStateTypevalue type, breaking any code that references the old map type directly. - Replaced bitset-style
.test()methods on track state flags with dedicated helper methods (e.g.,.test(TrackStateFlag::MeasurementFlag)→.hasMeasurement(), combined measurement checks →.isMeasurement()). - Replace
.typeFlags().test(TrackStateFlag::XXXFlag)with.typeFlags().hasXXX()or.typeFlags().isXXX()(e.g.,.hasOutlier(),.isOutlier(),.isMeasurement()for measurement-and-not-outlier).
- Renamed
- Rename thickness to layerThickness (#5013) by @junggjo9
- The
Layer::thickness()method has been renamed toLayer::layerThickness()across the ACTS Core geometry API - This affects all code calling
thickness()on Layer objects (ConeLayer, CylinderLayer, DiscLayer, PlaneLayer) - Replace all calls to
layer->thickness()withlayer->layerThickness()
- The
- Strongly type
MappingType(#5017) by @andiwandMappingTypechanged from unscopedenumto strongly-typedenum class, preventing implicit conversion tointand requiring explicit scopingHomogeneousSurfaceMaterialandBinnedSurfaceMaterialconstructors now require explicitsplitFactorparameter (value1) beforemappingType, as implicit conversion no longer provides the default- Use
MappingType::PreMappinginstead ofPreMapping, add explicitsplitFactorargument (typically1.0) when constructing material objects
- Rework
PointwiseMaterialInteractionpart 1 (#5016) by @andiwandMaterialUpdateStagerenamed toMaterialUpdateMode: The enum was renamed and its numeric values changed (PreUpdate: -1→1, FullUpdate: 0→3, PostUpdate: 1→2), plus a newNoUpdatevalue was added at 0.NoiseUpdateModestrongly typed: Changed from unscopedenumto scopedenum class, breaking code usingaddNoise/removeNoisewithoutNoiseUpdateMode::prefix.- Replace
MaterialUpdateStagewithMaterialUpdateMode, adjust numeric comparisons if any, and prefixNoiseUpdateModevalues withNoiseUpdateMode::(e.g.,addNoise→NoiseUpdateMode::addNoise).
🚀 Features
- Allow diamond bounds for the volume in the builder (#4868) by @dimitra97
- Add NVTX ranges to GNN code (#4527) by @benjaminhuth
- Straw line seeder (#4808) by @patrick-scholer
- Add ProtoAxisHelper (#4871) by @delitez
- Introduce indexed grid navigation policy for Gen3 (#4898) by @asalzburger
- Update GBTS with latest changes from Athena (#4908) by @jpreston-cern
- JSON converter for IndexGrid policy and display script (#4905) by @asalzburger
- Add install‑time git hash patching to ActsConfig.cmake (#4932) by @paulgessinger
- Sliding window alg for hough transform (#4906) by @tboldagh
- Updated authorlist, part 1 (#4917) by @asalzburger
- Add boost::histogram wrappers and ROOT converter (#4939) by @benjaminhuth
- Pip install acts, first steps (#4948) by @benjaminhuth
- Acts::Any gets
.emplacemethod for in-place construction (#4979) by @paulgessinger - Use CylinderNavigationPolicy in Gen3 GenericDetector (#4978) by @paulgessinger
- Ensure acts can still be built with EDM4hep 1.0 (#4976) by @tmadlener
- Teach the Navigator to treat free surfaces (#4494) by @junggjo9
- Support free sensitive surfaces (#5002) by @andiwand
SeedContainer2can point toSpacePointContainer2(#4977) by @andiwand- Wrapper function for tgeo geometry building (#4989) by @osbornjd
- Skip propagation errors in MaterialMappers (#5010) by @veprbl
- Use AnyConstTrackProxy for track constituents of jets (#4969) by @delitez
- Definitely not ATLAS toroidal field (#4765) by @davidedicroce
- Introduce the SurfacePlacementBase interface class (#5005) by @junggjo9
🐛 Bug Fixes
- Figure path after #4875 (#4880) by @AJPfleger
- Pass
ParticleHypothesisto root branch in CKF (#4885) by @andiwand - Re-targeting for
DirectNavigator(#4891) by @andiwand - New component mean implementation for GSF (#4753) by @benjaminhuth
- Import acts.examples before importing json modules (#4919) by @pbutti
- Fpe cmakelist fix typo (#4920) by @pbutti
- Attempt to fix FPE in clang19 build (#4894) by @tstreble-ATLAS
- Move DetectorElementBase pybind11 definition to Core (#4941) by @asalzburger
- BugFix Composite Space-point Line Fitter (#4950) by @lmonaco99
- Update nlohmanjson from 3.10.5 to 3.11.3 (#4961) by @timadye
- Sonar cloud issues and bug in defining upper right corner (#4955) by @tboldagh
- Use (cached) runtime type hash in Acts::Any (#4968) by @paulgessinger
- AnyTrack(State)Proxy from const input proxy (#4966) by @paulgessinger
- Import PodioReader from examples.edm4hep (#4975) by @delitez
- Use forward for universal reference arguments (#4997) by @paulgessinger
- Underflow in duplication evaluation (#5011) by @benjaminhuth
- Adapt Mat_map_surface_plot.C to read sur_type from geometry-map.json (#4931) by @veprbl
- Attach full namespace to PWMI in GX2F (#5026) by @andiwand
🚜 Refactor
- RAII RootBranchPtr class to avoid raw pointers (#4822) by @paulgessinger
- Muon Mockup Detector: use ACTS chamber frame to describe cuboids instead of geoModel local frame (#4896) by @lmonaco99
- Rename ConvexPolygonVolumeBounds to DiamondVolumeBounds (#4878) by @dimitra97
- Extend the track and track state proxy concepts (#4897) by @paulgessinger
- Use templates where possible for compile-time checks and optimizations...
v44.4.0
44.4.0
🚀 Features
- Update legacy GBTS with new version based of Athena implementation (#4802) by @jpreston-cern
- Bump dependency package, add Eigen 5 compat (#4820) by @paulgessinger
- Introduce diamond shape bounds for volumes (#4818) by @dimitra97
- Truth jet labelling (#4827) by @delitez
- Efficiency plots as a function of
d0andlow ptand more in Examples (#4754) by @andiwand - Introduce convex polygon volumes portal shell (#4830) by @dimitra97
- Add GeometryContext to initializeCandidates() in NavigationPolicy (#4870) by @asalzburger
- More GNN track building on gpu (#4800) by @benjaminhuth
🐛 Bug Fixes
- Barcode backwards compatibility in RootSimHitReader (#4829) by @ntadej
- Include cmath in ActsExamples/../Helpers.hpp for log10, pow (#4857) by @wdconinc
- Fix Muon 3D Segment Fitter with time (#4860) by @lmonaco99
- Return 360.0 non-zero multiples as 2pi (#4858) by @pbutti
- Link against ROOT hist component to write TH1 in unit tests (#4869) by @junggjo9
- Skip outliers for truth matching in Examples (#4859) by @andiwand
- Fix and Refactor imports for GNN scripts (#4873) by @benjaminhuth
🚜 Refactor
- Use type hash in
Acts::Any(#4828) by @paulgessinger - Python bindings for ActsExamples, Part 2 (#4771) by @asalzburger
- GNN tests and CI (#4784) by @benjaminhuth
- CompositeSpacePointLineFitter - Improve fast fit capability - Vol I (#4806) by @junggjo9
- Angle wrapping from #4858 (#4867) by @AJPfleger
- Use builder with navigation policy for mdt chambers for muon mockup (#4861) by @dimitra97
- Muon Segment Fitter: adding ATLAS r-t relation to SpacePoint Calibrator (#4863) by @lmonaco99
📚 Documentation
⚙️ Miscellaneous Tasks
- Streamline sign assignment by copySign (#4810) by @junggjo9
- Automated python requirements upgrades (#4807) by @github-actions[bot]
- Use python 3.14 for requirements (#4832) by @AJPfleger
- Use direct smoother for KF fitting (#4833) by @andiwand
- Enable cluster merging by default in Examples (#4834) by @andiwand
- Automated python requirements upgrades (#4838) by @github-actions[bot]
- Remove Gen2 geometry (#4856) by @asalzburger
- Clean up ReferenceGenerator (& usage) (#4865) by @asalzburger
v44.3.0
44.3.0
🚀 Features
- Projected grid filling in Gen2 (#4811) by @asalzburger
- Discard some pdg particles (#4812) by @delitez
- Introduce BoundDeduplicator helper class (#4816) by @junggjo9
- Add labeling to jets - part 1 (#4819) by @delitez
🐛 Bug Fixes
🚜 Refactor
- Clean up the StrawLineResidualCalulator tests (#4809) by @junggjo9
- Split up particle barcode in ROOT outputs (#4797) by @paulgessinger
📚 Documentation
- Add back container documentation (#4814) by @paulgessinger
🛠️ Build
- (deps) Bump actions/checkout from 5 to 6 (#4817) by @dependabot[bot]
⚙️ Miscellaneous Tasks
- Append std:: to trigonometric functions (#4824) by @junggjo9
- Bump doxygen to v1.15.0 (#4823) by @paulgessinger
v44.2.0
44.2.0
🚀 Features
- PythonBindings for plugins (#4750) by @asalzburger
- Improved python bindings for Vector3 + Vector4 (#4773) by @paulgessinger
- HepMC3 IO improvements (#4777) by @paulgessinger
- Add ability to PodioWriter to write to separate output files (#4776) by @paulgessinger
- Add a function to parse PDG particle codes from strings (#4774) by @paulgessinger
- Allow cuboid volumes for multiwire style tracking volumes (#4795) by @dimitra97
- Resolve passives for TryAllNavigationPolicy (#4803) by @benjaminhuth
🐛 Bug Fixes
- Use . instead of -> with EDM4hep collections (#4766) by @jmcarcell
- Added missing cassert header (#4768) by @smuzaffar
- Use universal refs in type dispatcher (#4769) by @paulgessinger
- Improve portability of setup script (#4781) by @andiwand
- Include to fix pybind11 symbol use without include (#4788) by @paulgessinger
- ActsExamples - Fix geo model muon macro (#4772) by @junggjo9
- Update namespace for Nlohmann Json v3.11 and later (#4757) by @fwyzard
- Update class name to DD4hepDetectorBase (#4793) by @delitez
- Remove obsolete arguments "wantsPortals" and "wantsSurfaces" from the navigation gen3 (#4794) by @dimitra97
- Use string for JSON keys in HepMC3 metadata (#4801) by @paulgessinger
🚜 Refactor
- Python bindings for ActsExamples, Part 1 (#4767) by @asalzburger
- Use FetchContent for ODD and remove the submodule (#4749) by @paulgessinger
- Rework PODIO plugin / Examples integration (#4775) by @paulgessinger
📚 Documentation
- Update jacobian (#4782) by @pbutti
- Reshuffle documentation (#4805) by @paulgessinger
🧪 Testing
- Rework straw measurement creation for tests (#4780) by @patrick-scholer
🛠️ Build
- Try to go back to hatchling for codegen (#4770) by @paulgessinger
- Allow
boost::stacktracebasic fallback explicitly (#4790) by @paulgessinger
⚙️ Miscellaneous Tasks
- Consistent ROOT I/O naming in Examples (#4779) by @asalzburger
- Use mirrored doxygen for install (#4789) by @paulgessinger
- Optimize dependencies install time (#4761) by @paulgessinger
- Try increasing to 8 threads on GitLab (#4791) by @paulgessinger
- Run GNN TensorRT build on non-GPU node (#4792) by @paulgessinger
- Make G4 dataset script fail if any download fails (#4799) by @paulgessinger