Running Diana

As described in next section (6) Diana is based on a flexible framework that is basically only capable of running a list of sequences, each of them being a coherent list of modules.

The exact meaning of module and sequence is described in section 6. Here is important just to say that a sequence is a list of modules that contain at least a reader and a writer (plus any number of additional modules) and are run on all events in a given file (or other data source) and a module is a piece of code that acts on a single event and compute come quantity (i.e. a module could take a Cuore pulse and compute its FFT and store the result into the event). We recall here that an event is the smaller data unit provided by data acquisition, typically a triggering pulse, a record of event infos and an optional list of nearest neighbor pulses.

How does Diana know which module should be run ? From a configuration file that by default is called cfg/diana.cfg. This file, through a simple syntax, tell Diana which modules should be run, which modules should be grouped in sequences and which input parameters are to be given to each module. See 6.3 to have more details about the configuration file.

Besides the configuration file Diana accepts a few inline options:

-h Type help
-C file set diana config file name [default cfg/diana.cfg]
-g run diana with GUI for configuring parameters (not implemented yet)
-G n n=1 starts event display; n=2 starts event filter; n=3 starts sequence filter; these are interactive graphic mode of diana (not implemented yet)
-f file set input file name or id depending on reader in use
-F file set input file list
-e n maximum number of events to be processed
-s n number of events to be skipped

Figure 1: Basic strucuture of Diana framework