Go to top,
To provide a set of tools for managing the I/O of data to file.
- The Persistency package forms an intermediate layer between the
IoModules package and ROOT, making use of the persistency tools provided by ROOT.
- MINOS records (i.e. of a class inheriting from Record/RecMinos) are
stored in ROOT TTrees:
- a TTree is a generalized ntuple that can store objects as well as
basic data types.
- the TTree on which MINOS records are stored is split such that
the record header and data blocks are stored on separate branches.
This allows fast access to header data which can be read in separately
from the much larger data blocks.
- Selection of records by attributes stored in the record header
is provided through the PerInputStream::SetSelection method. The
user specifies a selection string to this method (or to the
jc command /Input/SetSelection). For example, the string:
will only select records that have been triggered by trigger source 4.
(More effort spent on specifying data to be stored in the record header
will make this cutting on header attributes more useful.)
- a "stream" is a name assigned to TTree/FileSet combination
for a particular job, e.g. stream DaqMonitor1 could serve data from
tree DaqMonitor retrieved from files F0000(0952-1540)_0000.mdaq.root.
- records across multiple streams of common VldContext will be served
together in Mom as a record set.
- The design goal is that the user should not have to interact directly with
the Persistency package, but instead use IoInputModule & IoOutputModule
JobControl commands. However, the set of commands currently available
is incomplete, especially on output.
Notes and Further References
None so far.