# Event generator

Event generators are software libraries that generate simulated high-energy particle physics events. They randomly generate events as those produced in particle accelerators, collider experiments or the early universe. Events come in different types called processes as discussed in the Automatic calculation of particle interaction or decay article.
Despite the simple structure of the tree-level perturbative quantum field theory description of the collision and decay processes in an event, the observed high-energy process usually contains significant amount of modifications, like photon and gluon bremsstrahlung or loop diagram corrections, that usually are too complex to be easily evaluated in real calculations directly on the diagrammatic level. Furthermore, the non-perturbative nature of QCD bound states makes it necessary to include information that is well beyond the reach of perturbative quantum field theory, and also beyond present ability of computation in lattice QCD. And in collisional systems more complex than a few leptons and hadrons (e.g. heavy-ion collisions), the collective behavior of the system would involve a phenomenological description that also cannot be easily obtained from the fundamental field theory by a simple calculus.

## Use in simulations

As said above, the experimental calibration involves processes that usually are too complicated to be easily evaluated in calculations directly, so any realistic test of the underlying physical process in a particle accelerator experiment, therefore, requires an adequate inclusion of these complex behaviors surrounding the actual process. Based on the fact that in most processes a factorization of the full process into individual problems is possible (which means a negligible effect from interference), these individual processes are calculated separately, and the probabilistic branching between them are performed using Monte Carlo methods.
The final-state particles generated by event generators can be fed into the detector simulation, allowing a precise prediction and verification for the entire system of experimental setup. However, as the detector simulation is usually a complex and computationally expensive task, simple event analysis techniques are also performed directly on event generator results.
Some automatic software packages exist, that help in constructing event generators and are sometimes viewed as generators of event generators or meta-generators.
Partly due to historic reasons, most event generators are written in FORTRAN 77, with a few C++ generators slowly emerging in recent years. The Particle Data Group maintains a standard for designating Standard Model particles and resonances with integer codes in event generators (also known as the "PDG code").

### Processes

A typical hadronic event generator simulates the following subprocesses:
* Initial-state composition and substructure
* Initial-state showers
* The hard process
* Resonance decay
* Final-state showers
* Accompanying semi-hard processes
* Hadronization and further decay
A typical heavy-ion event generator usually can be less strict in simulating the rare and rather negligible processes found in a hadronic generator, but would need to simulate the following subprocesses, in addition to those in a hadronic generator:
* Nuclear initial-state
* High multiplicity, soft processes
* In-medium energy loss
* Collective behavior of the medium (not handled properly by any generators so far)

## List of event generators

The major event generators that are used by current experiments are:
Hadronic event generators
* PYTHIA (formerly Pythia/Jetset)
* HERWIG
* ISAJET
* SHERPA
Multi-purpose parton level generators
* MadGraph5 (able to run directly on the web site after registration and an email to the author)
* Whizard
Heavy ion event generators
* GiBUU
* HIJING Archived 2006-07-16 at the Wayback Machine
Neutrino event generators
* GENIE
* GiBUU
* NuWro
Specialized event generators
* AcerMC – LHC background processes
* ALPGEN – multiple parton processes
* Ariadne – QCD cascade with Color Dipole Model
* MC@NLO – next-to-leading-order QCD matrix elements, using HERWIG for parton shower
* JIMMY – multiple parton processes
* STARlight – Photonuclear and two-photon processes in ultra-peripheral collisions of heavy ions
* GRANIITTI – Diffractive QCD and two-photon processes
"Meta-generator"
* CompHEP – automatic evaluation of tree level matrix elements for event generation or export into other event generators