Acts port
EDIT 2024-01-11: Latest ACTS version ready for a9-nica-dev.
EDIT 2024-02-05: MPDRoot codebase compilable for latest ACTS version v32.1.0
EDIT 2024-02-10: acts tracker script running without segfaulting
DISCOVERED ISSUES:
- During build of detector geometry, the following warnings are issued (to be investigated)
LayerArrayCr ERROR Layers are overlapping at: 941.925. This should never happen. Please check your geometry description.
- the timestamps are removed from log files by (useful for diff-ing)
cat acts.log | sed -E 's/[0-9]{2}:[0-9]{2}:[0-9]{2}//g' > acts_no_timestamps.log
- on default settings with PtMin = 0._GeV, Bz = 0.5_T the exception will be thrown from CylindricalSpacePointGrid.ipp file (previously SpacePointGrid.ipp)
- the exception is now not thrown because of hack in MpdTpcTrackSeeding.cxx around line 165 (denoted by FIXME, with B field set as 0).
terminate called after throwing an instance of 'std::domain_error'
what(): The value of minHelixRadius cannot be smaller than rMax / 2. Please check the configuration of bFieldInZ and minPt
- This commit https://github.com/acts-project/acts/commit/2d6f99dd4fbe84a08a16247048928ad4d35e6132#diff-094ce07ed5dcef6492caae8d9b2cd571e4af7496c79c270110240d8d3c7e1f41 disentangles Prototracks from Seeds. Must be implemented by us.
Diff between the latest Acts version and the one that was used
TBD:
-
address namespaces, I think we should not have namespace Mpd, only Tpc. As the tracker is the last module, which will be addressed in Tpc refactoring, we should probably introduce namespace Tpc for the Tpc detector in the whole code. With namespace Tpc, the "Tpc" prefix in file names should be removed.
-
headers with authors
-
rename MpdTpcTracker to Tpc::TrackerActs
-
rename MpdTpcConfig to Tpc::ActsConfig
-
MpdTpcMagneticField to Tpc::MagneticField (first), then complete redesign as it should be read at a single place for the whole code.
-
MpdTpcTrack to Tpc::Track
-
MpdTpcParticleSelector to Tpc::ParticleSelector, MpdTpcRunner to Tpc::Runner MpdTpcSpacePointMaking to Tpc::SpacePointMaking, MpdTpcTrackEstimation to Tpc::TrackEstimation, MpdTpcTrackFinding to Tpc::TrackFinding, MpdTpcTrackSeeding to Tpc::TrackSeeding, MpdTpcEventData to Tpc::EventData, MpdTpcInputHit to Tpc::InputHit
-
output tracks must be converted to MpdTpcKalmanTrack type for latter processing (input for MpdTofMatching)