STAR   Computing  
Using Datasets and Tables
Offline computing tutorial Maintained by G. Van Buren

Introduction

Some of this introduction is redundant to what is stated in Learning to Use Root for STAR, the ideas are important to understand, so I'll repeat them here.

For the current implementation of the STAR Data Model, all data is collected in tables for each event. To provide a hierarchy for the data, these tables are collected into datasets which represent a subsystem or particular physics analysis. Just like these tables are members of datasets, each of these datasets is then a member of a larger event dataset.

                        event dataset
            _________________|___________..._______
            |           |           |             |
       sub-dataset sub-dataset    table      sub_dataset
       _____|__...__
       |    |      |
    table table   table
For STAR, each table is defined by a class (e.g. St_table_name) which is derived from a base class called St_Table. It is this St_Table class which provides the functionality common to all tables, like finding the number of rows in the table. You should begin to recognize that STAR-specific classes generally start with St.

Similarly, each dataset is an instance of STAR's St_DataSet class. An associated class, the St_DataSetIter class, provides the functionality of dataset navigation. For instance, you would use an St_DataSetIter to find the tpc dataset within an event, and then you would use another St_DataSetIter to find the particular table in the tpc dataset you want.

Follow along below to learn how these datasets and tables work. To use STAR datasets, you will need to load the St_base shared library. For tables you will additonally need St_Tables:

      gSystem->Load("St_base");
      gSystem->Load("St_Tables");


Using Datasets:


Using Tables: