STAR  Computing  Simulation  
Alice Event Structure


The Alice VMC application is based on the virtual Monte Carlo approach, and is in part described on the Alice implementation web page.

The Alice Event Structure

There is a document available describing the event structure as it existed some 2 years ago, at the time of this writing. It may be in part obsolete.

The analysis of the most important classes used in Alice VMC is presented on a separate page. Our review of the event structure will be referencing description therein. The top level of that structure is based on TFolder, and is called "top folder" or "Alice data exchange board". This folder can be thought of as containing a Monte Carlo run (i.e. potentially a few or even many events). Each event is stored in its own Event folder (see the diagram), which are created as needed and added to the "exchange board".

The event data per se is organized as follows:

Note that the Data folder contains subfolders for individual detector systems, while those sufolders carry individual objects (typically TTrees) describing various parts of the event data.

Not shown on the above diagram, for readability, were the Conditions and Configuration folders contained inside the Events folder. The Conditions folder has the following subfolders:

  • Calibration data
  • Detector Alignment
  • QA output
while the Configuration has these:
  • Magnetic field maps
  • List of generator objects
  • the Virtual MC folder

Creation of the Event Structure

Below, we provide a brief description of the operations needed to create the event folder tree. The description of classes used will be given on a separate page.

  1. AliRunLoader object, when constructed, creates the AliConfig singleton. In its own constructor, the latter creates the structure illustrated in the above diagrams.
  2. AliDataLoader contains up to 4 "Base Loaders", which are created and added to the collection contained therein. They are responsible for I/O of individual components of the event. In particular, they can be represented by AliTreeLoaders. The latter object performs the AddTree operation on an active folder, thus adding a requisite tree to the file, via the MakeTree method of its own.
  3. WriteKinematics and WriteHeader methods in the AliRunLoader forward these operations to the AliTreeLoaders

Persistence of the Event Structure

As per available documentation, as well as code inspection, different kinds of data representing one event is in fact stored in separate files. For example, there is a file representing kinematics, a file for hits etc. Assembly and disassembly of data needed for I/O, in this scheme of things, is done in respective Loaders (see the class reference).

Last updated by Maxim Potekhin on 05/25/2004