On the VFAT masks...
At the moment, it is impossible to retrieve a per-event VFAT mask. This is problematic to understand the state of the front-end, particularly if zero suppression is enabled. The actual VFAT mask should be stored per event; the VFAT zero-suppressed should be masked stored in the bitstream well.
One can identify enough bits in the GEM chamber trailer to store these masks. Here is a proposal:
-
GCT<47:0>
: zero-suppressed VFAT mask for this event (1 means VFAT payload received but dropped) -
GCT<23:0>
: VFAT mask suppressed for this event (1 means VFAT enabled when the L1A was received)
With this information, an event is fully valid if vfatMask == zsMask & vfatInPayload
when there are no duplicate VFAT in the VFAT payload.
Note that a re-assignment of some fields in the GEM chamber trailer was necessary to have continuous masks. This is probably better to be staged with other data format changes. (A new spreadsheet is being prepared...)
Edited by Laurent Petre