C++InterfacetoTauola
C++ Interface to Tauola

Description of Tauola Interface in C++. WARNING for Doxygen sub-pages: Namespaces, Data Structures, Files, Directorises. All describe the development version. For the release of particular choice, its doxygen documentation is included in the corresponding distribution tar-ball.

Authors
Nadia Davidson, Gizo Nanava, Tomasz Przedzinski, Elzbieta Richter-Was, Zbigniew Was

New release

The source code and documentation for Tauola release 1.1.8 (and of TauSpinner release 2.0.6)

IMPORTANT NOTE: Starting from release v1.1.8 we have added HepMC3 support (HepMC3 is avialble on the official HepMC website). HEPEVT and HepMC libraries are now separated, which means changes to the list of linked libraries are necessary.

Developement version

The source code and documentation are updated daily from the repository as well. The following files are provided for download of the developement version:

Older releases

The source code and documentation for release 1.0. The following files are provided for download:

The source code and documentation for release 1.0.2

The source code and documentation for release 1.0.4

The source code and documentation for release 1.0.5

The source code and documentation for release 1.0.6

The source code and documentation for release 1.0.7

The source code and documentation for release 1.1.0

The source code and documentation for release 1.1.1

NOTE: this version was erroneously made public for three days (Nov 20-22) and lacks numerical protecting code against rounding errors for TauSpinner operation on events with bremsstrahlung in leptonic decays. Version 1.1.1a should be used instead. For the period of time Nov 23 - Nov 27 this (1.1.1) version number was attributed to the code of version 1.1.1a but svn label was not updated at that time.

The source code and documentation for release 1.1.1a

The source code and documentation for release 1.1.4

The source code and documentation for release 1.1.5

The source code and documentation for Tauola release 1.1.6 (and of TauSpinner release 2.0.0)

The source code and documentation for Tauola release 1.1.6b (and of TauSpinner release 2.0.1)

The source code and documentation for Tauola release 1.1.6c (and of TauSpinner release 2.0.3)

Introduction/Status

At present (since Feb 2 2010) the C++ interface functionality for TAUOLA is complete. Longitudinal spin correlation are checked using MC-TESTER now. Transverse spin correlations and full functionality of TAUOLA Universal Interface are coded. Genuine electroweak corrections for processes mediated by Z/gamma are implemented as well.

The tar file contains the C++ interface along with the source code for tauola itself (as available from old web page; version Oct 11 2005). The developement version contains the latest source code for the interface from our subversion repository. Note that revision numbers, dates and other info for this development version can be found in the revision information file listed above.

At present, the tar ball includes everything that is needed for installation. The user is advised to use HepMC 2.04+ libraries as described below.

Requirements

For compilation, and to run the simple example, the interface requires:

For further examples, one need to also install:

Examples of TAUOLA C++ combined with PHOTOS and its C++ interface are available from:

Configuration and Compilation

In order to compile the TAUOLA C++ interface:

After compiling the 'tauola-fortran' part, the TAUOLA C++ interface will be compiled and the '/lib' and '/include' directories will contain the appropriate library and include files.

In order to compile the examples, enter the 'examples' directory, and:

Note that for examples working with PYTHIA 8.1, the PYTHIA8DATA global variable must be set (refer to instructions provided during configuration). Similarly, for examples in the examples/testing directory to work, the MCTESTERLOCATION global variable must be set. If neither PYTHIA nor MC-TESTER are present, only the simple example will be provided. The '/examples' directory will contain the compiled example files.

If you prefer not to use configuration scripts, you may find README-NO-CONFIG.txt useful.

Testing

In order to run some more specific tests both PYTHIA and MC-TESTER must be installed.

The appropriate .root files as well as .pdf files generated by MC-TESTER will be created inside the chosen directory. You can execute 'make clobber' to clean the directory. You can also execute 'make' inside the 'TAUOLA/examples/testing' directory to run all available tests one after another.

SANC

Electroweak corrections may affect spin correlations between tau+ and tau- in a significant way. This is the case at high energies, far above WW threshold. At present we use the alpha scheme for electroweak calculations, this choice may not be optimal for the cross section weight aiming at implementation of electroweak corrections. For this, the end scheme should be consistent with the choice of the host generator. On the other hand this is not the problem for spin correlations, our prime interest. In addition, if tables are used, transverse spin correlations for processes mediated by Z and gamma are taken into account.

Changes to the tables generated by the SANC module can be implemented by modifying the interface located in the '/SANC' directory. Details regarding the structure and initialization variables of the interface are described in the documentation. In order to generate new tables:


Description of the code

tauola_interface_design.png
Design of Interface. Components are described in more detail below.

Algorithm Outline

The simplified version of the main program structure including the tauola decay routines would consist of:

Flow of Control

The following is a more detailed example point by point of how a tau, or set of taus, are decayed using the interface with the HepMC event record implementation.

Starting from the main program:

In the main event loop, after the HepMC event is filled by a Monte Carlo generator:

After executing decayTaus(), the following procedure takes place:


Last update; usually last night by the robot, see the doxygen time below and revision info of the development version.