Installation and Linking

Installation from scratch

Prerequisites:

Installation:

  1. Download and compile PYTHIA 8
  2. Download the VINCIA plug-in, vincia-N.N.NN.tgz (with N.N.NN being the version number) from the VINCIA homepage: http://projects.hepforge.org/vincia/

  3. Go to the thus created subfolder vincia-N.N.NN/ and type "make"
  4. Vincia is now installed (assuming your PYTHIA distribution is functional).
  5. The default make target also compiles a test program, vincia01.exe. Run it to test the installation. To compile a program written by yourself, e.g., vincia-test.cc, use "make vincia-test" (the Makefile included with VINCIA automatically recognizes program names that begin with "vincia")

For further instructions, see also

Linking

Using VINCIA in your own PYTHIA 8 program

To use VINCIA in your own program, you must first of all make sure the main header is included

   #include "Vincia.h"

The only further change required in your main program is the creation of the VINCIA object, which automatically initializes itself and links to PYTHIA without further user intervention. Assuming you included the VINCIA header as above, you can create a VINCIA object by

   VinciaPlugin vincia(&pythia);

where &pythia should be a pointer to the specific PYTHIA 8 object that VINCIA is desired plugged into. (That is, instead of telling PYTHIA 8 to use VINCIA, you are telling VINCIA to plug itself into PYTHIA, but the result is the same, and in this way the whole procedure can be done with just this single line of code.)

When you next run your main program, VINCIA will automatically take over the showering, using default settings. To initialize VINCIA with user-specified settings (including the possibility to switch VINCIA back off without recompiling), see the section on Initialization.

The rest of the run proceeds as a normal PYTHIA 8 run, i.e., using the same functions to initialize, generate, and store events as usual, see A Brief Introduction to PYTHIA 8.1.

Advanced Installation Options

Location of the XML file set

Important note for non-default installations: If the directory containing the VINCIA XML parameter files is not in the same location as the executable, a specific path to the directory where the XML files are located can (optionally) be specified either by setting the environment variable VINCIADATA to the location of the file set or, if VINCIADATA is undefined, by including a third argument to the constructor,

   VinciaPlugin vincia(&pythia,"commandFile.cmnd",string xmlDir);

The default value for the location is based on the current directory, xmlDir="./xmldoc". Note that the location name should not contain a trailing slash. Note also that VINCIA will look for its default antenna file sets in the relative position xmlDir/../antennae/, and hence it is important that the antennae/ subdirectory is located in the same parent directory as the xmlDir directory.

Finally, if the name of the main XML index file is modified for any reason (strongly discouraged!), the name of the modified index file can (optionally) be given as a fourth and last argument to the constructor,

   VinciaPlugin vincia(&pythia,"commandFile.cmnd","xmldoc","VinciaIndex.xml");

The default value for the main XML index file is "VinciaIndex.xml".