Missinterpretation of raw data words due to incomplete data header checks
I spotted a bug in the raw data interpretation. At the moment User_k data
is the first data which is checked in the raw data interpreation, after this it is checked for TLU data
. Since the user_k data header is 0x01000000
this leads to the problem that a potential TLU word 0x81000000 (in data format 0 this would correspond to a trigger number of 16777216) is counted as user_k data, which is obviously not the case.
A possible solution is to check for TLU data
first and then for User_k data
. This is also related to additional TDC words
. There are cases where also TDC words
were misinterpreted as User_k data
(in case that User_k data
is checked first).
Again, the solution for this is to check first for TLU data
, then for TDC words
and then for User_k data
(according to the header ids).
The problem was never spotted in data, since this bug occurs only for trigger numbers larger than 16777216. In testbeam we took max. 10 Mio. triggers.
I would fix the bug in my tdc branch if this is okay?