United Generators
Introduction
The United Generators project was launched by the Virtual Institute 146 VI-SIM in September 2005 following a proposal of Herbert Ströbele. The goal was to facilitate comparison between various models (see below) and/or various experiments (HADES, FOPI, CERES, NA49, CBM). The package at present allows to convert output of various event generators to a generic root format. Common analysis operations like boosting from CMS to LAB, adding two-particle correlations, decaying the particles, smearing of momenta or acceptance cuts etc. are implemented as tasks in the analysis chain and affect the content of an event but keep its structure unchanged. This means they can be applied any number of times and in any order. The events can be subsequently translated to the experimental data format of the individual experiments (beyond the scope of United Generators), or used as the input to the detector simulation, or a simple physics analysis can be done directly. The figure below depicts the data flow. The colored blobs are the ones for which the implementation already exists.
The converters implemented so far are listed below.
converter | author | date |
---|---|---|
urqmd2u | Dariusz Miskowiec | 2006 |
venus2u | Dima Kresan | 2006 |
hsd2u | Dima Kresan | 2006 |
pluto2u | Romain Holzmann | 2006 |
evtgenX2u | Dima Kresan | 2006 |
ampt2u | James Hostetter | 2008 |
hijing2u | James Hostetter | 2010 |
therminator2u | Daniel Wielanek | 2012 |
epos2u | Marek Szuba | 2013 |
Download
To get the first feeling have a look at small samples of pp events converted to the United Generators format:
Download one of them, start root, and type e.g.
TFile::Open("ampt.root","read");
events->Draw("TMath::Hypot(fPx,fPy):fPz");
events->Draw("fParticles.fT:fParticles.fZ");
events->Draw("fParticles.fY:fParticles.fX","fParticles.fPx>0.5");
To use the full functionality of the UNIGEN classes, or to convert your event generator data to UNIGEN format, please download the complete package from GitHub
https://github.com/FairRootGroup/UniGen/archive/v2.3.tar.gz
To build the library please prepare the root environment by setting ROOTSYS and adding $ROOTSYS/bin to the PATH and $ROOTSYS/lib to LD_LIBRARY_PATH (or by calling your favorite rootlogin script). Prepare the unigen environment by sourcing config/unigenlogin. Then type make. See README for details
Implementation
The "converters" (urqmd2u, venus2u, hsd2u, etc.) are standalone programs which read output files of event generators and produce root files with events in the common root format. Each root file contains one URun object and one tree; the tree consists of UEvents; a UEvent contains UParticles. A UEvent represents a snapshot of an event. In most cases this is the freeze-out state. Sometimes one is interested in the temporal development of a collision; in this case several subsequent UEvents will represent snapshots taken at different times. These are called "event steps"; the members fNes and fStepNr of UEvent allow to recognize this case.
Development
The internal stuff like minutes of the meetings is in this wiki page . From 2005 till mid 2010 the UNIGEN software was managed by Dima Kresan, then for 3 years by Marek Szuba. After a few maintenance-free years, as of the end of 2019, Dima Kresan is again in charge. This webpage is maintained by Dariusz Miskowiec.