The simulation framework


  • Know how to run LHCb applications using lb-run

  • Now how to set up and use lb-dev

  • Be able to produce nTuples using MCDecayTreeTuple

Gauss is LHCb’s simulation framework that interfaces various generators to decay engines and then simulate the response of our detector. This lesson will give a basic introduction to Gauss, focussing on the most common use-cases analysts might encounter. Additional information and a collection of useful links can be found on the project’s website:

Learning Objectives

  • Understand how a signal decay sample is produced in the LHCb framework

  • Produce generator level Monte Carlo, print the decay tree and produce nTuples

  • Read a DecFile and understand what it produces, including generator level cuts

  • Generate an event type with modified channels and generator level cuts

  • Raise awareness about the available options for fast simulation


Before we continue, please use these steps to set up Gauss v49r21:

  • Set up Gauss: lb-dev Gauss/v49r21

    • Doing this may produce warnings and info, but this should be ignored.

  • cd ./GaussDev_v49r21

  • Get the DecFiles package for later: git lb-clone-pkg Gen/DecFiles

  • Build it: make

Or simply copy and paste the following lines:

lb-dev Gauss/v49r21
cd ./GaussDev_v49r21
git lb-clone-pkg Gen/DecFiles

This configures a build environment for that latest Sim09 version of Gauss.

There is a chance the step creating the dec files repository didn’t work on systems outside of lxplus, if this is the case, you may need to run git config --global lb-use.protocol ssh first .