Event generators
The input to FairRunSim is provided by particle generators registered in FairPrimaryGenerator. FairRoot provides a set of general generators, and BmnRoot adds the interfaces to the output of heavy-ion event generators and some special generators. A new generator must derive from FairGenerator and implement the ReadEvent() function that pushes the generated tracks onto the stack. Several generators can be added to one FairPrimaryGenerator.
Generators provided by FairRoot
- FairParticleGenerator generates a single particle type with given momentum components, vertex and multiplicity per event.
- FairBoxGenerator generates particles within a given range over pt, phi, eta, y or theta with a fixed multiplicity per event.
- FairIonGenerator generates ions with a pre-defined FairIon.
- FairAsciiGenerator reads an ASCII input file. The file must contain for each event a header line of the format NTRACKS IEV VX VY VZ, where NTRACKS is the number of tracks in the event, IEV the event number, and VX, VY, VZ the event vertex coordinates in cm. The header line is followed by NTRACKS lines of the format G3PID PX PY PZ, where G3PID is the Geant3 particle code, and PX, PY, PZ the Cartesian momentum coordinates in GeV.
- FairUrqmdGenerator reads the output file 14 (ftn14) from UrQMD.
- FairShieldGenerator reads the ASCII output of the SHIELD code.
Generators of BmnRoot
| Class | Description |
| MpdDCMSMMGenerator | Reads the CAS-SMM-evt.out (r12) files of DCM-SMM: Dubna Cascade Model (DCM-QGSM) + Statistical Multifragmentation Model; produces light particles, nuclear fragments and hyperfragments (Phys. Rev. C 95, 014902 (2017); Phys. Rep. 257 (1995) 133) |
| MpdLAQGSMGenerator | Reads the ASCII files of the LAQGSM (Los Alamos Quark-Gluon String Model) and DCM-QGSM generators |
| MpdUrqmdGenerator | Reads the output file 14 (ftn14) of UrQMD; the calculation has to be performed in the CM system, the Lorentz transformation into the laboratory system is done by the class |
| MpdPHSDGenerator | Reads the output (phsd.dat/phsd.dat.gz) of the HSD/PHSD (Parton-Hadron-String Dynamics) transport model |
| Mpd3fdGenerator | Reads the output of the 3FD (three-fluid dynamics) model |
| MpdVHLLEGenerator | Reads the output of the vHLLE (3D viscous hydrodynamics) model |
| MpdUnigenGenerator | Reads files in the UniGen format (see unigen_format) |
| MpdPlutoGenerator | Reads the PLUTO output file (ROOT format); built only if PLUTO is found |
| MpdHistoGenerator | Generates particles according to an Eta-Pt histogram |
| MpdHypYPtGenerator | Generates particles with a given pt distribution (dn/dpt = pt*exp(-mt/T)) and Gaussian rapidity with fixed multiplicity per event |
| MpdRainGenerator | Generates a "rain" of parallel particles of the same type and momentum, e.g. for detector tests |
| BmnParticleEqualizer1D, BmnParticleEqualizer2D | Add particles to equalize their number over the momentum intervals, sampling the kinematics from histograms of a sample (1D or 2D (P, Eta) + (Eta, Phi)); must be registered as the last generator |
| MpdDecayerPyt8 | External decayer based on Pythia8 (adapted from TPythia8Decayer) |
| MpdMCEventHeader | MC event header with the information about the input event (in addition to FairMCEventHeader: event plane angle) |
| MpdGetNumEvents | Counts the events in the generator files (DCM-SMM, LAQGSM/DCM-QGSM, PHSD, UrQMD, ROOT trees), also gzipped |
| FairPlutoReactionGenerator | Inserts an inline PReaction and connects Pluto with FairPrimaryGenerator (not built now) |
Tools
| File | Description |
| show_event_count.cxx | Source of the show_event_count executable: prints the number of events in a generator file |
| SplitDcmsmm.C | Splits a DCM-SMM (r12) file into several files with the given number of events |
Subdirectories
| Directory | Description |
| unigen_format | Classes of the UniGen data format |
Library
Built into the MpdGen library; the ROOT dictionary is defined in GenLinkDef.h (GenLinkDefPluto.h if PLUTO is found).