![]() |
KaliVeda
Toolkit for HIC analysis
|
With KaliVeda, you can analyse data of two types:
The latter type can be subdivided into two subtypes:
Each data analysis requires a user analysis class to define the tasks to be performed, histograms/trees to fill etc. The user's analysis class is piloted by a class derived from KVDataAnalyser which handles opening the data files requested by the user and setting up the necessary environment for the analysis to proceed.
Two graphical interfaces are provided for analysing data: KaliVedaGUI and kaliveda-sim. Both interfaces are capable of generating example analysis classes for the data you want to analyse:
User Class
list select [NEW]
. You will be asked to provide a name for your new analysis class, then the newly-generated template files will be opened automatically in your favourite text editor.Analysis
menu, go to Generate analysis class...
, then select simulated
or filtered
. You will be asked to provide a name for your new analysis class, which you can then open in your favourite text editor (it isn't automatic).When analysing experimental data with KaliVedaGUI
, different analysis tasks appear in the drop-down menu depending on the types of available data:
(base class: KVRawDataAnalyser)
This is the most basic analysis task. The user's analysis is called after each event is read from the DAQ file. The experimental setup is described by a KVMultiDetArray or KVExpSetUp object which can be accessed using the global gMultiDetArray pointer. Values of acquisition parameters etc. will be set in the detectors of the array(s) which fired in the event. See KVRawDataAnalyser for more details.
(base class: KVReconRawDataAnalyser)
Similar to analysis of raw data, except that event reconstruction is performed just before the user's analysis is called. This allows to check the implementation of identifications, calibrations, etc. before launching large-scale production of reconstructed event data files. See KVReconRawDataAnalyser for more details.
(base class: KVRawDataReconstructor)
This pre-defined analysis task will generate new recon
data files from raw data without any input from the user. The identifications and calibrations implemented for the dataset will be used to reconstruct as far as possible the nature ( \(Z,A\)) and kinematics ( \(E,\theta,\phi\)) of the nuclei detected in each event. Event reconstruction is handled by the KVEventReconstructor class which manages a set of KVGroupReconstructor -derived objects which handle the particle reconstruction in the groups of the KVMultiDetArray describing the experimental setup (see Detector Array Geometries for the explanation of "groups"). The reconstructed events are written in a TTree in a new file. The generated data can subsequently be analysed using the reconstructed data analysis tasks presented below.
(base class: KVReconEventSelector; analysis driver class: KVReconDataAnalyser)
This is the main task for physics analysis of the data. The user can analyse the reconstructed events containing identified and calibrated particles in order to implement a sophisticated analysis to produce interesting results on the physics of the reactions. Very complicated analyses can be implemented very simply by defining a list of global variables to be calculated event by event (see Global Variables). See KVReconEventSelector for more details.
(base class: KVDataQualityAuditSelector)
This is a pre-defined analysis class which is used to quantify the quality of the reconstructed data produced using the implemented identifications and calibrations. The results are stored in KVDataQualityAudit objects written in a ROOT file produced by the analysis. Such objects can be used with KVDataQualityAuditReportMaker in order to produce pre-defined "reports" in a PDF file which illustrate the quality of the data reconstructed in each telescope. They can also be used by KVFilterGroupReconstructor when filtering simulated data in order to replicate the experimental performances of the setup.
Whatever kind of data you analyse, in all cases the skeleton analysis class generated for you by KaliVedaGUI or kaliveda-sim will have the following 5 methods:
InitAnalysis()
and EndAnalysis()
are executed once only at the beginning and end, respectively, of the analysis.InitRun()
and EndRun()
are called at the beginning and end, respectively, of analysis of each data file.Analysis()
is called for each and every event read from the files.See the example analysis classes for more details.