(dbt) [biery@daq sourcecode]$ check_for_changes_wR2_tag Usage: check_for_changes_wR2_tag [comparison_branch] Where 'comparison_branch' defaults to 'develop'. (dbt) [biery@daq sourcecode]$ check_for_changes_wR2_tag dunedaq-v4.4.0 production/v4 -------------------- Wed Oct 2 08:02:01 PM CDT 2024 Examining the following release area: Release type: fddaq Release name: fddaq-v4.4.8-a9-1 Base release name: coredaq-v4.5.8-a9-1 Release dir: /cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-v4.4.8-a9-1 -------------------- appfwk dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- cmdlib dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- daq-cmake dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/cmake/DAQ.cmake b/cmake/DAQ.cmake diff --git a/config/templates/confgen.jsonnet b/config/templates/confgen.jsonnet diff --git a/config/templates/package_gen b/config/templates/package_gen diff --git a/docs/README.md b/docs/README.md diff --git a/scripts/create_dunedaq_package b/scripts/create_dunedaq_package -------------------- daqconf dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/config/daqconf_full_config.json b/config/daqconf_full_config.json diff --git a/python/daqconf/apps/dataflow_gen.py b/python/daqconf/apps/dataflow_gen.py diff --git a/python/daqconf/apps/fake_hsi_gen.py b/python/daqconf/apps/fake_hsi_gen.py diff --git a/python/daqconf/apps/hsi_gen.py b/python/daqconf/apps/hsi_gen.py diff --git a/python/daqconf/apps/readout_gen.py b/python/daqconf/apps/readout_gen.py diff --git a/python/daqconf/apps/tpwriter_gen.py b/python/daqconf/apps/tpwriter_gen.py diff --git a/python/daqconf/apps/trigger_gen.py b/python/daqconf/apps/trigger_gen.py diff --git a/python/daqconf/core/app.py b/python/daqconf/core/app.py diff --git a/python/daqconf/core/conf_utils.py b/python/daqconf/core/conf_utils.py diff --git a/python/daqconf/core/fragment_producers.py b/python/daqconf/core/fragment_producers.py diff --git a/python/daqconf/core/sourceid.py b/python/daqconf/core/sourceid.py diff --git a/python/daqconf/detreadoutmap.py b/python/daqconf/detreadoutmap.py diff --git a/schema/daqconf/bootgen.jsonnet b/schema/daqconf/bootgen.jsonnet diff --git a/schema/daqconf/dataflowgen.jsonnet b/schema/daqconf/dataflowgen.jsonnet diff --git a/schema/daqconf/detectorgen.jsonnet b/schema/daqconf/detectorgen.jsonnet diff --git a/schema/daqconf/detreadoutmap.jsonnet b/schema/daqconf/detreadoutmap.jsonnet diff --git a/schema/daqconf/hsigen.jsonnet b/schema/daqconf/hsigen.jsonnet diff --git a/schema/daqconf/triggergen.jsonnet b/schema/daqconf/triggergen.jsonnet -------------------- daqdataformats dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/daqdataformats/FragmentHeader.hpp b/include/daqdataformats/FragmentHeader.hpp diff --git a/include/daqdataformats/TimeSlice.hpp b/include/daqdataformats/TimeSlice.hpp diff --git a/include/daqdataformats/TriggerRecord.hpp b/include/daqdataformats/TriggerRecord.hpp diff --git a/include/daqdataformats/TriggerRecordHeaderData.hpp b/include/daqdataformats/TriggerRecordHeaderData.hpp -static_assert(sizeof(TriggerRecordHeaderData) == 56, "TriggerRecordHeaderData struct size different than expected!"); +static_assert(sizeof(TriggerRecordHeaderData) == 64, "TriggerRecordHeaderData struct size different than expected!"); diff --git a/include/daqdataformats/Types.hpp b/include/daqdataformats/Types.hpp @@ -38,7 +38,7 @@ using timestamp_diff_t = int64_t; ///< Used to represent differences between tim diff --git a/pybindsrc/fragment.cpp b/pybindsrc/fragment.cpp diff --git a/pybindsrc/time_slice.cpp b/pybindsrc/time_slice.cpp diff --git a/pybindsrc/trigger_record.cpp b/pybindsrc/trigger_record.cpp diff --git a/unittest/TimeSlice_test.cxx b/unittest/TimeSlice_test.cxx diff --git a/unittest/TriggerRecord_test.cxx b/unittest/TriggerRecord_test.cxx -------------------- detchannelmaps dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/cmake/detchannelmapsConfig.cmake.in b/cmake/detchannelmapsConfig.cmake.in -------------------- detdataformats dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/pybindsrc/hsi.cpp b/pybindsrc/hsi.cpp -------------------- dfmessages dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-patch-2.8.2-cpp-ci.yml b/.github/workflows/dunedaq-patch-2.8.2-cpp-ci.yml diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- dfmodules dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/dfmodules/DataStore.hpp b/include/dfmodules/DataStore.hpp diff --git a/integtest/disabled_output_test.py b/integtest/disabled_output_test.py diff --git a/integtest/insufficient_disk_space_test.py b/integtest/insufficient_disk_space_test.py diff --git a/integtest/large_trigger_record_test.py b/integtest/large_trigger_record_test.py diff --git a/integtest/multi_output_file_test.py b/integtest/multi_output_file_test.py diff --git a/plugins/DataFlowOrchestrator.cpp b/plugins/DataFlowOrchestrator.cpp diff --git a/plugins/DataFlowOrchestrator.hpp b/plugins/DataFlowOrchestrator.hpp diff --git a/plugins/DataWriter.cpp b/plugins/DataWriter.cpp diff --git a/plugins/HDF5DataStore.hpp b/plugins/HDF5DataStore.hpp diff --git a/plugins/TPStreamWriter.cpp b/plugins/TPStreamWriter.cpp + int timeslice_number_diff = largest_timeslice_number - timeslice_ptr->get_header().timeslice_number; + double seconds_too_late = m_accumulation_interval_seconds * timeslice_number_diff; diff --git a/plugins/TPStreamWriter.hpp b/plugins/TPStreamWriter.hpp diff --git a/schema/dfmodules/hdf5datastore.jsonnet b/schema/dfmodules/hdf5datastore.jsonnet diff --git a/schema/dfmodules/info/datafloworchestratorinfo.jsonnet b/schema/dfmodules/info/datafloworchestratorinfo.jsonnet + ], doc = "Trigger info generated by the DFO expected to be different for each trigger type") diff --git a/schema/dfmodules/info/tpstreamwriterinfo.jsonnet b/schema/dfmodules/info/tpstreamwriterinfo.jsonnet diff --git a/schema/dfmodules/tpstreamwriter.jsonnet b/schema/dfmodules/tpstreamwriter.jsonnet diff --git a/src/TPBundleHandler.cpp b/src/TPBundleHandler.cpp + int64_t diff = static_cast(tsidx_from_begin_time) - static_cast(m_slice_index_offset); + TLOG() << "Updating the slice numbers of existing accumulators by " << (1-diff); + local_accum.update_slice_number(1 - diff); + m_slice_index_offset -= (1 - diff); + ers::warning(TardyTPSetReceived(ERS_HERE, tpset.origin.id, tpset.start_time, diff)); diff --git a/src/dfmodules/TPBundleHandler.hpp b/src/dfmodules/TPBundleHandler.hpp -------------------- ers dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/src/Schema.cpp b/src/Schema.cpp -------------------- erskafka dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- hdf5libs dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/hdf5libs/HDF5FileLayout.hpp b/include/hdf5libs/HDF5FileLayout.hpp diff --git a/include/hdf5libs/HDF5RawDataFile.hpp b/include/hdf5libs/HDF5RawDataFile.hpp diff --git a/schema/hdf5libs/hdf5filelayout.jsonnet b/schema/hdf5libs/hdf5filelayout.jsonnet diff --git a/scripts/hdf5_dump.py b/scripts/hdf5_dump.py - print("N_diff: N_frag_act - N_frag_exp") + print("N_diff: N_frag_act - N_frag_exp") - "i", "s", "N_frag_exp", "N_frag_act", "N_diff")) + "i", "s", "N_frag_exp", "N_frag_act", "N_diff", "N_frag_empty")) diff --git a/src/HDF5FileLayout.cpp b/src/HDF5FileLayout.cpp diff --git a/src/HDF5RawDataFile.cpp b/src/HDF5RawDataFile.cpp diff --git a/src/HDF5SourceIDHandler.cpp b/src/HDF5SourceIDHandler.cpp diff --git a/test/apps/HDF5LIBS_TestDumpRecord.cpp b/test/apps/HDF5LIBS_TestDumpRecord.cpp + << "used a different version" << std::endl << " of the TriggerRecordHeader " -------------------- hsilibs dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/integtest/iceberg_real_hsi_test.py b/integtest/iceberg_real_hsi_test.py diff --git a/src/HSIFrameProcessor.cpp b/src/HSIFrameProcessor.cpp diff --git a/src/HSIFrameProcessor.hpp b/src/HSIFrameProcessor.hpp -------------------- iomanager dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- ipm dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- kafkaopmon dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- listrev dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/scripts/scale_listrev_app b/scripts/scale_listrev_app -------------------- logging dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/docs/README.md b/docs/README.md diff --git a/include/logging/internal/macro.hpp b/include/logging/internal/macro.hpp diff --git a/test/apps/basic_functionality_example.cxx b/test/apps/basic_functionality_example.cxx diff --git a/test/apps/log_progress_update.cxx b/test/apps/log_progress_update.cxx diff --git a/test/apps/multithreaded_warning_log.cxx b/test/apps/multithreaded_warning_log.cxx -------------------- opmonlib dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-develop-cpp-ci.yml diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- rcif dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-develop-cpp-ci.yml diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/schema/rcif/cmd.jsonnet b/schema/rcif/cmd.jsonnet -------------------- readoutlibs dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/readoutlibs/DataMoveCallbackRegistry.hpp b/include/readoutlibs/DataMoveCallbackRegistry.hpp diff --git a/include/readoutlibs/ReadoutIssues.hpp b/include/readoutlibs/ReadoutIssues.hpp - ", request_handler cutoff timestamp = " << ts2 << ", difference = " << tick_diff << - " ticks, " << msec_diff << " msec.", - ((daqdataformats::run_number_t)run)((daqdataformats::timestamp_t)ts1)((daqdataformats::timestamp_t)ts2)((int64_t)tick_diff)((double)msec_diff)) diff --git a/include/readoutlibs/detail/DataMoveCallbackRegistry.hxx b/include/readoutlibs/detail/DataMoveCallbackRegistry.hxx diff --git a/include/readoutlibs/models/DefaultRequestHandlerModel.hpp b/include/readoutlibs/models/DefaultRequestHandlerModel.hpp diff --git a/include/readoutlibs/models/ReadoutModel.hpp b/include/readoutlibs/models/ReadoutModel.hpp diff --git a/include/readoutlibs/models/detail/IterableQueueModel.hxx b/include/readoutlibs/models/detail/IterableQueueModel.hxx diff --git a/include/readoutlibs/models/detail/ReadoutModel.hxx b/include/readoutlibs/models/detail/ReadoutModel.hxx - int64_t diff1 = payload.get_first_timestamp() - m_request_handler_impl->get_cutoff_timestamp(); - if (diff1 <= 0) { - m_request_handler_impl->get_cutoff_timestamp(), diff1, - (static_cast(diff1)/62500.0))); + int64_t diff1 = m_request_handler_impl->get_cutoff_timestamp() - payload.get_first_timestamp(); + if (diff1 >= 0) { + m_request_handler_impl->report_tardy_packet(payload, diff1); + int64_t diff1 = m_request_handler_impl->get_cutoff_timestamp() - payload.get_first_timestamp(); + if (diff1 >= 0) { + m_request_handler_impl->report_tardy_packet(payload, diff1); diff --git a/schema/readoutlibs/readoutconfig.jsonnet b/schema/readoutlibs/readoutconfig.jsonnet diff --git a/schema/readoutlibs/readoutinfo.jsonnet b/schema/readoutlibs/readoutinfo.jsonnet diff --git a/scripts/readout-affinity.py b/scripts/readout-affinity.py diff --git a/src/DataMoveCallbackRegistry.cpp b/src/DataMoveCallbackRegistry.cpp -------------------- readoutmodules dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- restcmd dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- serialization dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- timing dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_echo_mon.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_echo_mon.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_ep_mon.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_ep_mon.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_global.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_global.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_master.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_master.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_scmd_gen.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_scmd_gen.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_sim_io.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_sim_io.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/pdts_ts_source.xml b/config/etc/addrtab/v7xx/ouroboros_sim/pdts_ts_source.xml diff --git a/config/etc/addrtab/v7xx/ouroboros_sim/top_sim.xml b/config/etc/addrtab/v7xx/ouroboros_sim/top_sim.xml diff --git a/include/timing/MasterNode.hpp b/include/timing/MasterNode.hpp diff --git a/include/timing/toolbox.hpp b/include/timing/toolbox.hpp diff --git a/src/MasterNode.cpp b/src/MasterNode.cpp diff --git a/src/PDIMasterNode.cpp b/src/PDIMasterNode.cpp diff --git a/src/toolbox.cpp b/src/toolbox.cpp -------------------- timinglibs dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/timinglibs/TimingIssues.hpp b/include/timinglibs/TimingIssues.hpp diff --git a/plugins/TimingHardwareManagerPDII.cpp b/plugins/TimingHardwareManagerPDII.cpp diff --git a/python/timinglibs/timing_rc_cmd_gen.py b/python/timinglibs/timing_rc_cmd_gen.py diff --git a/schema/timinglibs/timingcmd.jsonnet b/schema/timinglibs/timingcmd.jsonnet diff --git a/schema/timinglibs/timingmastercontrollerinfo.jsonnet b/schema/timinglibs/timingmastercontrollerinfo.jsonnet diff --git a/src/TimingHardwareManager.cpp b/src/TimingHardwareManager.cpp diff --git a/src/TimingHardwareManager.hpp b/src/TimingHardwareManager.hpp diff --git a/src/TimingMasterController.cpp b/src/TimingMasterController.cpp diff --git a/src/TimingMasterController.hpp b/src/TimingMasterController.hpp -------------------- trgdataformats dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/trgdataformats/TriggerActivityData.hpp b/include/trgdataformats/TriggerActivityData.hpp diff --git a/include/trgdataformats/TriggerCandidateData.hpp b/include/trgdataformats/TriggerCandidateData.hpp diff --git a/include/trgdataformats/TriggerPrimitive.hpp b/include/trgdataformats/TriggerPrimitive.hpp diff --git a/pybindsrc/trigger_activity.cpp b/pybindsrc/trigger_activity.cpp diff --git a/pybindsrc/trigger_candidate.cpp b/pybindsrc/trigger_candidate.cpp diff --git a/pybindsrc/trigger_primitive.cpp b/pybindsrc/trigger_primitive.cpp -------------------- trgtools dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/apps/process_tpstream.cxx b/apps/process_tpstream.cxx + const uint64_t ta_diff = std::chrono::nanoseconds(ta_end - ta_start).count(); + average_ta_time += ta_diff; + fmt::print("\tTA Time Process: {} ns.\n", ta_diff); + const uint64_t tc_diff = std::chrono::nanoseconds(tc_end - tc_start).count(); + average_tc_time += tc_diff; + fmt::print("\tTC Time Process: {} ns.\n", tc_diff); diff --git a/apps/ta_dump.py b/apps/ta_dump.py - direct_diff = [] - max_diff = [] - direct_diff += list(np.max(tps['time_start']) - ta['time_start']) - max_diff += list(np.max(tps['time_start'] + tps['time_over_threshold']) - ta['time_start']) - direct_diff = np.array(direct_diff) - max_diff = np.array(max_diff) - plt.boxplot((direct_diff, max_diff), notch=True, vert=False, sym='+', labels=["Direct Difference", "Maximum Difference"]) - time_diff = max_time - min_time - plt.xlim((min_time - 0.1*time_diff, max_time + 0.1*time_diff)) -def time_diff_hist(start_times, end_times): - Plot a histogram of the time differences. - start_time_diff = (np.concatenate((start_times[1:], [0])) - np.array(start_times))[:-1] - start_time_diff = start_time_diff.astype(np.uint64) * TICK_TO_SEC_SCALE - plt.hist(start_time_diff, bins=40, color='#63ACBE', label="Start Time Difference", alpha=0.2) - time_diff = max_time - min_time - plt.xlim((min_time - 0.1*time_diff, max_time + 0.1*time_diff)) - time_diff_hist(np.array(diagnostics["time_start"]).flatten(), np.array(diagnostics["time_end"]).flatten()) diff --git a/apps/tp_dump.py b/apps/tp_dump.py - Generally, something notable. Likely difficult to read as a histogram. - # Each fragment can be different sizes, so must iterate over all fragments diff --git a/cmake/trgtoolsConfig.cmake.in b/cmake/trgtoolsConfig.cmake.in diff --git a/docs/README.md b/docs/README.md diff --git a/docs/convert-tplatencies.md b/docs/convert-tplatencies.md diff --git a/docs/process-tpstream.md b/docs/process-tpstream.md diff --git a/docs/py-trgtools.md b/docs/py-trgtools.md +Data accessing follows a very similar procedure between the different readers. The TAReader and TCReader also contain the secondary information about the TPs and TAs that formed the TAs and TCs, respectively. For the `np.ndarray` objects, one can also specify the member data they want to access. For example, diff --git a/docs/ta-dump.md b/docs/ta-dump.md diff --git a/docs/tc-dump.md b/docs/tc-dump.md +`tc_dump.py` is a plotting script that shows TC diagnostic information. This includes histograms of all the available data members and ADC integral (sum of all contained TA ADC integrals) and a few light analysis plots: time difference histogram (various start and end time definitions), ADC integral vs number of TAs scatter plot, time spans per TC plot (including a calculation for the number of ticks per TC). These plots are written to a single PDF with multiple pages. diff --git a/docs/tp-dump.md b/docs/tp-dump.md diff --git a/include/trgtools/EmulateTAUnit.hpp b/include/trgtools/EmulateTAUnit.hpp diff --git a/include/trgtools/EmulateTCUnit.hpp b/include/trgtools/EmulateTCUnit.hpp diff --git a/include/trgtools/EmulationUnit.hpp b/include/trgtools/EmulationUnit.hpp diff --git a/include/trgtools/detail/EmulationUnit.hxx b/include/trgtools/detail/EmulationUnit.hxx + std::vector time_diffs; + time_diffs.reserve(inputs.size()); + uint64_t time_diff = emulate(input, output_buffer); + time_diffs.push_back(time_diff); + for (size_t i = 0; i < time_diffs.size(); i++) { + << time_diffs[i] << "," << is_last_tp_in_ta[i] << "\n"; + timings << time_diffs[i] << "\n"; + uint64_t time_diff = std::chrono::nanoseconds(time_end - time_start).count(); + return time_diff; diff --git a/python/setup.cfg b/python/setup.cfg diff --git a/python/trgtools/HDF5Reader.py b/python/trgtools/HDF5Reader.py diff --git a/python/trgtools/TAData.py b/python/trgtools/TAData.py diff --git a/python/trgtools/TAReader.py b/python/trgtools/TAReader.py diff --git a/python/trgtools/TCReader.py b/python/trgtools/TCReader.py diff --git a/python/trgtools/TPData.py b/python/trgtools/TPData.py diff --git a/python/trgtools/TPReader.py b/python/trgtools/TPReader.py diff --git a/python/trgtools/__init__.py b/python/trgtools/__init__.py diff --git a/python/trgtools/plot/PDFPlotter.py b/python/trgtools/plot/PDFPlotter.py diff --git a/python/trgtools/plot/__init__.py b/python/trgtools/plot/__init__.py diff --git a/requirements.txt b/requirements.txt diff --git a/scripts/convert_tplatencies.py b/scripts/convert_tplatencies.py diff --git a/scripts/ta_dump.py b/scripts/ta_dump.py + time_diff = max_time - min_time + if time_diff != 0: + plt.xlim((min_time - 0.1*time_diff, max_time + 0.1*time_diff)) + Plot the different time delta histograms to a PdfPages. + direct_diff = ta_data['time_end'] - ta_data['time_start'] + last_tp_start_diff = [] + last_tp_peak_diff = [] + last_tp_start_diff.append(np.max(tp['time_start']) - ta_data[idx]['time_start']) + last_tp_peak_diff.append(np.max(tp['time_peak']) - ta_data[idx]['time_start']) + last_tp_start_diff = np.array(last_tp_start_diff) + last_tp_peak_diff = np.array(last_tp_peak_diff) + direct_diff = direct_diff * TICK_TO_SEC_SCALE + last_tp_start_diff = last_tp_start_diff * TICK_TO_SEC_SCALE + last_tp_peak_diff = last_tp_peak_diff * TICK_TO_SEC_SCALE + (direct_diff, last_tp_start_diff, last_tp_peak_diff), diff --git a/scripts/tc_dump.py b/scripts/tc_dump.py + Plot the different time delta histograms to a PdfPages. + direct_diff = tc_data['time_end'] - tc_data['time_start'] + last_ta_start_diff = [] + last_ta_end_diff = [] + pure_ta_diff = [] + last_ta_start_diff.append(np.max(ta['time_start']) - tc_data[idx]['time_start']) + last_ta_end_diff.append(np.max(ta['time_end']) - tc_data[idx]['time_start']) + pure_ta_diff.append(np.max(ta['time_end']) - np.min(ta['time_start'])) + last_ta_start_diff = np.array(last_ta_start_diff) + last_ta_end_diff = np.array(last_ta_end_diff) + pure_ta_diff = np.array(pure_ta_diff) + direct_diff = direct_diff * TICK_TO_SEC_SCALE + last_ta_start_diff = last_ta_start_diff * TICK_TO_SEC_SCALE + last_ta_end_diff = last_ta_end_diff * TICK_TO_SEC_SCALE + pure_ta_diff = pure_ta_diff * TICK_TO_SEC_SCALE + (direct_diff, last_ta_start_diff, last_ta_end_diff, pure_ta_diff), diff --git a/scripts/tp_dump.py b/scripts/tp_dump.py -------------------- trigger dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/README.md b/README.md * **Tee**: DUNE DAQ has no inbuilt functionality for making copies of objects, so this module is a workaround for that. Each copy can be sent to a different module onward. * Next we need to send the *TPSets* downstream to two different places. Firstly, to the **activity makers** (sometimes called **algorithms**) that will make trigger activities (*TAs*), and secondly to the **buffer** that holds *TPs* to be sent as a *fragment* in response to a *data request* from the *data flow* subsystem. Unfortunately the DAQ framework doesn’t provide a facility to do this copy, so we have to do it ourselves via the **TPSetTee module** (which is a template specialization of the **Tee** class). -* Next in the chain is the **TASetTee** - which is analogous to **TPSetTee** - with the only difference being that it works with *TAs* instead of *TPSets*. -* The **TAZipper** module zips data (think merging) across all sub-detectors. It takes multiple input streams of *TAs* - each of which is time-ordered - buffers them, and outputs them in time-order. This is a non-trivial operation because the different streams might not be exactly synchronized due to network or processing delays upstream. The **zipper** has a configurable timeout after which it will send *TAs* downstream even if it hasn’t seen a *TA* from every stream. After this, it’s possible for the zipper to move on and continue emitting *TAs* with later times. If a new input arrives with timestamp earlier than the latest sent time, it’s impossible to send that input while maintaining time-ordering of the output. The input is deemed “tardy” and it’s dropped with a warning message. -* The **TASetTee** and **Trigger Candidate Maker** are analogous to the **TPSetTee** and **TriggerActivityMaker** respectively, just with *TASets* as inputs. Thanks to the **TAZipper** upstream, the **Trigger Candidate Maker** is able to operate with activities from different sub-detectors (think APAs), continuing the 'activity hierarchy'. +* Next in the chain is the **TATee** - which is analogous to **TPSetTee** - with the only difference being that it works with *TAs* instead of *TPSets*. +* The **TATee** and **Trigger Candidate Maker** are analogous to the **TPSetTee** and **TriggerActivityMaker** respectively, just with *TAs* as inputs. **Trigger Candidate Maker** is able to operate with activities from different sub-detectors (think APAs), continuing the 'activity hierarchy'. diff --git a/include/trigger/Issues.hpp b/include/trigger/Issues.hpp diff --git a/include/trigger/Logging.hpp b/include/trigger/Logging.hpp diff --git a/include/trigger/Tee.hxx b/include/trigger/Tee.hxx diff --git a/plugins/CIBTriggerCandidateMaker.cpp b/plugins/CIBTriggerCandidateMaker.cpp diff --git a/plugins/CIBTriggerCandidateMaker.hpp b/plugins/CIBTriggerCandidateMaker.hpp diff --git a/plugins/CTBTriggerCandidateMaker.cpp b/plugins/CTBTriggerCandidateMaker.cpp diff --git a/plugins/CTBTriggerCandidateMaker.hpp b/plugins/CTBTriggerCandidateMaker.hpp diff --git a/plugins/CustomTriggerCandidateMaker.cpp b/plugins/CustomTriggerCandidateMaker.cpp diff --git a/plugins/FakeTPCreatorHeartbeatMaker.cpp b/plugins/FakeTPCreatorHeartbeatMaker.cpp diff --git a/plugins/ModuleLevelTrigger.cpp b/plugins/ModuleLevelTrigger.cpp diff --git a/plugins/ModuleLevelTrigger.hpp b/plugins/ModuleLevelTrigger.hpp diff --git a/plugins/RandomTriggerCandidateMaker.cpp b/plugins/RandomTriggerCandidateMaker.cpp diff --git a/plugins/TABuffer.cpp b/plugins/TABuffer.cpp diff --git a/plugins/TABuffer.hpp b/plugins/TABuffer.hpp - static const constexpr uint64_t expected_tick_difference = 16; // NOLINT(build/unsigned) + static const constexpr uint64_t expected_tick_difference = 1; // NOLINT(build/unsigned) diff --git a/plugins/TATee.cpp b/plugins/TATee.cpp diff --git a/plugins/TCBuffer.cpp b/plugins/TCBuffer.cpp diff --git a/plugins/TCBuffer.hpp b/plugins/TCBuffer.hpp - static const constexpr uint64_t expected_tick_difference = 16; // NOLINT(build/unsigned) + static const constexpr uint64_t expected_tick_difference = 1; // NOLINT(build/unsigned) diff --git a/plugins/TPBuffer.cpp b/plugins/TPBuffer.cpp diff --git a/plugins/TPBuffer.hpp b/plugins/TPBuffer.hpp - static const constexpr uint64_t expected_tick_difference = 16; // NOLINT(build/unsigned) diff --git a/plugins/TPChannelFilter.cpp b/plugins/TPChannelFilter.cpp diff --git a/plugins/TPChannelFilter.hpp b/plugins/TPChannelFilter.hpp diff --git a/plugins/TPSetBufferCreator.cpp b/plugins/TPSetBufferCreator.cpp diff --git a/plugins/TimingTriggerCandidateMaker.cpp b/plugins/TimingTriggerCandidateMaker.cpp diff --git a/plugins/TimingTriggerCandidateMaker.hpp b/plugins/TimingTriggerCandidateMaker.hpp diff --git a/plugins/TriggerActivityMaker.cpp b/plugins/TriggerActivityMaker.cpp diff --git a/plugins/TriggerActivityMaker.hpp b/plugins/TriggerActivityMaker.hpp diff --git a/plugins/TriggerCandidateMaker.hpp b/plugins/TriggerCandidateMaker.hpp diff --git a/plugins/TriggerPrimitiveMaker.cpp b/plugins/TriggerPrimitiveMaker.cpp diff --git a/plugins/TriggerZipper.hpp b/plugins/TriggerZipper.hpp diff --git a/plugins/zipper.hpp b/plugins/zipper.hpp diff --git a/python/trigger/replay_tp_to_chain/__main__.py b/python/trigger/replay_tp_to_chain/__main__.py diff --git a/python/trigger/replay_tps/README.md b/python/trigger/replay_tps/README.md diff --git a/python/trigger/replay_tps/__main__.py b/python/trigger/replay_tps/__main__.py diff --git a/python/trigger/replay_tps/doc/1_replay.png b/python/trigger/replay_tps/doc/1_replay.png Binary files /dev/null and b/python/trigger/replay_tps/doc/1_replay.png differ diff --git a/python/trigger/replay_tps/doc/1_system.png b/python/trigger/replay_tps/doc/1_system.png Binary files /dev/null and b/python/trigger/replay_tps/doc/1_system.png differ diff --git a/python/trigger/replay_tps/doc/1_system_no_frag_prod_connection.png b/python/trigger/replay_tps/doc/1_system_no_frag_prod_connection.png Binary files /dev/null and b/python/trigger/replay_tps/doc/1_system_no_frag_prod_connection.png differ diff --git a/python/trigger/replay_tps/doc/1_trigger.png b/python/trigger/replay_tps/doc/1_trigger.png Binary files /dev/null and b/python/trigger/replay_tps/doc/1_trigger.png differ diff --git a/python/trigger/replay_tps/doc/replay.png b/python/trigger/replay_tps/doc/replay.png Binary files /dev/null and b/python/trigger/replay_tps/doc/replay.png differ diff --git a/python/trigger/replay_tps/doc/system.png b/python/trigger/replay_tps/doc/system.png Binary files /dev/null and b/python/trigger/replay_tps/doc/system.png differ diff --git a/python/trigger/replay_tps/doc/system_no_frag_prod_connection.png b/python/trigger/replay_tps/doc/system_no_frag_prod_connection.png Binary files /dev/null and b/python/trigger/replay_tps/doc/system_no_frag_prod_connection.png differ diff --git a/python/trigger/replay_tps/doc/trigger.png b/python/trigger/replay_tps/doc/trigger.png Binary files /dev/null and b/python/trigger/replay_tps/doc/trigger.png differ diff --git a/python/trigger/replay_tps/replay_tp_app.py b/python/trigger/replay_tps/replay_tp_app.py diff --git a/python/trigger/test_channel_filter/test_channel_filter.py b/python/trigger/test_channel_filter/test_channel_filter.py diff --git a/python/trigger/test_channel_filter/toplevel.py b/python/trigger/test_channel_filter/toplevel.py diff --git a/schema/trigger/cibtriggercandidatemaker.jsonnet b/schema/trigger/cibtriggercandidatemaker.jsonnet diff --git a/schema/trigger/cibtriggercandidatemakerinfo.jsonnet b/schema/trigger/cibtriggercandidatemakerinfo.jsonnet diff --git a/schema/trigger/ctbtriggercandidatemaker.jsonnet b/schema/trigger/ctbtriggercandidatemaker.jsonnet diff --git a/schema/trigger/ctbtriggercandidatemakerinfo.jsonnet b/schema/trigger/ctbtriggercandidatemakerinfo.jsonnet diff --git a/schema/trigger/moduleleveltrigger.jsonnet b/schema/trigger/moduleleveltrigger.jsonnet diff --git a/schema/trigger/moduleleveltriggerinfo.jsonnet b/schema/trigger/moduleleveltriggerinfo.jsonnet diff --git a/schema/trigger/timingtriggercandidatemaker.jsonnet b/schema/trigger/timingtriggercandidatemaker.jsonnet ], doc="Configuration of the different readout time maps"), diff --git a/schema/trigger/tpchannelfilter.jsonnet b/schema/trigger/tpchannelfilter.jsonnet diff --git a/schema/trigger/tpchannelfilterinfo.jsonnet b/schema/trigger/tpchannelfilterinfo.jsonnet diff --git a/schema/trigger/triggeractivitymaker.jsonnet b/schema/trigger/triggeractivitymaker.jsonnet diff --git a/schema/trigger/triggercandidatemaker.jsonnet b/schema/trigger/triggercandidatemaker.jsonnet diff --git a/schema/trigger/triggergenericmakerinfo.jsonnet b/schema/trigger/triggergenericmakerinfo.jsonnet diff --git a/schema/trigger/triggerzipperinfo.jsonnet b/schema/trigger/triggerzipperinfo.jsonnet diff --git a/schema/trigger/txbufferinfo.jsonnet b/schema/trigger/txbufferinfo.jsonnet diff --git a/src/LivetimeCounter.cpp b/src/LivetimeCounter.cpp diff --git a/src/TokenManager.cpp b/src/TokenManager.cpp diff --git a/src/trigger/TimeSliceOutputBuffer.hpp b/src/trigger/TimeSliceOutputBuffer.hpp diff --git a/src/trigger/TriggerGenericMaker.hpp b/src/trigger/TriggerGenericMaker.hpp diff --git a/test/apps/set_serialization_speed.cxx b/test/apps/set_serialization_speed.cxx diff --git a/test/plugins/TASetSink.cpp b/test/plugins/TASetSink.cpp diff --git a/test/plugins/TPSetSink.cpp b/test/plugins/TPSetSink.cpp diff --git a/unittest/AlgorithmPlugins_test.cxx b/unittest/AlgorithmPlugins_test.cxx diff --git a/unittest/TriggerObjectOverlay_test.cxx b/unittest/TriggerObjectOverlay_test.cxx -------------------- triggeralgs dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/triggeralgs/ADCSimpleWindow/TriggerCandidateMakerADCSimpleWindow.hpp b/include/triggeralgs/ADCSimpleWindow/TriggerCandidateMakerADCSimpleWindow.hpp diff --git a/include/triggeralgs/AbstractFactory.hxx b/include/triggeralgs/AbstractFactory.hxx diff --git a/include/triggeralgs/BundleN/TriggerActivityMakerBundleN.hpp b/include/triggeralgs/BundleN/TriggerActivityMakerBundleN.hpp diff --git a/include/triggeralgs/BundleN/TriggerCandidateMakerBundleN.hpp b/include/triggeralgs/BundleN/TriggerCandidateMakerBundleN.hpp diff --git a/include/triggeralgs/ChannelAdjacency/README.md b/include/triggeralgs/ChannelAdjacency/README.md diff --git a/include/triggeralgs/ChannelAdjacency/TriggerActivityMakerChannelAdjacency.hpp b/include/triggeralgs/ChannelAdjacency/TriggerActivityMakerChannelAdjacency.hpp diff --git a/include/triggeralgs/ChannelAdjacency/TriggerCandidateMakerChannelAdjacency.hpp b/include/triggeralgs/ChannelAdjacency/TriggerCandidateMakerChannelAdjacency.hpp diff --git a/include/triggeralgs/ChannelDistance/TriggerActivityMakerChannelDistance.hpp b/include/triggeralgs/ChannelDistance/TriggerActivityMakerChannelDistance.hpp diff --git a/include/triggeralgs/ChannelDistance/TriggerCandidateMakerChannelDistance.hpp b/include/triggeralgs/ChannelDistance/TriggerCandidateMakerChannelDistance.hpp diff --git a/include/triggeralgs/HorizontalMuon/TriggerActivityMakerHorizontalMuon.hpp b/include/triggeralgs/HorizontalMuon/TriggerActivityMakerHorizontalMuon.hpp diff --git a/include/triggeralgs/Issues.hpp b/include/triggeralgs/Issues.hpp diff --git a/include/triggeralgs/Logging.hpp b/include/triggeralgs/Logging.hpp diff --git a/include/triggeralgs/TriggerActivityMaker.hpp b/include/triggeralgs/TriggerActivityMaker.hpp diff --git a/include/triggeralgs/TriggerCandidateMaker.hpp b/include/triggeralgs/TriggerCandidateMaker.hpp diff --git a/include/triggeralgs/TriggerDecisionMaker.hpp b/include/triggeralgs/TriggerDecisionMaker.hpp diff --git a/include/triggeralgs/TriggerPrimitiveMaker.hpp b/include/triggeralgs/TriggerPrimitiveMaker.hpp diff --git a/include/triggeralgs/dbscan/TriggerActivityMakerDBSCAN.hpp b/include/triggeralgs/dbscan/TriggerActivityMakerDBSCAN.hpp diff --git a/include/triggeralgs/dbscan/TriggerCandidateMakerDBSCAN.hpp b/include/triggeralgs/dbscan/TriggerCandidateMakerDBSCAN.hpp diff --git a/src/TriggerActivityMakerADCSimpleWindow.cpp b/src/TriggerActivityMakerADCSimpleWindow.cpp // If the difference between the current TP's start time and the start of the window diff --git a/src/TriggerActivityMakerBundleN.cpp b/src/TriggerActivityMakerBundleN.cpp diff --git a/src/TriggerActivityMakerChannelAdjacency.cpp b/src/TriggerActivityMakerChannelAdjacency.cpp + // If the difference between the current TP's start time and the start of the window diff --git a/src/TriggerActivityMakerChannelDistance.cpp b/src/TriggerActivityMakerChannelDistance.cpp diff --git a/src/TriggerActivityMakerDBSCAN.cpp b/src/TriggerActivityMakerDBSCAN.cpp diff --git a/src/TriggerActivityMakerHorizontalMuon.cpp b/src/TriggerActivityMakerHorizontalMuon.cpp - m_data_vs_system_time.store(fabs(system_time - data_time - m_initial_offset)); // Store the difference for OpMon*/ diff --git a/src/TriggerActivityMakerMichelElectron.cpp b/src/TriggerActivityMakerMichelElectron.cpp diff --git a/src/TriggerActivityMakerPlaneCoincidence.cpp b/src/TriggerActivityMakerPlaneCoincidence.cpp diff --git a/src/TriggerActivityMakerPrescale.cpp b/src/TriggerActivityMakerPrescale.cpp - m_data_vs_system_time.store(data_time - system_time); // Store the difference for OpMon diff --git a/src/TriggerCandidateMakerADCSimpleWindow.cpp b/src/TriggerCandidateMakerADCSimpleWindow.cpp diff --git a/src/TriggerCandidateMakerBundleN.cpp b/src/TriggerCandidateMakerBundleN.cpp diff --git a/src/TriggerCandidateMakerChannelAdjacency.cpp b/src/TriggerCandidateMakerChannelAdjacency.cpp + // If the difference between the current TA's start time and the start of the window diff --git a/src/TriggerCandidateMakerChannelDistance.cpp b/src/TriggerCandidateMakerChannelDistance.cpp diff --git a/src/TriggerCandidateMakerDBSCAN.cpp b/src/TriggerCandidateMakerDBSCAN.cpp diff --git a/src/TriggerCandidateMakerHorizontalMuon.cpp b/src/TriggerCandidateMakerHorizontalMuon.cpp - // m_data_vs_system_time.store(fabs(system_time - data_time - m_initial_offset)); // Store the difference for OpMon // If the difference between the current TA's start time and the start of the window diff --git a/src/TriggerCandidateMakerMichelElectron.cpp b/src/TriggerCandidateMakerMichelElectron.cpp // If the difference between the current TA's start time and the start of the window diff --git a/src/TriggerCandidateMakerPlaneCoincidence.cpp b/src/TriggerCandidateMakerPlaneCoincidence.cpp // If the difference between the current TA's start time and the start of the window diff --git a/src/TriggerCandidateMakerPrescale.cpp b/src/TriggerCandidateMakerPrescale.cpp - m_data_vs_system_time.store(data_time - system_time); // Store the difference for OpMon diff --git a/test/test_factory.cxx b/test/test_factory.cxx -------------------- utilities dunedaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/utilities/TimestampEstimator.hpp b/include/utilities/TimestampEstimator.hpp diff --git a/include/utilities/detail/TimestampEstimator.hxx b/include/utilities/detail/TimestampEstimator.hxx diff --git a/src/TimestampEstimator.cpp b/src/TimestampEstimator.cpp - int64_t diff = estimate - daq_time; + int64_t diff = estimate.daq_time - daq_time; - << " when current timestamp estimate was " << estimate << ". diff=" << diff; + << " when current timestamp estimate was " << estimate.daq_time << ". diff=" << diff; diff --git a/unittest/TimestampEstimator_test.cxx b/unittest/TimestampEstimator_test.cxx + int64_t steady_diff = (steady_now - steady_time_start); + int64_t te_diff = (te_now-daq_time_start); + int64_t dd = te_diff-(steady_diff*clock_frequency_hz/1'000'000); (dbt) [biery@daq sourcecode]$ (dbt) [biery@daq sourcecode]$ (dbt) [biery@daq sourcecode]$ (dbt) [biery@daq sourcecode]$ (dbt) [biery@daq sourcecode]$ (dbt) [biery@daq sourcecode]$ check_for_changes_wR2_tag fddaq-v4.4.0 production/v4 -------------------- Wed Oct 2 08:02:44 PM CDT 2024 Examining the following release area: Release type: fddaq Release name: fddaq-v4.4.8-a9-1 Base release name: coredaq-v4.5.8-a9-1 Release dir: /cvmfs/dunedaq.opensciencegrid.org/spack/releases/fddaq-v4.4.8-a9-1 -------------------- cibmodules fddaq-v4.4.0 diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/.github/workflows/track_new_issues.yml b/.github/workflows/track_new_issues.yml diff --git a/.github/workflows/track_new_prs.yml b/.github/workflows/track_new_prs.yml diff --git a/.gitignore b/.gitignore diff --git a/.settings/.gitignore b/.settings/.gitignore diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/README.md b/README.md diff --git a/apps/test_receiver.cpp b/apps/test_receiver.cpp diff --git a/plugins/CIBModule.cpp b/plugins/CIBModule.cpp + // check if the port is different from the configured one * The structure is a bit different than in the CTB diff --git a/plugins/CIBModule.hpp b/plugins/CIBModule.hpp diff --git a/python/cibmodules/apps/cib_hsi_gen.py b/python/cibmodules/apps/cib_hsi_gen.py + # to minimise that we'll assign a different port per instance diff --git a/schema/cibmodules/cibmodule.jsonnet b/schema/cibmodules/cibmodule.jsonnet diff --git a/schema/cibmodules/confgen.jsonnet b/schema/cibmodules/confgen.jsonnet diff --git a/scripts/cibconf_gen.py b/scripts/cibconf_gen.py diff --git a/src/CIBModuleIssues.hpp b/src/CIBModuleIssues.hpp diff --git a/src/CIBPacketContent.hpp b/src/CIBPacketContent.hpp - /// Now all structures cast into 16 bytes, but declare different - /// -- Several different structures that can be used to reinterpret the payload depending on diff --git a/src/cib_data_fmt.h b/src/cib_data_fmt.h -------------------- ctbmodules fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/plugins/CTBModule.cpp b/plugins/CTBModule.cpp + if (curr_word.second != prev_word.second) { // not only do we have repeated timestamp, they have different payload... diff --git a/plugins/CTBModule.hpp b/plugins/CTBModule.hpp diff --git a/python/ctbmodules/apps/ctb_hsi_gen.py b/python/ctbmodules/apps/ctb_hsi_gen.py + ("CTBModule: Configured array is being overwritten by array of different length: " diff --git a/schema/ctbmodules/ctbmodule.jsonnet b/schema/ctbmodules/ctbmodule.jsonnet diff --git a/src/CTBModuleIssues.hpp b/src/CTBModuleIssues.hpp -------------------- daphnemodules fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/plugins/DaphneController.cpp b/plugins/DaphneController.cpp diff --git a/plugins/DaphneController.hpp b/plugins/DaphneController.hpp diff --git a/python/daphnemodules/daphnemodulesapp_gen.py b/python/daphnemodules/daphnemodulesapp_gen.py diff --git a/schema/daphnemodules/confgen.jsonnet b/schema/daphnemodules/confgen.jsonnet diff --git a/schema/daphnemodules/daphnecontroller.jsonnet b/schema/daphnemodules/daphnecontroller.jsonnet diff --git a/schema/daphnemodules/daphnecontrollerinfo.jsonnet b/schema/daphnemodules/daphnecontrollerinfo.jsonnet diff --git a/scripts/daphne_details_example.json b/scripts/daphne_details_example.json diff --git a/scripts/daphne_example_config.json b/scripts/daphne_example_config.json diff --git a/scripts/daphne_gen b/scripts/daphne_gen diff --git a/src/DaphneInterface.cpp b/src/DaphneInterface.cpp diff --git a/src/DaphneInterface.hpp b/src/DaphneInterface.hpp diff --git a/unittest/DaphneInterface_test.cxx b/unittest/DaphneInterface_test.cxx -------------------- daqsystemtest fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/config/default_system/default_system_with_tpg.json b/config/default_system/default_system_with_tpg.json diff --git a/config/k8s_tests/apps/readout_028_029_notpg.json b/config/k8s_tests/apps/readout_028_029_notpg.json diff --git a/config/k8s_tests/apps/readout_028_029_tpg.json b/config/k8s_tests/apps/readout_028_029_tpg.json diff --git a/config/k8s_tests/np04_daq.json b/config/k8s_tests/np04_daq.json diff --git a/integtest/3ru_1df_multirun_test.py b/integtest/3ru_1df_multirun_test.py diff --git a/integtest/3ru_3df_multirun_test.py b/integtest/3ru_3df_multirun_test.py diff --git a/integtest/readout_type_scan.py b/integtest/readout_type_scan.py diff --git a/integtest/tpstream_writing_test.py b/integtest/tpstream_writing_test.py -------------------- dpdklibs fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/plugins/NICSender.cpp b/plugins/NICSender.cpp diff --git a/src/CreateSource.hpp b/src/CreateSource.hpp -------------------- fddaqconf fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/python/fddaqconf/apps/readout_gen.py b/python/fddaqconf/apps/readout_gen.py diff --git a/schema/fddaqconf/confgen.jsonnet b/schema/fddaqconf/confgen.jsonnet diff --git a/schema/fddaqconf/readoutgen.jsonnet b/schema/fddaqconf/readoutgen.jsonnet diff --git a/scripts/fddaqconf_gen b/scripts/fddaqconf_gen + # Get a different source ID per module instance -------------------- fddetdataformats fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/fddetdataformats/TDEEthFrame.hpp b/include/fddetdataformats/TDEEthFrame.hpp diff --git a/pybindsrc/module.cpp b/pybindsrc/module.cpp diff --git a/pybindsrc/registrators.hpp b/pybindsrc/registrators.hpp diff --git a/pybindsrc/tde.cpp b/pybindsrc/tde.cpp diff --git a/pybindsrc/tdeeth.cpp b/pybindsrc/tdeeth.cpp -------------------- fdreadoutlibs fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/include/fdreadoutlibs/CRTTypeAdapter.hpp b/include/fdreadoutlibs/CRTTypeAdapter.hpp + * @brief For CRT the numbers are different. + static const constexpr uint64_t expected_tick_difference = 1; // NOLINT(build/unsigned) diff --git a/include/fdreadoutlibs/DAPHNESuperChunkTypeAdapter.hpp b/include/fdreadoutlibs/DAPHNESuperChunkTypeAdapter.hpp * @brief For DAPHNE the numbers are different. diff --git a/include/fdreadoutlibs/TDEEthTypeAdapter.hpp b/include/fdreadoutlibs/TDEEthTypeAdapter.hpp + * @brief For TDEEth the numbers are different. + // NOTE: the expected_tick_difference is different from WIBs because of the TDE sampling rate + static const constexpr uint64_t expected_tick_difference = 2000; // NOLINT(build/unsigned) + static const constexpr uint64_t samples_tick_difference = 32; // NOLINT(build/unsigned) diff --git a/include/fdreadoutlibs/crt/CRTFrameProcessor.hpp b/include/fdreadoutlibs/crt/CRTFrameProcessor.hpp diff --git a/include/fdreadoutlibs/wibeth/WIBEthFrameProcessor.hpp b/include/fdreadoutlibs/wibeth/WIBEthFrameProcessor.hpp + // This is to be used for setting a different value by plane diff --git a/include/fdreadoutlibs/wibeth/tpg/FrameExpand.hpp b/include/fdreadoutlibs/wibeth/tpg/FrameExpand.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessAVX2.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessAVX2.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessAbsRSAVX2.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessAbsRSAVX2.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessNaive.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessNaive.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessNaiveRS.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessNaiveRS.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessNaiveStandardRS.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessNaiveStandardRS.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessStandardRSAVX2.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessStandardRSAVX2.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/ProcessingInfo.hpp b/include/fdreadoutlibs/wibeth/tpg/ProcessingInfo.hpp diff --git a/include/fdreadoutlibs/wibeth/tpg/TPGConstants_wibeth.hpp b/include/fdreadoutlibs/wibeth/tpg/TPGConstants_wibeth.hpp diff --git a/src/TPCTPRequestHandler.cpp b/src/TPCTPRequestHandler.cpp diff --git a/src/crt/CRTFrameProcessor.cpp b/src/crt/CRTFrameProcessor.cpp diff --git a/src/wib2/WIB2FrameProcessor.cpp b/src/wib2/WIB2FrameProcessor.cpp diff --git a/src/wibeth/WIBEthFrameProcessor.cpp b/src/wibeth/WIBEthFrameProcessor.cpp constexpr int clocksPerTPCTick = types::DUNEWIBEthTypeAdapter::samples_tick_difference; -------------------- fdreadoutmodules fddaq-v4.4.0 diff --git a/.github/workflows/auto_approve.yml b/.github/workflows/auto_approve.yml diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/.github/workflows/track_new_issues.yml b/.github/workflows/track_new_issues.yml diff --git a/.github/workflows/track_new_prs.yml b/.github/workflows/track_new_prs.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/plugins/FDDataLinkHandler.cpp b/plugins/FDDataLinkHandler.cpp diff --git a/plugins/FDFakeCardReader.cpp b/plugins/FDFakeCardReader.cpp - static constexpr int daphne_time_tick_diff = 16; + static constexpr int daphne_time_tick_diff = 1*1024; //1 tick per adc sample, 1024 samples per self-trigger + static constexpr int daphne_stream_time_tick_diff = 1*64; // 1 tick per adc sample, 64 samples per stream frame //static constexpr int wib_time_tick_diff = 25; static constexpr double tde_rate_khz = 62500./tde_time_tick_diff; + static constexpr int crt_time_tick_diff = 1024; - qi.name, run_marker, daphne_time_tick_diff, daphne_dropout_rate, emu_frame_error_rate, daphne_rate_khz, daphne_frames_per_tick); + qi.name, run_marker, daphne_stream_time_tick_diff, daphne_stream_dropout_rate, emu_frame_error_rate, daphne_stream_rate_khz, daphne_stream_frames_per_tick); + qi.name, run_marker, crt_time_tick_diff, crt_dropout_rate, emu_frame_error_rate, crt_rate_khz, crt_frames_per_tick); -------------------- flxlibs fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-patch-2.8.2-cpp-ci.yml b/.github/workflows/dunedaq-patch-2.8.2-cpp-ci.yml diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/python/flxlibs/cardcontrollerapp/cardcontrollerapp_gen.py b/python/flxlibs/cardcontrollerapp/cardcontrollerapp_gen.py -------------------- hermesmodules fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- rawdatautils fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/python/rawdatautils/unpack/dataclasses.py b/python/rawdatautils/unpack/dataclasses.py diff --git a/python/rawdatautils/unpack/utils.py b/python/rawdatautils/unpack/utils.py -------------------- snbmodules fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- sspmodules fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/src/SSPLEDCalibWrapper.cpp b/src/SSPLEDCalibWrapper.cpp -------------------- tpgtools fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/apps/wibeth_tpg_algorithms_emulator.cxx b/apps/wibeth_tpg_algorithms_emulator.cxx diff --git a/apps/wibeth_tpg_validation.cxx b/apps/wibeth_tpg_validation.cxx diff --git a/apps/wibeth_tpg_workload_emulator.cxx b/apps/wibeth_tpg_workload_emulator.cxx diff --git a/docs/README.md b/docs/README.md +The plot that is saved is unique for a given HDF5 file; however, running over the same HDF5 file with different arguments will overwrite previous plots, so be careful. diff --git a/include/tpgtools/TPGEmulator.hpp b/include/tpgtools/TPGEmulator.hpp diff --git a/scripts/tpg_find_overactive_channels.py b/scripts/tpg_find_overactive_channels.py + print("No activity! Try a different fragment or investigate more thoroughly.") diff --git a/src/TPGEmulator.cpp b/src/TPGEmulator.cpp -------------------- uhallibs fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-develop-cpp-ci.yml diff --git a/.github/workflows/dunedaq-v4-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml -------------------- wibmod fddaq-v4.4.0 diff --git a/.github/workflows/dunedaq-develop-cpp-ci.yml b/.github/workflows/dunedaq-v4-cpp-ci.yml diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/plugins/WIBConfigurator.cpp b/plugins/WIBConfigurator.cpp diff --git a/python/wibmod/wibapp/wibapp_gen.py b/python/wibmod/wibapp/wibapp_gen.py diff --git a/schema/wibmod/confgen.jsonnet b/schema/wibmod/confgen.jsonnet diff --git a/schema/wibmod/wibconfigurator.jsonnet b/schema/wibmod/wibconfigurator.jsonnet diff --git a/scripts/wibconf_gen b/scripts/wibconf_gen diff --git a/src/wib.proto b/src/wib.proto + // Submit two values to configure each COLDATA differently. Submit one to use the same for both.