Skip to content

Switch to updated Fatras from Core

Moritz Kiehn requested to merge fatras_from_core into master

This bumps Acts Core to the latest master branch that contains the updated Fatras implementation with a concrete event data model. The previous SimHit and SimParticle types are replaced by ActsFatras::Hit and ActsFatras::Particle. All dependent code is updated accordingly e.g. to use the revised accessor names and new constructor calls. The Fatras tools are adapted to the new interfaces available in the Core.

Additional related modification:

  • SimVertex directly stores a four-position.
  • SimIdentifier now stores a set of indices to refer e.g. to truth particles within a container. Previously, pointers were used that tightly bound SimIdentifier to a specific truth model and required stable memory location guarantees.
  • All data containers are now consistently named ...Container.
  • Add a GroupBy<...> proxy to simplify grouped iteration over the flat data containers, e.g. all hits on each detector module in the hits container.
  • Fatras tools are now named ActsSimFatras... as discussed in #175.
  • Command line options for the Fatras tools have been extended and support input particle cuts and hit surface selection.
  • All Fatras-related code has been moved out of the common examples library into Examples/Fatras/Common.
  • Csv and ROOT I/O tools handle all the information previously introduced in !211 (merged).
  • Prepare CI jobs to have separate gen/sim/rec steps with interdependencies.

My apologies to whoever will review this. Because this changes the event data model, it touches almost everything in the code base. Doing this only partially would have resulted in a broken build. Thus, the changes can not be split into smaller MRs. This is not how a good MR should look like and I know it.

Depends on acts-core!782 (merged) and acts-core!783 (merged)

Edited by Xiaocong Ai

Merge request reports