Releases: acts-project/acts
v14.0.0
Breaking
-template <typename calibrator_t, typename outlier_finder_t>
+template <typename calibrator_t, typename outlier_finder_t, typename reverse_filtering_logic_t>
struct KalmanFitterOptions {
Feature
- Python bindings for G4 (#978) (54532ab) (@paulgessinger)
- Allow setting the Geant4 random seed via command line (#1022) (6f3abdd) (@paulgessinger)
- Kf reverse filtering option (#1021) (849e792) (@Corentin-Allaire)
- Add python based tests (#975) (51b62f8) (@paulgessinger)
- Alignment centralization (#979) (7e87eb1) (@paulgessinger)
- Adding new TrackSummary analysis (#1001) (badba0b) (@asalzburger)
- Add variable axis type for SpacePointGrid - Follow-up (#1005) (69d74c4) (@LuisFelipeCoelho)
- Python bindings for the Examples (#845) (60e036d) (@paulgessinger)
- ITk module splitting according to json configuration (#999) (682a7bd) (@niermann999)
- Allow sampling in eta (#1009) (5e72a40) (@asalzburger)
- Add different mapping types (#993) (6d5f498) (@Corentin-Allaire)
- Add variable axis type for SpacePointGrid (#976) (2da8c5b) (@LuisFelipeCoelho)
Ci
- Bump CI images to v13 (#1023) (bcb3eed) (@paulgessinger)
- Remove CVMFS based LCG jobs again (#1018) (accd7a6) (@paulgessinger)
Refactor
- VecMem-ification of the Sycl Seedfinder Plugin (#998) (162bad9) (@konradkusiak97)
- Remove g4 detector construction factory (#1016) (ab6acfd) (@paulgessinger)
- Simplify G4 event registry with thread-local (#1006) (357202c) (@paulgessinger)
Fix
- A bug in the Triplet finding algorithm (#1025) (c607476) (@konradkusiak97)
- Make analysis apps compile (#1020) (adfffb6) (@asalzburger)
- Fix seeding parameters (#1004) (01246fa) (@toyamaza)
- BoundParamResolution should include TError.h (#1014) (cbc72d6) (@wdconinc)
- SimParticleTranslation does not correctly translate momentum (#1015) (a628d9a) (@paulgessinger)
- Remove usage of
ordered_json
(#1012) (10b883e) (@paulgessinger)
Documentation
- Clarify that ONNX plugin uses ONNX Runtime (#1013) (b5adbb6) (@HadrienG2)
- Bump sphinx and breathe (#1002) (867a174) (@paulgessinger)
Chore
- Change to CERN Gitlab repo for ODD (#1000) (a236dde) (@paulgessinger)
New Contributors
- @LuisFelipeCoelho made their first contribution in #976
- @wdconinc made their first contribution in #1014
- @timadye made their first contribution in #1011
- @konradkusiak97 made their first contribution in #998
Full Changelog: v13.0.0...v14.0.0
v13.0.0
Breaking
- Single geant4 simulation algorithm (ActsExamples 1/X) (#962) (1b8f372):
The MaterialInteraction and its derivatives are removed from the Propgator/MaterialInteractor.hpp into a separate file Material/MaterialInteraction.hpp to wich the former file and the other clients point to
Feature
- Introduce json configuration for tgeo (#884) (4443cae)
- Implement a k-d tree data structure (#987) (c0db8a7)
- Implement a k-dimensional range class (#986) (d9c04a6)
- Implement a one-dimensional interval class (#985) (956e3fb)
- Rework Geant4 simulation (2/X) (#977) (7172909)
- Single geant4 simulation algorithm (ActsExamples 1/X) (#962) (1b8f372)
- Add KF-based alignment algorithm (#896) (da66a5b)
- Computation of shared measurement in CKF (#898) (8f1f47b)
Fix
- Assign the vertex and direction at first step (#981) (2189de2)
- Update EventRecording to remove disconnected vertices and particles (#912) (43c4f42)
- KF return and CKF logging (#996) (ebe6b0e)
- Set target surface to null for forward filtering in CKF (#997) (54a942c)
- Allow layer search in original volume after fast initialization (#995) (e11d1c4)
Documentation
Ci
v12.0.1
v12.0.0
Breaking
- Use common units for seed finding (#941) (c020c92)
The seeding configuration structs SpacePointGridConfig, SeedFilterConfig and SeedFinderConfig change to now use ACTS units.
Chore
- Update .zenodo.json file to try to fix automatic upload (f64c38a)
- Update ODD in thirdparty (#940) (e038f14)
- Update readme with new Zenodo DOI (#908) (7ae0c8e)
Refactor
- Use context in Json surface writing (#958) (a78f220)
- Untemplate RootBField writer (#920) (0123060)
- Use interface to define copyable G4 factory (#918) (a80f03b)
- Seeding config simplification (#945) (0093d56)
- Make Detectors constructible without boost po (#923) (f159cce)
- Make the DigitizationConfigurator usable (#921) (6521c13)
- Use common units for seed finding (#941) (c020c92)
- Move TGeoDetector into ActsExamples namespace (#947) (c5bee96)
- RootVertexPerformanceWriter only writes input time if configured (#929) (72dcfa8)
- Always create bound state (#936) (cb728a4)
Ci
Documentation
Fix
- Use material before the first measurement in smoothing (#956) (72eecda)
- Use width/sqrt(12) in smearing digi config file for generic detector (#957) (7c4a4d1)
- GeometryView3D default output directory doesn't work. (#954) (4452021)
- Static initialization of vector of strings (#951) (8ee64d6)
- Linking issue with public symbol sortDetElementsByID (#930) (effda20)
- Update jacToGlobal after KF filtering (#935) (b47fe06)
- SEGFAULT in NuclearInteractionParametrisation (#931) (0321083)
Feature
- Write out residual pull (#950) (3d67ee8)
- Add another script executable, add program options (#943) (60c824c)
- GeometryView3D can write to specified outputDir (#917) (971c537)
- Add tele digi file (#937) (e8a46d7)
- Sequencer gets configurable iteration callback (#928) (e506c6c)
- Add num-vertex option to PG, error check (#939) (42a362c)
- Add path length branch to RootTrajectoryStatesWriter (#932) (e98107c)
- Add truth impact parameters to RootTrajectorySummaryWriter (#938) (af0ab90)
Performance
- Remove extraneous copies in seedfinder (#953) (d04706b)
- Use map to accelerate parameter estimator (#952) (d74d411)
Build
v11.0.0
Breaking
- The interface of a number of methods changes: (fb99e3e)
SeedFilter::filterSeeds_2SpFixed
(takes an output iterator, is now void)SeedFilter::filterSeeds_1SpFixed
(takes an output iterator, is now void)Seedfinder::createSeedsForGroup
(takes an output iterator, is now void, takes a state object as a reference)Grid::collect
(returnsboost::container::small_vector<size_t, N>
whereN = 3^DIM
of the grid)
Chore
Performance
Refactor
- Simplify / unify material writers (#916) (59c0021)
- CsvMeasurementWriter only creates cluster file if configured (#927) (54b1a6c)
- Fitting and Finding algorithm function interface (#922) (6523cba)
- Rename HepMC3 targets for consistency (#924) (cc52918)
Feature
Fix
v10.0.0
Breaking
- PR #846 (803bd93)
Navigator
-typeState
structs are expected to have a reset method with this signature:void reset(const GeometryContext& geoContext, const Vector3& pos, const Vector3& dir, NavigationDirection navDir, const Surface* ssurface, const Surface* tsurface);
Build
Fix
- Json Surface Writing (#897) (757161d)
- TGeo disc and cylinder splitting (#894) (41b85b2)
- Let CsvVolumeLayer writer also write passive surfaces (#891) (0ee97ff)
- Boost warnings due to deprecations (#880) (4340ad2)
- Catch passive layers (#892) (d7adb00)
- Typo that I have been looking at for 4 years but never fixed (#890) (99df92e)
- Move Geant4 actions into namespaces (#882) (fa09c85)
- Remove shared_ptr to stack variable (#879) (a99ae08)
Feature
- Update OpenDataDetector, refine DD4hep material handling (#895) (0e83c06)
- Flag material if found (#893) (bb4ba16)
- Update OpenDataDetector to tip (#889) (9109be1)
- Introduce TGeoDetectorElementSplitter & splitted detector element constructors (#873) (b14a419)
- EventRecordingExample did not set up input (#878) (6e94ec0)
- Make Grid bin count accessible with and without over/underflow bins (#872) (e47dc58)
Documentation
Refactor
Ci
v9.2.0
Build
Feature
- Update open data detector with synchronized endcap modules (#867) (d39cc52)
- Volume material with root writer (#849) (05b655e)
- Add digitization config and example for dd4hep and generic detector (#856) (d911434)
- Decouple propagator instance from propagation algorithm (#844) (4c6c00a)
- Add polymorphic value like container (#855) (a837633)
Documentation
- Doxygen warning reduction (#865) (d24a4c5)
- Fix doxygen parser problem by a workaround (#864) (893c111)
Fix
- AnnulusBoundsTests uses deprecated boost header (#861) (7c17307)
- Replace deprecated
tbb.h
include (#862) (2d196d4) - Add missing include in PolymorphicValueTest.cpp (#859) (ed152ac)
Refactor
v9.1.0
v9.0.1
v9.0.0
⚠️ BREAKING CHANGES
-
Refactor of the template for the input measurements in the CKF
findTracks
invocation. (b00d3dd, #830)
It implements a source link accessor concept which has:- type members including
Container
,Key
,Value
,Iterator
- lookup methods including
count
,range
andat
to help access the source link container
The CKF
findTracks
is changed to be templated on the source link accessor. In this way, the input measurements can be directly used by the CKF Actor without further internal converting as long as proper accessor is provided. - type members including
-
The constructor and public members of
Acts::Navigator
change (641e00c, #826)
When before it could be created likeActs::Navigator nav{tGeometry}; nav.resolveSensitive = true; nav.resolveMaterial = true; nav.resolvePassive = true;
it must now be created like
Acts::Navigator::Config cfg; cfg.trackingGeometry = tGeometry; nav.resolveSensitive = true; nav.resolveMaterial = true; nav.resolvePassive = true; Acts::Navigator nav{cfg};
Since
trackingGeometry
is the first member ofActs::Navigator::Config
, if you don't want to change theresolve*
values, you can also writeActs::Navigator nav{{tGeometry}};
-
The instantiation of an interpolated B field changes. (ba385e3, #828)
Old:using Grid_t = detail::Grid<Vector3, detail::EquidistantAxis, detail::EquidistantAxis>; using Mapper_t = InterpolatedBFieldMapper<Grid_t>; using BField_t = InterpolatedBFieldMap<Mapper_t>; Grid_t g(std::make_tuple(std::move(r), std::move(z))); Mapper_t mapper(transformPos, transformBField, std::move(g)); BField_t::Config config(std::move(mapper)); config.scale = 1.; BField_t b(std::move(config));
New:
using Grid_t = detail::Grid<Vector3, detail::EquidistantAxis, detail::EquidistantAxis>; using BField_t = InterpolatedBFieldMap<Grid_t>; Grid_t g(std::make_tuple(std::move(r), std::move(z))); BField_t::Config cfg; cfg.transformPos = transformPos; cfg.transformBField = transformBField; cfg.grid = std::move(g); cfg.scale = 1.; BField_t b{std::move(cfg)};
-
B field access returns Result (b6371e2, #825)
- The signature of field query methods in
MagneticFieldProvider
changes fromtovirtual Vector3 getField(const Vector3& position, Cache& cache) const = 0; virtual Vector3 getFieldGradient(const Vector3& position, ActsMatrix<3, 3>& derivative, Cache& cache) const = 0;
virtual Result<Vector3> getField(const Vector3& position, Cache& cache) const = 0; virtual Result<Vector3> getFieldGradient(const Vector3& position, ActsMatrix<3, 3>& derivative, Cache& cache) const = 0;
InterpolatedBFieldMap::getMin
andInterpolatedBFieldMap::getMax
now return the extent of the valid interpolation domain, rather than the raw grid extent.
- The signature of field query methods in
-
Acts::MagneticFieldProvider
loses two pure virtual overloads (815bb72, #819)virtual Vector3 getField(const Vector3& position) const = 0; virtual Vector3 getFieldGradient(const Vector3& position, ActsMatrix<3, 3>& derivative) const = 0;
Clients of generic magnetic field providers need to be adapted.
Refactor
- Make intersection verbose logging a lot more verbose (#827) (3776c00)
- CKF input measurements (#830) (b00d3dd)
- Make Navigator use a config struct (#826) (641e00c)
- Material surface handling in CKF (#811) (0d06592)
- Remove interpolated magnetic field mapper (#828) (ba385e3)
- B field access returns Result (#825) (b6371e2)
- Remove overloads of B field retrieval without cache (#819) (815bb72)
Fix
- Root readers ensure event ordering is consistent (#837) (521063b)
- Remove Geant4 data archive after extraction (#835) (8eff52d)
- Make examples sequencer compatible with modern TBB (#834) (3156583)
- Check that rmin is not less than zero. (#820) (201ce3c)
- Added missing extent (#829) (d930e7e)
Feature
- Allow the writing of Json object to Cbor (#836) (03dd438)
- Add timing to vertex performance writer (#805) (2a524fb)
- Ckf performance updates (#813) (bdd59e0)
- Global extraction function in BinnedSPGroup (#810) (ab46bb0)
- Update performance plotting scripts (#814) (d72e80c)