Introduction

The United Generators (UNIGEN) project was launched by the Virtual Institute 146 VI-SIM in September 2005 following the proposal of Herbert Ströbele. The goal was to facilitate comparison between various models and various experiments, primarily HADES, FOPI, CERES, NA49, and 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 UNIGEN), 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.

Download

Get the current linux version of the package from http://www.gsi.de/~misko/unigen/unigen2.0.tgz (0.5 MB). You can also get the example data: http://www.gsi.de/~misko/unigen/unigen2.0-data.tgz (45 MB). Unzip and untar them. 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 or config/unigenlogin.tcsh. Then type make. See README for details.

Documentation and examples

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.

The documentation of URun, UEvent, UParticle and of other classes as well as many macro examples can be found here.

People

Core: Dariusz Miskowiec, Volker Friese, Romain Holzmann, Dmytro Kresan, Yvonne Leifels, Alex Bercuci, Marek Szuba. Christoph Baumann and James Hostetter from Münster contributed by writing the AMPT converter, many thanks! The software management was done by Dima Kresan until mid 2010 when it was taken over by Marek Szuba.

Meetings

Monday 21-Nov-2005 14:00

  • general discussion
  • homework: look at the existing event formats
    • Volker: TParticle, TMCParticle, root decay machine, Pythia, Hijing
    • Romain: Oscar, Pluto
    • Yvonne: UrQMD, HSD
    • Dima: Venus
    • Dariusz: Gevsim, Genesis

Thursday 08-Dec-2005 14:00

  • run and event structure defined
  • for particles we either use the VParticle (discussed) or TParticle from root
  • homework:
    • Dariusz: convert some UrQMD events to VParticle and TParticle for comparison
    • Dima: practice filling TParticles from Venus
    • Volker: practice decaying TParticles
    • Romain: filling VParticles and TParticles from Pluto

Thursday 19-Jan-2006 14:00

  • Result of comparing the VParticle (from now on called UParticle) and TParticle, UrQMD Pb+Pb at 158 GeV per nucleon
            UParticle with Double_t          194 kB/event 
            UParticle with Double32_t        102 kB/event 
            TParticle                        202 kB/event 
            full UrQMD info in root format   419 kB/event
            
    We decide to use our UParticle, not excluding a transition to TParticle in future if this proves convenient.

  • Modifying the output format of Pluto would be tedious. We will convert the output instead.

  • The Venus contained in Root seems not to work properly. A standalone Fortran code and a converter must be used.

  • Further discussion of event structure. How do we store the snapshots of collision at given times, available e.g. from UrQMD? Two extreme approaches seem to be
    • (vertical) Each file contains URun and a tree of UEvents, each UEvent contains a TObjArray of UEventSteps, each UEventStep contains a TObjArray of UParticles.
    • (flat) Each file contains a tree of UEvents, each UEvent contains the run, event, and event step info, and a TObjArray of UParticles.

  • homework:
    • Volker: produce and fill 100 events in the "vertical" structure, test accessing the data
    • Dima: produce and fill 100 events in the "flat" structure, test accessing the data
    • Volker: look at decay tools in Root
    • Romain: look at particle code conversion tools available in Root

Friday 03-Feb-2006 15:30

  • Dima presents a running example of a "flat" structure.
  • Volker will present the "vertical" structure next week.
  • Volker: TParticle format has no advantage when decaying particles in ROOT.
  • Based on this and on the size argument we decide to use our own UParticle.
  • Romain: DatabasePDG has Geant3-PDG and Isajet-PDG (and back) code translators.
  • We decide to hide the particle code translator inside the convertors rather than having a central translation tool with all possible particle code standards (to begin with).

Thursday 09-Feb-2006

  • Volker presents a running example of a "vertical" structure. The lowest level, UParticles, are not accessible via TBrowser and via Tree::Draw.
  • We agree on the following structure: a 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. The UEvent header will contain enough information to distinguish between the two cases.
  • Dima, appointed software manager, will polish the three classes and send around for comments.
  • After collecting and implementing the correction, the classes will be frozen. After that...
  • Yvonne writes the converter for HSD
  • Romain writes the converter for Pluto
  • Dima writes the converter for Venus
  • Dariusz writes the converter for UrQMD
  • Volker works on the decay routine (right, Volker?)
  • we try to meet again around the middle of March.

Tuesday 11-04-2006

  • Converters for UrQMD and Venus are ready.
  • We agreed on converter names: "urqmd2u", "venus2u", etc.
  • ... and the call syntax should be: urqmd2u inpfile outfile nevents
  • ... the run object and the event tree will be named "run" and "events", respectively.
  • The Pluto converter and a working prototype of the decay routine will be ready for the next meeting.

