Skip to content

Only configure producers / consumers when required by algorithms in sequence

In general, the goal of this MR is to only trigger the relevant geometry consumers / producers.

  • Create new type of Algorithm, ProviderAlgorithm. As with other Allen algorithm types (such as HostAlgorithm, DeviceAlgorithm or SelectionAlgorithm) it doesn't have an impact upon the functionalities the algorithm can have.
  • ProviderAlgorithms are expected to have a bank_type property.
  • The algorithm type is now propagated to the JSON configurations.
  • A new bank string VPRetinaCluster which maps to bank type VP has been created, required to enable the functionality described below.

This MR does various things, depending on the way that Allen is run:

  • In Allen STANDALONE and Allen steered from MooreOnline, deduce from the data provider algorithms present in the requested sequence which geometry consumers / producers are needed and only schedule the ones linked to that bank type.
  • In Allen STANDALONE and Allen steered from MooreOnline, given that he magnetic field is used by compassUT and the SciFi reconstruction, it is always scheduled.
  • In Gaudi-Allen, ProvideRuntimeOptions is now configured with the concrete bank types that are requested. It is not needed anymore to specify the type of banks requested by hand (solves #332 (closed)).

Closes #344 (closed) and #332 (closed).

Should go with MooreOnline!130 (merged)

Edited by Daniel Campora Perez

Merge request reports