Skip to content

First round of updating algorithms to new APIs and data flow

Moritz Kiehn requested to merge msmk-algorithm_api_update into master

This is a first round of changes to switch algorithms and plugins to the apis introduced in !53 (merged) and data flow defined in !53 (merged).

  • Add a WriterT helper class to implement event-store based writers for a specific type.
  • Convert CSV writers to event-store data flow.
  • Convert JSON writer to event-store data flow.
  • Convert Obj space point writers to event-store data flow.
  • Convert ROOT particle writers to event-store data flow.
  • CSV, JSON, and Obj writers produce one file per event.
  • CSV produces files in simplified Excel-compatible format.

Additional cleanup and simplifications along the way:

  • Convert ParticleGun into a standalone BareAlgorithm that can be run w/o ReadEvgen. Add d0 and z0 to generated parameters.
  • Remove particle generation from ExtrapolationAlgorithm.
  • Reorganize Fatras examples.
  • Start to move from separate namespaces, e.g. FWCsv to namespace hierachy FW::Csv.
  • Separate Pythia8 code from ROOT I/O algorithms.
  • The build directory contains all binaries under <build>/bin instead of their full location.

Due to time constraints this MR only changes about half of the existing code. Remaining changes are suggested in ACTSFW-50.

This is follow up to ACTSFW-40 and ACTSFW-43 and obsoletes !51 (closed).

Edited by Moritz Kiehn

Merge request reports