Installation and setup of ThePEG1.8++; including the DIPSY Monte Carlo ======================================================================= 0. Obtaining: This software is currently only available by request to bierlich@thep.lu.se or leif.lonnblad@thep.lu.se. Please do not redistribute the tarball, but make a new request, in order to keep bug propagation at a minimum. 1. Prerequsites: The DIPSY MC can in principle be installed stand alone (along with ThePEG and Ariadne). To use the P8I interface to Pythia 8: 1) A working installation of Pythia 8 (compiled as a shared library) must exist on the system. 2) For newer versions of Pythia, (>= 8.2) you need to place a soft link to the Pythia xmldoc files in the Pythia top directory. Go to the Pythia directory and do: $> ln -s share/Pythia8/xmldoc It is highly recommended to have a working installation of Rivet v. > 2.0, HepMC v. > 2.0, LHAPDF v. 5.9.1 and FastJet v. > 3.0 on your system before commencing to next step. Upon installation quite a few programs from the GNU operating system are neccesary. Please watch closely the progress of the configure scripts, and install prerequisite software accordningly. 2. Installation Untar to a build directory: $> gunzip ThePEG++_YYYY-MM-DD.tar.gz $> tar xf ThePEG++_YYYY-MM-DD.tar $> cd ThePEG++-AR01-devel Configure the installation (change paths according to your system). Do not install this development version of ThePEG is the same location as any existing ThePEG (used eg. for Herwig++): $> ./configure --prefix=/desired/installation/path --enable-unitchecks The configure script should look in all the obvious places for paths to prerequisite packages, but will not necessarily break if they are not found. In case of problems try the following options for adding paths to the physics packages manually: --with-pythia8=/path/to/pythia8 --with-hepmc=/path/to/hepmc --with-rivet=/path/to/rivet --with-lhapdf=/path/to/lhapdf --with-fastjet=/path/to/fastjet In case of problems with linking to Pythia 8: a) Check for access to xmldoc as per the above prescription b) Check that Pythia 8 is in fact compiled as a shared library (when compiling Pythia do ./configure --enable-shared) c) This may really be a problem with linking to LHAPDF. Try adding LDFLAGS=-L$(lhapdf-config --libdir) to the ./configure call. Compile and install $> make check -jN with N being the available number of CPU threads for compiling. The check runs a series of sample programs to see if everything works out. $> make install will install binaries to the previously specified installation path. 3. First run The best way to use ThePEG/DIPSY is to set up a working directory different from the installation directory containing binaries. In the working directory you need fast access to the binaries setupThePEG and runThePEG. $> cd ~/ $> mkdir work $> cd work $> ln -s /installation/path/bin/setupThePEG $> ln -s /installation/path/bin/runThePEG The event generator works by first running setupThePEG on an input file (.in) which sets up the generator (a .run file). This can be executed with runThePEG. Copy the simplest sample event generator from the build (not installation) path: $> cp /buildpath/ThePEG/src/SimpleLEP.in . $> ./setupThePEG SimpleLEP.in $> ./runThePEG SimpleLEP.run Inspect output (in the files SimpleLEP.log, SimpleLEP.out, SimpleLEP.tex). Look at .in file. Most should be self explanatory. Note the line: saverun SimpleLEP SimpleLEPGenerator. This is the line which makes sure that the .run file is actually produced. 4. First run of DIPSY DIPSY is run exactly like SimpleLEP in the previous example. Only the .in file is a bit more tricky. Navigate agin to the work directory, and copy a tune file there which sets relevant physics parameters: $> cd work $> cp /buildpath/Ariadne/DIPSY/Tune27.in . A sample input file which sets up the DIPSY event generator and runs it with sensible parameters can be obtained from the web and run: $> wget home.thep.lu.se/~bierlich/dipsy/DIPSYpp.in $> ./setupThePEG DIPSYpp.in $> ./runThePEG DIPSYpp.run -N100 --tics to run 100 events and display progress. 5. Interfacing to analyses (HepMC and Rivet) DIPSY can easily be made to write out events in the HepMC format or interface directly to Rivet (to save time and disk space). To save to HepMC files add the following lines to the DIPSYpp.in example downloaded above (before the line saverun DIPSYpp LHCGenerator): create ThePEG::HepMCFile HepMCFile HepMCAnalysis.so set LHCGenerator:AnalysisHandlers 0 HepMCFile set HepMCFile:PrintEvent 10000000000 set HepMCFile:Format GenEvent set HepMCFile:Units GeV_mm Setup and run the event generator again to get the file DIPSYpp.hepmc file as an output. It is often preferable to interface directly to Rivet. To add the three 7 TeV used for comparison in [1] (see also http://home.thep.lu.se/~leif/DIPSY.html), insert (instead of the above): erase LHCGenerator:AnalysisHandlers[0] create ThePEG::RivetAnalysis RivetLHC RivetAnalysis.so insert LHCGenerator:AnalysisHandlers[0] RivetLHC insert RivetLHC:Analyses[0] ATLAS_2010_S8918562 insert RivetLHC:Analyses[0] ALICE_2010_S8625980 insert RivetLHC:Analyses[0] CMS_2011_S8884919 Setup and run one more time to produce the file DIPSYpp.yoda which is just an ordinary Rivet histogram file. 8. Rope hadronization To use Rope Hadronization as described in Ref. [2], DIPSY must be built with a Pythia version with UserHooks supporting this. Rope Hadronization is enabled by adding the following line to the input file: set Frag8:FragmentationScheme dipole Standard fragmentation is reenabled with: set Frag8:FragmentationScheme pythia Sample input files with somewhat reasonable parameter settings can be obtained from: http://home.thep.lu.se/~bierlich/dipsy/sampleInput.tar.gz Included are NoSwing.in, which is DIPSY with no FS swing mechanism and ordinary string fragmentation and Rope.in which is Rope fragmentation. 7. References The primary reference for DIPSY is: [1] Flensburg, C., Gustafson, G. and Lönnblad, L.: Inclusive and Exclusive Observables from Dipoles in High Energy Collisions, JHEP 1108 (2011) 103; arXiv:1103.4321 [hep-ph]. [2] Bierlich, C, Gustafson, G., Lönnblad, L. and Tarasov, A.: Effects of Overlapping Strings in pp Collisions, JHEP 1503 (2015) 148; arXiv:1412.6259 [hep-ph].