Skip to content

Add info in printout + more options in tsadump binary, Bugfix and Improve TS and MS Printout formaters

For details see the commit messages. The formaters were improved to be more efficient and safe against broken runs, also fixing a few bugs left and right in the process.
I will set it directly to auto-merge as it passes the CI and does not impact code outside of the binary introduced yesterday in !1979 (merged)

The two new options are the following:

  • -s <SysId in hex>, e.g. 0x90 for BMon or 0x30 for RICH, see the flesnet github
  • -m <Nb MS to dump per component in each TS>

Potentially of interest to @d.emschermann

Example with run 3105 of last spring and a selection of 2 TS, BMon and 2 MS per Comp per TS:

~/cbmsoft/cbmroot/build$ ./bin/tsadump -f ~/cbmsoft/data_ci/3105_first20Ts.tsa -n 2 -s 0x90 -m 2
[INFO] Calling string constructor with 
[INFO] /home/ploizeau_localadmin/cbmsoft/data_ci/3105_first20Ts.tsa
[INFO] Selected SysID: 90
[INFO]  Description of the microslice header format:
==> hdr_id = Header format identifier (0xDD)                             
|  ==> hdr_ver = Header format version (0x01)                            
|  |   ==> eq_id = Equipment identifier                                  
|  |   |    ==> flags = Status and error flags                           
|  |   |    |   ==> sys_id = Subsystem identifier                        
|  |   |    |   |  ==> sys_ver = Subsystem format/version                
|  |   |    |   |  |      ==> idx = Microslice index / start time        
|  |   |    |   |  |      |                                              
hi hv eqid flag si sv idx/start        crc      size     offset          
dd 01 3001 0000 30 03 180c1f234b1b6000 00000000 00000008 0000000000000080
                                        |        |         |             
        crc = CRC-32C of data content <==        |         |             
              (Castagnoli polynomial)            |         |             
                   size = Content size (bytes) <==         |             
                 offset = Offset in event buffer (bytes) <==             

[INFO] =====================================
Timeslice      0 with  44 components  x    100 core microslices (+  1 overlap) =      4444
	microslice size min/avg/max:     16 /   3960 /  55032 bytes
Component  19, Subsystem BMON
Core Microslices for component  19 (BMON)
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf0 0000 90 00 17cec7beb2aea000 00000000 00000198 0000000000000000
Microslice buffer content:
0x2fdde801 0x0000ff00 0x2fdde901 0x0000ff00  : 0002
[...]
0x2fde1801 0x0000ff00 0x2fde1901 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf0 0000 90 00 17cec7beb2c22800 00000000 00000198 0000000000000200
Microslice buffer content:
0x2fde1a01 0x0000ff00 0x2fde1b01 0x0000ff00  : 0002
[...]
0x2fde4a01 0x0000ff00 0x2fde4b01 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++
[...]
++++++++++++++++++++++++++++++++++++++++++++++
Component  23, Subsystem BMON
Core Microslices for component  23 (BMON)
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf4 0000 90 00 17cec7beb2aea000 00000000 00000198 0000000000000000
Microslice buffer content:
0x2fdde801 0x0000ff00 0x2fdde901 0x0000ff00  : 0002
[...]
0x2fde1801 0x0000ff00 0x2fde1901 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf4 0000 90 00 17cec7beb2c22800 00000000 00000198 0000000000000200
Microslice buffer content:
0x2fde1a01 0x0000ff00 0x2fde1b01 0x0000ff00  : 0002
[...]
0x2fde4a01 0x0000ff00 0x2fde4b01 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++
**********************************************

[INFO] =====================================
Timeslice      1 with  44 components  x    100 core microslices (+  1 overlap) =      4444
	microslice size min/avg/max:     16 /   3978 /  55168 bytes
Component  19, Subsystem BMON
Core Microslices for component  19 (BMON)
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf0 0000 90 00 17cec7beba4fc000 00000000 00000198 000000000000c800
Microslice buffer content:
0x2ff17001 0x0000ff00 0x2ff17101 0x0000ff00  : 0002
[...]
0x2ff1a001 0x0000ff00 0x2ff1a101 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf0 0000 90 00 17cec7beba634800 00000000 00000198 000000000000ca00
Microslice buffer content:
0x2ff1a201 0x0000ff00 0x2ff1a301 0x0000ff00  : 0002
[...]
0x2ff1d201 0x0000ff00 0x2ff1d301 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++
[...]
++++++++++++++++++++++++++++++++++++++++++++++
Component  23, Subsystem BMON
Core Microslices for component  23 (BMON)
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf4 0000 90 00 17cec7beba4fc000 00000000 00000198 000000000000c800
Microslice buffer content:
0x2ff17001 0x0000ff00 0x2ff17101 0x0000ff00  : 0002
[...]
0x2ff1a001 0x0000ff00 0x2ff1a101 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
hi hv eqid flag si sv idx/start        crc      size     offset
dd 01 abf4 0000 90 00 17cec7beba634800 00000000 00000198 000000000000ca00
Microslice buffer content:
0x2ff1a201 0x0000ff00 0x2ff1a301 0x0000ff00  : 0002
[...]
0x2ff1d201 0x0000ff00 0x2ff1d301 0x0000ff00  : 0098
0xbeeeeeef 0x0000dead 
----------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++
**********************************************

[INFO] Requested number of TS reached; stopping there. Dumped 2 TS

Merge request reports