DUNE-DAQ / dfmodules

Dataflow applications
3 stars 1 forks source link
dunedaq-common dunedaq-online dunedaq-team-core-sw

Introduction

The dfmodules repository contains the DAQModules that are used in the Dataflow part of the system, the schema files that are used to specify the configuration of those DAQModules, and helper classes that are used for functionality such as storing data on disk.

The DAQModules in this repository are the following:

This repository also currently contains the definition of the DataStore interface and an initial implementation of that interface for HDF5 files on disk (HDF5DataStore).

Configuration Parameters

Configuration parameters are used to customize the behavior of these modules, and here are some examples of the parameters that currently exist:

Error Conditions

Some of the errors that can be encountered by these modules include the following:

Operational Monitoring Metrics

The modules in this package produce operational monitoring metrics to provide visibility into their operation. Some example quantities that are reported include the following:

Raw Data Files

The raw data files are written in HDF5 format. Each TriggerRecord is stored inside a top-level HDF5 Group. To allow for relatively granular access to the elements of a TriggerRecord, those elements are written into separate HDF5 DataSets. That is, each Fragment is written into a DataSet, and the TriggerRecordHeader data is written into its own DataSet. Fragments are grouped by detector type (e.g. TPC), APA, and Link. Here is a sample of the Groups and DataSets for one event:

   GROUP "TriggerRecord00029"
      GROUP "TPC"
         GROUP "APA000"
            DATASET "Link00"
            DATASET "Link01"
      DATASET "TriggerRecordHeader"