Simulation in LHCb
Introduction
Gauss is the LHCb Simulation software, built on the
Gaudi Framework.
It consist of a first phase where the events are generated (e.g. pp collisions at 14
TeV) and a second phase where the particles are propagated trough the LHCb detectors.
Coordinators
The Gauss integration and release manager is
Gloria Corti.
The list of topics and coordinators/contacts is
here.
Gauss Web
The main Gauss web page containing release information and links to user guides and tutorials, is
here
.
Documentation
Gauss Tutorial
There are 3 tutorials for self-teaching. See
here
.
Gauss User Guide
Ongoing tasks/projects, open issues
See:
Documentation of the Simulation (Gauss and Boole)
An updated collection of notes, talks and links related to the description of the status of the simulation and digitization for the different subcomponents can be found
here.
Geometry and mis-alignment for simulation
Last update: 16th April 2009
It was agreed that, ultimately, the 2008 simulation should simulate a realistic detector based on the surveyed detector, not the ideal ("Optimisation TDR") detector simulated in DC06
See
here for the various issues
Overlap checking can be done in Gauss for what Geant4 sees with special tool DAVID and DAWN. The list of the overlaps identified with Gauss v37r0(DDDBtag = "head-20090330") has been produced by Marco Pappagallo and can be found
here.
Status for MC09 as used by Gauss v37r0, DDDB tag head-20090330 and SIMCOND tag sim-20090402-xx
Detector |
Contents and Comments |
Responsible |
Magnetic field map |
Current and polarity in SIMCOND. Measured maps for one polarity in FieldMap v5r0, other maps in preparation. Multiple field for corrector dipoles to be done |
Adlene/Magnus |
Muon |
survey of chamber in DDDB, half stations final positions in DDDB (problem for use in SIMCOND as assemblies, M1 closed |
Alessia |
Magnet and Beam Pipe |
supports as installed in DDDB, no bakeout in RICH2, pumps etc downstream muon and upstread Velo, (not yet done better description of bellow in VELO window and different structure-volume-in-volume) |
Daria/Gloria/Magnus |
VELO |
nominal in DDDB and as installed from survey in SIMCOND, tags for stepping motor for open/close, also tag for 'zero' misalignment |
David/Marco G/Silvia |
OT |
restructured with multiple LV for stations and layers (allow survey in SIMCOND) |
Jan |
TT |
nominal final geometry in DDDB, survey cannot be used, overlaps ok |
Jeroen/Cristophe |
RMS |
togheter with IT2 already in |
Kiev(/Vincent/Matt) |
BCM |
Ideal in DDDB including cables |
Magnus |
RICH |
ideal and survey geometry. Conditions db filled with measured properties of various things like hpds. Also in dddb, properties for aerogel, rich2 mirror surface. Rich1 and rich2 hpd boxes location survey ? |
Sajan/Antonis |
Beam scintillators |
crude description of layers in, real detector once installed |
Vadim |
IT |
nominal geometry in DDDB, survey cannot be used |
Vincent/Matt |
Calorimeters |
calo split in 2 halves, real position for plugs and z ? |
Vladimir/Olivier D. |
Conditions for simulation
Last update: 16th April 2009
The simulation (and reconstruction of simulated data) will get a copy of the necessary online conditions from a SIMCOND database.
See
here for the various issues
Marco Cl. has provided versions of SIMCOND containing the existing ONLINE data structure, and the conditions included in the latest LHCBCOND tags. Not all alignment conditions are included since they cannot be taken into account correctly by Gauss: in particular no alignment different from zero is set for ST and OT. There will also be a version corresponding to the nominal positions (not the survey) for which the VELO already exist.
SIMCOND contains the magnet variables from online and has values for full field up and down and for magnet off. All directory in ONLINE will be copied to SIMCOND once they are available: we will then need to decide what values are set in the variable and the corresponding tags for productions.
The global tags in SIMCOND begin systematically with
sim and the date
YYYYNN (higher that that of the DDDB tag they are related to (ie. the corresponding geometry to which they apply)
Global tags have then a field used to identify specific values for following variables:
- perfect or misaligned (including survey) geometry
- setting for magnetic field
- motor position for VELO
Beam conditions (including beam energy, bunch filling schema, crossing angle, beta*, beam size, luminosity) are instead set at initialization of Gauss as properties and stored in a
DataObject in the
/Gen
tree.
This corresponds to the conditions the simulation is run with. In fact Boole and Brunel should then be configured appropriately based on the SIMCOND tag chosen (eg. number of spillover events unless spillover is moved to Gauss, and field on/off). A dedicated configurable that will provide a translation from a given tag to the
configurables of the applications will be available and the translation map distributed externally with the CondDB.
List of available global tags and corresponding variables settings:
CondDB release notes
Samples for validation
Last update: 23rd January 2009
A set of samples are necessary for validating a new production version, new versions of Geant4 and of generators. The production of these samples should become automated and the results published on a dedicated web page. This samples
are produced by the production system, so that the all chain is exercised.
It should also be investigated if the Data Quality/Monitoring infrastructure is suitable for this. Finally a new
facility called QMTests is available within the Gaudi context, its suitability for this should also be investigated.
Two different macro-sets are produced depending on what need to be validated:
- particle-gun, min bias and inclusive samples (sim+digi)
- physics samples (dst files)
The list of sample to be produced, status of requests and productionIDs for them can be found
here.
Validation of generator phase
Plots comparing different generators and Gauss versions can be found
here
Validation of simulation phase
Plots comparing different Geant4 and Gauss versions can be found
here
Radiation Length Scans using G4
Updated version of the material budget scans made using Geant4 can be found
here
Migration to HepMC2
Migration done in Gauss v35r0
Recipies on how to migrate user code from
HepMC 1.26 to
HepMC 2.03 are available
CLHEP::HepLorentzVector
and the new class
HepMC::FourVector
Current and future developments
See
here for details on topics being worked on or on open list of things to do
Bugs and features
Last update : 7 May 2009
To report new bugs or unexpected feature use the
"LHCb Physics software" savannah portal
and select "Simulation" as category.
These are the latest bug know to the Gauss team and being worked on.
-
Log files too long in production for LSS events, printing frequency changed, bug #50870
-
Jobs stalled in production: Gloria, one cannot be reproduced, a second one can and get messages G4PropagatorInField()::ComputeStep() Zero progress for 51 attempted steps
, particle is detected as looping in G4. Protection introduced with ZERoStepCut. Problem tracked to overlap in velo fue to precision loss of translation from xml to tds to g4: velo experts informed. Bug #50862
-
Crashes with Hijing from MagneticField integrator (G4exception not caught) when extending geometry upstream reported by Plamen, bug #48701, probably the same as #50862 (need to check few log files in production, just many more particles going into that direction).
-
Crashes when using QGSP_BERT_HP for low energy muon background, reported by Alessia
-
Crashes in production "Abort" at first event, reported as finalization error, Gloria is looking into it, cannot reproduce exactly but in fact after even is processed at finalization get a message gclibc detected free(): invalid next size
. Can reproduce it in debug mode, so investigating further.
-
Finalization errors in production Error 137: "Killed", Gloria: likely outside process as cannot reproduce it
-
Finalization errors in production Error 135: "Bus error", cannot reproduce it
-
Jobs stalled for private production of b inclusive events, reported by
-
Gauss stops when using a different PDF for Lamdba studies, reported by Raluca, WRONG LHAPDF set number = 20650 given! STOP EXE!
, Patrick, Gloria, Raluca investigating. Could be that either chosen PDF is not distributed with Gauss if running remotely or available only in newer version of lhapdf.
Next versions
Last update : 26 May 2009
- v37r1, based on LHCb v26r3, AppConfig v2r*, Gaudi v20r4 and Geant4 v91r3, MC09 production compatible, bug fixes and features for signals, generic handling of spill-over for all MC09 tags
- v38r0, based on LHCb v27r0, AppConfig v3r*, Gaudi v21r0 and Geant4 v92r1 (9.2.p01 + MacOS build and Gaudi v21r0), latest generators libraries pythia6 420.2, pythia 120, lhapdf 5.7.0
see the
LHCb Tag Collector for details
--
GloriaCorti - 18 Nov 2008