elegent is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" (/hepforge/svn/elegent does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 23 (modified by jkaspar, 11 years ago) (diff)

--

Elegent

Elegent (Elastic Event GENeraTor) is a Monte-Carlo generator of (anti-)proton-proton collisions, based on a number of theoretical/phenomenological models.

The project is maintained by Jan Kašpar (contact info at the home page).

Physics

TODO: intro

Elegent package

The package consists of the following components.

  1. C++ implementation of the models described above. For more details, please refer to the API description.
  2. A program (ElegentTDistributionSampler) to build a number of distributions of interest (differential and cumulative cross-sections, etc.) at a given collision energy. The output is a ROOT file called datasheet (for details, please refer to the datasheet description).
  3. A class (Generator) that loads a specified cumulative distribution function from a datasheet 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 TestElegent program.

Users' guide

Download and compilation

  1. Either download an Elegent release or checkout the code from Subversion:
    svn co svn+ssh://svn.hepforge.org/hepforge/svn/elegent/trunk
    
  2. Edit the makefile such that ROOTDIR and HepMCDIR point to your ROOT and HepMC installations.
  3. Run
    make
    

Sampling t- and b-distributions

NB: you might want to skip this step as there are ready-made distribution files available for download.

Run

bin/ElegentTDistributionSampler -h
bin/ElegentBDistributionSampler -h

to get help on running these programs. Alternatively, look in trunk/scripts/generate_t_distributions or trunk/scripts/generate_b_distributions for a usage example.

Testing the event generator

The 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

bin/ElegentTest -h

for usage help.