GAUDI User Guide

Chapter 14
Analysis utilities

14.1  Overview

In this chapter we give pointers to some of the third party software libraries that we use within Gaudi or recommend for use by algorithms implemented in Gaudi.

14.2  LHC++

The LHC++ project aims to replace the CERNLIB software libraries with a suite of OO software with roughly equivalent functionality. It consists of a number of distinct packages, both commercial and HEP specific. A complete list of LHC++ libraries (and their documentation) is maintained on the WWW at http://wwwinfo.cern.ch/asd/lhc++/guide.html

The LHCb contact people for matters concerning LHC++ are Pavel Binko and Marco Cattaneo. You can also obtain help (and report problems) directly from the LHC++ team, preferably via their problem tracking system: http://gnats.cern.ch/cgi-bin/wwwgnats.pl/LHCXX/1/1/

The following sections introduce some LHC++ components that are used (or can be used) in Gaudi.

14.3  CLHEP

CLHEP ("Class Library for High Energy Physics") is a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra. It is structured in a set of packages independent of any external package. The documentation for CLHEP can be found on WWW at http://wwwinfo.cern.ch/asd/lhc++/clhep/index.html

CLHEP is used extensively inside Gaudi, in particular in the LHCbEvent and SicbCnv packages.

14.4  NAG C

The NAG C library is a commercial mathematical library providing a similar functionality to the FORTRAN mathlib (part of CERNLIB). It is organised into chapters, each chapter devoted to a branch of numerical or statistical computation. A full list of the functions is available at http://wwwinfo.cern.ch/asd/lhc++/Nag_C/html/doc.html

NAG C is not explicitly used in the Gaudi framework, but developers are encouraged to use it for mathematical computations. Instructions for linking NAG C with Gaudi can be found at http://lhcb.cern.ch/~cattanem/LHCb/nagC.html

Some NAG C functions print error messages to stdout by default, without any information about the calling algorithm and without filtering on severity level. A facility is provided by Gaudi to redirect these messages to the Gaudi MessageSvc. This is documented at http://lhcb.cern.ch/~cattanem/LHCb/GaudiNagC.html