The simulation framework
Requirements
The simulation project is responsible the simulation of all things necessary for LHCb by providing overall coordination and support for physics analyses for all runs of the LHC. This includes the development and maintenance of many simulation specific applications and software, including Gauss and Boole, along with handling the various processing needs for the production of simulation samples. More information about the Simulation Project as a whole can be found on their dedicated website: https://lhcb-simulation.web.cern.ch/.
Gauss is the primary LHCb simulation framework that interfaces 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 : https://lhcbdoc.web.cern.ch/lhcbdoc/gauss/.
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
- Understand the available options for fast simulation
Before we continue, please use these steps to set up Gauss v56r8:
Setting up Gauss within an apptainer
- As of the time of writing, Gauss is only supported on CentOS7 platforms. To proceed, we need to work inside an apptainer container
- For more information on containers, including how to set up a CentOS7 container for a RHEL9 machine, see the dedicated lesson
- Set up the required platform:
lb-set-platform x86_64_v2-centos7-gcc11-opt
.- You can check what platforms are available by running
lb-run -L Gauss/v56r8
- You can check what platforms are available by running
- Set up Gauss:
lb-dev Gauss/v56r8
- Doing this may produce warnings and info, but this should be ignored.
cd ./GaussDev_v56r8
- Get the
DecFiles
package for later:git lb-clone-pkg Gen/DecFiles -b Sim10
- We're specifically checking out the
Sim10
branch as we are aiming to have a setup for Sim10. The master branch is built for Sim09!
- We're specifically checking out the
- Build it:
make
Or simply copy and paste the following lines:
lb-dev Gauss/v56r8
cd ./GaussDev_v56r8
git lb-clone-pkg Gen/DecFiles -b Sim10
make
This configures a build environment for that latest Sim10
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 .