Erasmus (Analyses Repository)


Erasmus is the high-level physics analysis software repository for the LHCb experiment. Erasmus is just a collection of packages used by various working groups. The structure is rather free. It does not depend on anything but Gaudi. This means that in most cases, you will only need to add one extra line to your requirements file:

use GaudiPolicy v*

If your package uses any external tools such as ROOT or the Boost libraries, then you must explicitly require that your package depend on it. For example, to require that your package depend on ROOT, you must add the following line in the requirements file:

use   ROOT  v*  LCG_Interfaces

To use another Gaudi project such as DaVinci, you must add it to the runtime environment. For example, if you are using Erasmus v1r3, and want to use packages from DaVinci v25r2p3, then you would do the following:

SetupProject Erasmus v1r3 --runtime-project DaVinci v25r2p3 --use DaVinciSys

It's also possible to add Erasmus to the runtime environment for another Gaudi package:

SetupProject DaVinci v25r2p3 --runtime-project Erasmus v1r3 --use ErasmusSys

If the two projects are compiled using a different version of Gaudi, then this will produce an error.

The option --use DaVinciSys or --use ErasmusSys is needed in the above commands in order to gain access to the environment variables of DaVinci/Erasmus. To add another Gaudi project to the runtime environment, replace --use DaVinciSys with the name of the main package for the project. This is can be found by looking at the main requirements file for the project. Generally, it will be the name of the project appended by Sys.

As with the standard Gaudi packages, Erasmus is distributed on the GRID.


The current packages included in Erasmus are:

  • P2VV. Package containing the source code for the P2VV analysis package.
  • P2VVPython. Package containing example scripts of how to use the P2VV package
  • P2VVProducion. Package containing scripts to prepare (MC) data for analysis with P2VV.
  • BsMuMuPy. Software used for BsMuMu analysis.
  • BsKstKst. Software used for BsKst0Kst0 analysis
  • L0HadronConfirmation. Study of L0 Hadron Confirmation with 2009 collision data.
  • OfflineSelections (and packages therein). Offline selections used for the different analyses.
  • MvaSelections. This is planned to be added and it contains Fisher based selections for Bs2DsK and LHCbPhysics.Bs2DsPi. More info in MultiVariateSelections .
  • PhysSel/Bs2DsMuX. Selections used for B0q2DplusMuNu analysis.
  • PhysFit/DAfsRooFit. Fitter used for DAfs analysis.
  • RootTools/SimpleTools. Simple manipulation of ntuples with precompiled and fast root code.
  • RootTools/MoreSimpleTools. Optimization of cut-based selections with event-by-event weighting.
  • PIDCalib. Software for performing PID performance and calibration studies.

This section of the page is likely to be out of date, so for a full list of packages you can either check the Erasmus webpage, or the SVN repository. The SVN repository can be browsed online using WebSVN or Trac.

Create your package

Instructions on creating a new Gaudi package can be found here. Once you have created and imported your Erasmus package to SVN, you should contact the maintainer of the Erasmus package (check the latest Erasmus requirements file for the current maintainer), and request that your package be included in the next release of Erasmus.

Submission through Ganga

The following example works when submitted to Local() backend:

er = GaudiPython( project="Bender"
                  , version="v14r0p2"
                  , script = '/afs/' ## script is the one you want to execute
                  , setupProjectOptions=' --runtime-project Erasmus v1r3 --use ErasmusSys')   
j = Job(application=er)


-- DiegoMartinezSantos - 16-Mar-2010

-- PhilipHunt - 05-May-2010

Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r9 - 2011-01-12 - AndrewPowell
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback