Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This document describes general structure and organization of the data in HDF5 files produced by offline translator.

Online data formats

The original data objects are produced by on-line system and are shipped to offline in XTC format. Every object in XTC is a part of the specific "transition" and interpretation of the object contents is done in the context of that particular transition. These types of the transitions are defined now:

  • Map and Unmap – allocation/deallocation of the resources
  • Configure and Unconfigure – configuration of the system
  • BeginRun and EndRun – happen at begin and end of run
  • BeginCalibCycle and EndCalibCycle – happen at begin and end of calibration cycle, many experiments have only one calibration cycle but there are experiments that use multiple cycles.
  • Pause and Resume
  • Enable and Disable
  • L1Accept – correspond to a single trigger or shot

The transitions in XTC file correspond to the transition in the Dataflow system and they are nested. Particularly Configure/Unconfigure transitions are nested inside Map/Unmap, BeginRun/EndRun are nested inside Configure/Unconfigure, BeginCalibCycle/EndCalibCycle are nested inside BeginRun/EndRun, and Pause/Resume and L1Accept are nested inside BeginCalibCycle/EndCalibCycle. There could be multiple nested transitions inside a single upper-level transition, this is certainly true for L1Accept transitions, but also can be the case for BeginCalibCycle/EndCalibCycle, BeginRun/EndRun, and Configure/Unconfigure too.

The types of the object that appear in XTC files and their contents is described in Event data format.

HDF5 Overview

HDF5 data file has hierarchical organization consisting of the groups and dataset. Groups can contain other groups and datasets, datasets contain complex multi-dimensional data. The organization looks similar to the regular UNIX file system, groups are analogous to directories, and datasets contain arbitrary data like regular files. Like directories, groups name the objects contained in them. This allows easy navigation from the "top" of the file to any object in that file, something like /groupA/groupB/dataset1.

...