DUNE-DAQ / fdreadoutlibs

fdreadoutlibs
0 stars 3 forks source link

TPStreamWriter only seeing TPs from one SourceID for FW TPs #72

Closed wesketchum closed 1 year ago

wesketchum commented 1 year ago

From @bieryAtFnal in some followup on integration testing:

From looking at tpstream* files on srv-004:/data1/test, a question:

Is it expected that all of the firmware TPs arrive at the TPStreamWriter with the same SourceID? This is different from what is seen with software TPs. For example, here's an example of the Fragments in the tpstream files from runs 17981 (fw tp) and 17984 (swtp) (edited)

(dbt-pyvenv) [np04daq@np04-srv-004 test]$ hdf5_dump.py -n 1 -p fragment -f tpstream_run017981_0000_tpwriter_tpswriter_20221117T151719.hdf5 | grep TimeSlice
Path                          : TimeSlice000001/RawData/Trigger_0x00000000_Trigger_Primitive
(dbt-pyvenv) [np04daq@np04-srv-004 test]$ hdf5_dump.py -n 1 -p fragment -f tpstream_run017984_0000_tpwriter_tpswriter_20221117T154751.hdf5 | grep TimeSlice
Path                          : TimeSlice000001/RawData/Trigger_0x00000011_Trigger_Primitive
Path                          : TimeSlice000001/RawData/Trigger_0x00000012_Trigger_Primitive
Path                          : TimeSlice000001/RawData/Trigger_0x00000013_Trigger_Primitive
Path                          : TimeSlice000001/RawData/Trigger_0x00000014_Trigger_Primitive
Path                          : TimeSlice000001/RawData/Trigger_0x00000016_Trigger_Primitive
Path                          : TimeSlice000001/RawData/Trigger_0x00000017_Trigger_Primitive

In the TriggerRecord data for those runs, it seems that there are several TP SourceIDs...

(dbt-pyvenv) [np04daq@np04-srv-001 data2]$ hdf5_dump.py -n 1 -p fragment -f np04_hd_run017981_0000_dataflow0_datawriter_0_20221117T151720.hdf5.copied | grep Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000000_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000001_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000002_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000003_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000004_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000005_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000006_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000007_Trigger_Primitive
(dbt-pyvenv) [np04daq@np04-srv-001 data2]$ 
(dbt-pyvenv) [np04daq@np04-srv-001 data2]$ 
(dbt-pyvenv) [np04daq@np04-srv-001 data2]$ 
(dbt-pyvenv) [np04daq@np04-srv-001 data2]$ hdf5_dump.py -n 1 -p fragment -f np04_hd_run017984_0000_dataflow0_datawriter_0_20221117T154751.hdf5.copied | grep Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000000_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000001_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000002_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000003_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000004_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000005_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000006_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000007_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000008_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x00000009_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x0000000a_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x0000000b_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x0000000c_Trigger_Primitive
Path                          : TriggerRecord00001.0000/RawData/Trigger_0x0000000d_Trigger_Primitive

It is not expected ... it could be that all of the FW TPs are being packaged in the same fragment and things are getting concatenated ...

ShyamB97 commented 1 year ago

@wesketchum @bieryAtFnal : https://github.com/DUNE-DAQ/daqconf/pull/267 fixes this issue

roland-sipos commented 1 year ago

Closed by #267 in daqconf.