Gaudi Allen integration
This branch currently works together with this branch in Rec
: https://gitlab.cern.ch/lhcb/Rec/tree/dovombru_Allen_Rec_integration
Adds a wrapper to call Allen from Brunel one event at a time, Brunel handles the event loop.
Allen is called with a call to stream.run_sequence
, where the RuntimeOptions
are passed with the input and the output is stored in the HostBuffers, which are part of the stream object.
The options file for Brunel is here: /Allen/Online/AllenIntegration/options/run_allen_in_gaudi.py
.
Brunel has to be configured to run Allen instead of Rec, as described in this readme:
https://gitlab.cern.ch/lhcb/Allen/blob/dovombru_Gaudi_Allen_integration/Online/AllenIntegration/readme.md
Contents of this MR:
- Allen uses gsl/gsl if found instead of gsl-lite to be compatible with Gaudi
- Wrap all Property and Algorithm definitions in
stream/gear/include/Configuration.cuh
into theAllen
namespace to avoid compilation issues with Gaudi - Raw input is dumped to the TES with
Rec/GPU/BinaryDumpers/DumpRawBanks.cpp
(todo: move dumpers to Allen) - Geometries etc. are obtained from the AllenUpdater (living in Rec at the moment)
- Gaudi algorithm to call Allen for one event:
Allen/Online/AllenIntegration/src/RunAllen.cpp
- HostBuffers are stored on the TES
- Converters to make LHCb::Track::v2 ojbects for Velo, VeloUT and Forward tracks produced by Allen are in
Allen/Online/AllenIntegration/src/AllenForwardToV2Tracks.cpp
etc - Tracks are then converted to V1, keyed containers and Links are created with the TrackAssociator
- PrChecker is called for all three track types
Documentation for how to dump binary input for Allen now is placed here
Documentation for how to call Allen from Brunel or Moore is placed here
To do's:
- rebase on master branch: DONE
- call from Moore instead of Brunel DONE: see this branch in Moore: https://gitlab.cern.ch/lhcb/Moore/tree/dovombru_Allen_Moore_integration
- move content of
Rec/GPU
folder toAllen
DONE: see this MR in Rec: Rec!1897 (merged) - write converter for PVs: DONE
- write DecReports to TES: DONE