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 asHostAlgorithm
,DeviceAlgorithm
orSelectionAlgorithm
) it doesn't have an impact upon the functionalities the algorithm can have. -
ProviderAlgorithm
s are expected to have abank_type
property. - The algorithm type is now propagated to the JSON configurations.
- A new bank string
VPRetinaCluster
which maps to bank typeVP
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 Hugo Campora Perez