The LHCb software stack can be divided into three layers (see Fig 1), these are
LHCb applications (see below) such as simulation, reconstruction, etc
The LCG Applications Area software, these are middleware packages for different kinds of purposes, developed within HEP (such as the ROOT and GAUDI frameworks, GEANT4 detector simulation, COOL Conditions Database access, CORAL relational database abstaction, etc.), Grid middleware clients (LFC, FTS, WMS, ...) and packages developed outside HEP (e.g. Boost, GSL, gcc, ...).
The Operating System, at the moment these are Scientific Linux versions and Mac OSX
Figure 1: LHCb Software Stack
The whole stack is made available on different combinations of Operating System, architecture, compiler and optimizations. These are denoted by a "platform string" such as "slc6-gcc47-x86_64-opt".
LHCb applications
LHCb applications are separate projects denoted to a specific task in the different possible workflows of LHCb data processing, these are
used for all data processing and data management operations on the grid
GANGA
Analysis submission
used by physicists to submit their jobs to computing facilities
LHCB
Common software
contains the event model description and common algorithms
LHCBGRID
grid middleware
contains CMT interfaces to grid middleware clients (can overwrite LCGCMT)
LCGCMT
LCG/AA software
contains CMT interfaces to the LCG Applications Area software stack (maintained by CERN PH/SFT)
Runtime environment
A runtime environment for any of the above LHCb projects can be generated (after a LHCb group login) with lb-run
This is the simplest way to generate a runtime environment and will provide you the latest available version. lb-run has many more options, you may consult "lb-run --help" for more details.
LHCb grid workflows
This section contains descriptions of the LHCb workflows used for data processing on the distributed computing facilities.
Stripping
Stripping will use the reconstructed physics objects as input (file type FULL.DST) and select the events contained within into different physics streams (e.g. DIMUON, BHADRON, etc). The individual output files are merged in a second step into larger files of the same stream if either all events of a given run have been processed of the output of the individual files supersedes N GB of output (usually N=5).
-- StefanRoiser - 18 Feb 2014