Thursday 4-05-2006, 14:00

  • From now on we will meet every Wednesday at 11:00.

Wednesday 10-05-2006, 11:00

  • Denis Bertini joins the project.
  • The HBT afterburner, decays, etc. will be implemented as TTasks
  • More TTasks are needed: event filter, particle filter, pair filter, boost.
  • Dima will develop an event manager.
  • Dariusz will work on HBT afterburner.
  • Volker and Denis will work on the Pythia based decayer.

Wednesday 17-05-2006, 11:00

  • Alex Bercuci joins the project
  • Alex works on Genesis; it will inherit from TGenerator and produce TParticles
  • Dima will provide a UParticle(TParticle *) constructor and =operator
  • next meeting will be on Mai 31st 11:00

Wednesday 31-05-2006, 11:00

  • Genesis particle generation part is working, decays and converter remain to be done
  • Pluto converter is working, after tests it will be submitted to Dima

Wednesday 14-06-2006

  • UTasks should operate on one single UEvent (no input AND output event)
  • Dima will prepare root-style help files
  • Dima will provide an event filter example

Thursday 29-06-2006

  • Genesis generation, decay, and converter are ready
  • Comparison with the old Genesis still needs to be done (Alex)
  • Genesis decay need to be implemented as a UTask (Alex)
  • Root-style help ready here
  • Event filter example ready here
  • Examples of event generator output files will be put into the directory "data"
  • Example macros to run the complete chain will be written (Dima)
  • Dima works on HSD converter
  • United Generators will have a summer break. Next meeting is on Wednesday, August 23
  • We aim at making the package public after the summer break

Wednesday 23-08-2006

  • Results of the new and the old Genesis agree
  • Genesis decays implemented as a genesis task, child of UTask; to be simplified
  • Examples of event generator output files will be put into the directory "data"
  • Example macros to run the complete chain will be written (Dima)
  • HSD converter half done
  • The numbers stored in fDecay and fParentDecay in UParticle will depend on the decay machine used
  • The information about the decay machine will be stored in the new fDecayer field of URun (Dima)
  • Next meeting is on Thursday 14-09-2006 at 10:00: testing the demos
  • We want to advertize the package in the next VISIM workshop on 21-09-2006

Thursday 14-09-2006

  • Minor changes in the implementation of Genesis will be introduced by Dima
  • The "documentation and examples" site greatly enhanced by Dima
  • HSD converter finished by Dima
  • The package will go into CVS
  • The package will be announced in the VI meeting on September 21


We feel that UNIGEN deserves more publicity and we start some activities in this direction.

Wednesday 18-03-2009

  • AMPT converter was added (Ch. Baumann and J. Hostetter)
  • We need to test it using the provided example data (Dima)
  • The web page was moved to http://www.gsi.de/unigen (Dariusz)
  • A svn repository will be created (Dima)
  • Attractive download from the homepage will be provided (Dima)
  • We will then advertise UNIGEN (Dariusz)
  • The root files produces by the converters contain not one but two trees; is this something serious? (Dima)

Tuesday 28-04-2009

  • AMPT converter tested and OK (Dima)
  • svn repository and download links not yet there (Dima)
  • a statically linked converter would be easier to use; is this possible? (Dima)

Wednesday 30-09-2009

  • UNIGEN is in svn: https://svn.gsi.de/unigen
  • cmake will be removed (overkill and not always available) (Dima)
  • makefile will be modifed such that the converters don't need unigen libs to run (Dima)
  • converters will be built for 32 and 64 bit system and tested (Dariusz)
  • webpage will be updated (Dariusz)
  • converters will be advertised (Dariusz)

Monday/Tuesday 15/16-02-2010, pp interaction symposium in Frankfurt

  • UrQMD, HSD, AMPT, and EPOS compared to pp data from NA49
  • event samples provided in advance and converted to unigen format
  • provisoric converter for EPOS provided by Dima
  • efficient comparison, including an interactive session by Dima
  • event generator authors asked to add the UNIGEN link on their pages

Monday 22-02-2010

  • We defined the list of EPOS variables matching UNIGEN:
    record event nevt nptl b phi endrecord  
    record particle i id p1 p2 p3 p4 fa c1 c2 st ty x1 x2 x3 x4 endrecord
         
  • we asked Klaus for a test sample with this output variables
  • Dima will modify the EPOS converter correspondingly
  • if everything is OK we will add it to our "official" list of supported generators
  • Dima will provides small (10 MB) samples of converted events
  • Dariusz will link them from the main page
Topic revision: r36 - 31 Jan 2011, DariuszMiskowiec
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback