Elegent (Elastic Event GENeraTor) is a Monte-Carlo generator of (anti-)proton-proton elastic collisions, based on a number of theoretical/phenomenological models.
The project is maintained by Jan Kašpar (contact info at the home page).
As typical values of four-momentum transfer squared, |t|, are smaller than 10 GeV2 in elastic nucleon-nucleon collisions (nucleon = proton or antiproton), the influence of the weak force is negligible. Therefore, only the electromagnetic (traditionally called Coulomb) and strong (traditionally hadronic) interactions are relevant for the elastic scattering. Their effects can be categorised in the following three groups.
- Effects due to strong interaction alone (in terms of Feynman diagrams, these would correspond to QCD diagrams only). For more details see models of hadronic (strong) interaction.
- Effects due to electromagnetic interaction alone (these would be QED diagrams only). For more details see description of Coulomb (electromagnetic) interaction.
- Effects of the interference between the strong and electromagnetic interactions (diagrams containing both QED and QCD elements). For more details see models of Coulomb-hadronic interference.
Further details can be found in the journal publication linked from the home page.
The package consists of the following components.
- C++ implementation of the models described above. For more details, please refer to the API description.
ElegentTDistributionSamplerto build a number of t-distributions of interest (t being four-momentum transfer squared), e.g. differential and cumulative cross-sections. The distributions are generated at a given collision energy and are saved as a ROOT file. For details please refer to the t-distribution file description).
ElegentBDistributionSamplerto build a number of b-distributions of interest (b stands for impact parameter). At the moment, only profile functions are generated and saved as a ROOT file.
ElegentSDistributionSamplerto build a number of s-distributions of interest (s stands for the square of interaction energy).
Generatorthat loads a specified cumulative distribution function from a t-distribution ROOT file and generates random events in the HepMC format. This class can easily be embedded in any program. As an example, you can have a look at the ElegentTest program.
Download and compilation
- Either download an Elegent release or checkout the code from Subversion:
svn co http://elegent.hepforge.org/svn/trunk
- Edit the
HepMCDIRpoint to your ROOT and HepMC installations.
Depending on your system, you might want to add
libsub-directory to the
LD_LIBRARY_PATHenvironment variable and
before your run any of the programs below.
Sampling t-, b- and s-distributions
NB: you might want to skip this step as there are ready-made distribution files available for download (naming scheme is described here). You can look at plots in PDF format as well.
bin/ElegentTDistributionSampler -h bin/ElegentBDistributionSampler -h bin/ElegentSDistributionSampler -h
to get help on running these programs. Alternatively, look in trunk/distributions/generate_t_distributions, trunk/distributions/generate_b_distributions or trunk/distributions/generate_s_distributions for a usage example.
In particular, all these programs accept
-model-list option to print the list of available models.
Event generator example
Generator class and a t-distribution ROOT file can be tested with program
bin/ElegentTest, which would print the generated HepMC events on screen. Run
for usage help.
The following script performs various tests of the package functionalities: