| 1 | //------------------------------------------------------------------------------// |
| 2 | EvtGen is a particle decay simulator specifically designed for the needs of |
| 3 | B-physics studies. Complete manual of EvtGen is available at: |
| 4 | http://robbep.home.cern.ch/robbep/EvtGen/GuideEvtGen.pdf. Further information |
| 5 | can be found on the EvtGen official web site http://evtgen.warwick.ac.uk/src/ |
| 6 | The EvtGen release installed here is taken from |
| 7 | http://svnweb.cern.ch/guest/evtgen/tags/R01-03-00 |
| 8 | //------------------------------------------------------------------------------// |
| 9 | |
| 10 | [28/05/2014] |
| 11 | 1)This module contains: |
| 12 | |
| 13 | - EvtGen original code organized in four directories: |
| 14 | EvtGenBase-EvtGenModels-EvtGen-EvtGenExternal. |
| 15 | EvtGenModels directory contains all models avilable in EvtGen to decay |
| 16 | particles. EvtGenExternal contains the "interface" class with the external |
| 17 | packages |
| 18 | |
| 19 | - The interface classes AliGenEvtGen and AliDecayerEvtGen for AliRoot users: |
| 20 | the methods to decay particles are in AliDecayerEvtGen which represents |
| 21 | the implementation of AliDecayer using EvtGen package |
| 22 | |
| 23 | 2)The external packages, interfaced with EvtGen by EvtGenExternal class, |
| 24 | are used to generate specific particle decays and |
| 25 | are located in the TEvtGen subdirectories (except for Pythia8): |
| 26 | |
| 27 | - HepMC (http://lcgapp.cern.ch/project/simu/HepMC/download/HepMC-2.06.08.tar.gz) |
| 28 | The HepMC package is an object oriented event record written in C++ for High Energy |
| 29 | Physics Monte Carlo Generators. |
| 30 | |
| 31 | - Tauola (http://tauolapp.web.cern.ch/tauolapp/resources/TAUOLA.1.1.4/TAUOLA.1.1.4.tar.gz) |
| 32 | C++ interface of Tauola code, specifically designed to generate tau decays. |
| 33 | |
| 34 | - Photos (http://photospp.web.cern.ch/photospp/resources/PHOTOS.3.54/PHOTOS.3.54.tar.gz) |
| 35 | C++ interface of Photos code, specifically designed to generate Final State Radiation. |
| 36 | |
| 37 | - Pythia8 (available in $ALICE_ROOT/PYTHIA8/) |
| 38 | |
| 39 | |
| 40 | 3)The "default" decay table with all particles and all decay channels |
| 41 | can be found in TEvtGen/EvtGen/DECAY.DEC. The definition of all |
| 42 | particles is done in the table "evt.pdl". Both tables (DECAY.DEC and evt.pdl) |
| 43 | are loaded during the initialization of EvtGen. Several decay tables are available |
| 44 | in the directory TEvtGen/EvtGen/DecayTable and are used to generate "forced" decay modes. |
| 45 | All parameters, models and BR used in these tables are not modified with respect |
| 46 | to the official EvtGen release. |
| 47 | The following decay tables are tested: BTOD.DEC, BTOELE.DEC, BTOJPSI.DEC, BTOJPSITOELE.DEC, |
| 48 | BTOJPSITOMU.DEC. |
| 49 | |
| 50 | 4)Polarization is still to be implemented in the interface classes. |
| 51 | |
| 52 | 5)Below an example of the usage of EvtGen in AliRoot to decay beauty particles. |
| 53 | The following lines should be added in the Config.C: |
| 54 | // set the xmldoc path using PYTHIA8DATA enviroement var |
| 55 | gSystem->Setenv("PYTHIA8DATA", gSystem->ExpandPathName("$ALICE_ROOT/PYTHIA8/pythia8175/xmldoc")); |
| 56 | |
| 57 | //----- load libraries |
| 58 | gSystem->Load("libHepMC"); |
| 59 | gSystem->Load("libTauola"); |
| 60 | gSystem->Load("libpythia8"); |
| 61 | gSystem->Load("libPhotos"); |
| 62 | gSystem->Load("libEvtGen"); |
| 63 | gSystem->Load("libEvtGenExternal"); |
| 64 | gSystem->Load("libTEvtGen"); |
| 65 | |
| 66 | //----- declare an AliGenCocktail |
| 67 | AliGenCocktail *generCock=new AliGenCocktail(); |
| 68 | generCock->UsePerEventRates(); |
| 69 | |
| 70 | //----- declare Pythia configuration: switch-off beauty decays in Pythia |
| 71 | AliGenPythia *pythia= ..... |
| 72 | .... |
| 73 | pythia->SetForceDecay(kNoDecayBeauty); |
| 74 | |
| 75 | //----- declare EvtGen configuration and put the two generators in the cocktail |
| 76 | AliGenEvtGen *gene = new AliGenEvtGen(); |
| 77 | gene->SetForceDecay(kBJpsiDiElectron); |
| 78 | gene->SetParticleSwitchedOff(AliGenEvtGen::kBeautyPart); |
| 79 | generCock->AddGenerator(pythia, "Pythia", 1.); |
| 80 | generCock->AddGenerator(gene,"gene",1.); |