= 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 [[https://elegent.hepforge.org/|home page]]). == Physics == TODO: intro * [[HadronicModels|models of hadronic/strong interaction]] * [[CoulombInteraction|description of Coulomb interaction]] * [[CoulombHadronicInterference|models of Coulomb-hadronic interference]] == 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|API description]]. 1. Program `ElegentTDistributionSampler` to 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 [[DatasheetStructure|datasheet description - TODO]]). 1. Program `ElegentBDistributionSampler` to 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. 1. 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 [[source:/trunk/src/TestElegent.cc]]. == Users' guide == === Download and compilation === 1. Either download an [[http://www.hepforge.org/downloads/elegent|Elegent release]] or checkout the code from Subversion: {{{ svn co svn+ssh://svn.hepforge.org/hepforge/svn/elegent/trunk }}} 1. Edit the `makefile` such that `ROOTDIR` and `HepMCDIR` point to your ROOT and HepMC installations. 1. Run {{{ make }}} === Sampling t- and b-distributions === NB: you might want to skip this step as there are ready-made distribution files available for [[http://www.hepforge.org/downloads/elegent|download]]. Run {{{ bin/ElegentTDistributionSampler -h bin/ElegentBDistributionSampler -h }}} to get help on running these programs. Alternatively, look in [[source:/trunk/scripts/generate_t_distributions]] or [[source:/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.