Draft: Add data processor benchmark test for Rd53b and ITkPixV2
Adds a data processor benchmark test for the ITkPixV2/Rd53b pixel FEs.
Changes
Itkpixv2DataProcesser
and Rd53bDataProcessor
:
- Add low impact monitoring variables
ItkpixEncoder
and derived encoders:
- Make it a "real" abstract base class with the addition of virtual function (necessary for swappable usage in dataProcessorBenchmark)
- Appropriately override functions in derived classes (Itkpixv2, Rd53b)
dataProcessorBenchmark
:
- Add script with basic benchmarking ability
- TODO: add tests with events split across data packages (should be a configurable parameter)
- TODO: add tests with error handling
Usage
Usage: ./bin/dataProcessorBenchmark [options] frontend-type[ITKPIXV2, RD53B]
Options:
-n Number of events total to test with (default 1000)
-s Number of events per stream to test with (default 16)
-o Average number of hits per event total (default 20)
-t Refresh time for monitoring (default 50us)
-h Print this help message and exit
Example
Running a benchmark test with 10us monitoring, an average of 30 hits/chip/BC, and 500 total events:
./bin/dataProcessorBenchmark ITKPIXV2 -t 10 -o 30 -n 500
Edited by Luc Tomas Le Pottier