Issue 270 srs data losses
Created by: dorotheapfeiffer
Hi,
so here are several changes:
-
All the stats in GdGemBase, BuilderVMM3 and ParserVMM3 have been replaced by the struct NMXStats
-
The stats have also been renamed a bit to make clear from where they originate.
-
The parser has been updated, and several stats added, to debug the SRS data format and its problems. There are now two time stamps, the one retained from the markers and one calculated from the offsets. If we do not loose markers, these two time stamps should be identical, since the firmware sends a marker whenever the offset goes from 31 -> 0. For the calculated timestamp I check whether the new offset is smaller than the old one. So even when we loose the frame with the offsets 31, the marker and offset 0, we can still recalculate the timestamp. Only if we loose so much data, that the offset goes from e.g. 15 to 15 or bigger (with one offset overflow in between), we have a problem. Nevertheless, the SRS data format has to be changed.
-
There was a cleanup of the common Cluster.cpp class done. Some fields are not necessary anymore.
-
The eventfilter has been updated. With the new clustering algorithm, we do not need the filter for the uncertainty limits any more. But a new filter for charge has been added, so that only clusters are accepted, that have a similar charge in plane 0 and plane 1. This feature will be usefull as well for Multigrid and Multiblade to be implemented in their pipeline.
-
The gdgem config file has been updated to include the filter. Further, there is a new parameter "enable_data_processing". If set to false, the EFU just writes the data to file, so no monitoring or clustering.
-
Several little changes. I pulled the master last week, and tried already to put in MJCs changes of the socket class.
Cheers
Doro
Issue reference / description
The branch you merge from should already reference an event-formation-unit github ticket number. You can add a descriptive title, but if an issue is referenced, you don't have to. Checklist for submitter
Check for conflict with integration test Unit tests pass