Issue 175: Multigrid pipeline refactoring
Created by: martukas
Issue reference / description
Improvements:
- Uses common clustering classes
- Multiplicity filters based on latest offline analysis results performed by Anton et al.
- mggen_readouts and BuilderReadouds alows streaming of h5 data
- Tests with reference data from SNS experiments, qualitative remarks included explaining the meaning of the results and what implications they have for the rest of the pipeline
- More and better stats for Grafana
- Refactoring should make it easier to transition to other readout systems in the future (such as SRS/VMM)
- common Matcher classes now also keep track of neutron pulses, ensuring they are chronologically sorted with respect to events and obey the same maximum latency condition. This could look more elegant, but for now should be good enough. If pulses are never provided, their latency is ignored in matching logic, so the presence of this feature will not affect pipelines that don't make use of it.
Caveats:
- Some tests could be further improved
- Code style is of course inconsistent
- MG24 geometry conforms to old tests, but has not been tested in context of the pipeline. I suggest revisiting this together with Anton when he again takes such a unit to be tested.
- If anyone feels strongly enough about the above caveats, go ahead and do something about them without me ;)
Checklist for submitter
-
Check for conflict with integration test -
Unit tests pass
Nominate for Group Code Review (Anyone can nominate it)
Indicate if you think the code should be reviewed in a Thursday code review session.
-
Recommend for group code review
Also, nominate it on the code_review Slack channel.