Monitoring infrastructure, line monitoring
This MR introduces monitoring in Allen. It does the following:
- Algorithms can now perform monitoring. Monitoring works by definition only in non-standalone, hence all monitoring code should be wrapped in appropriate macros.
- Add a MonitoringAggregator, which only runs in non-standalone. It aggregates the statistics coming from several streams.
- Add a MonitoringPrinter, which only runs in non-standalone. It prints the status of the monitoring.
- Algorithms (non-standalone) provide now a ServiceLocator, which is used to be able to define Gaudi::Accumulators and Histograms.
- A minimal monitoring containing the output of the lines, and the output of the postscaler results, has been added.
- In order to speed up calculation of the monitoring values, the quantities are precalculated on the GPU in
Allen::buffer
s beforehand.
It requires a sink to be added in MooreOnline to publish, so should be merged with MooreOnline!121 (merged).
Edited by Kate Abigail Richardson