TWiki> LHCb Web>ListOfSimTests (revision 4)EditAttach

Simulation Tests

A list of all LHCbPR tests including information on who is responsible for maintenance and modifications within the Birmingham LHCb Group.

Test Summary

Geant 4 Standalone Tests

Test Description Responsible JIRA
Hadronic Cross Sections Investigate interaction cross-sections used by G$ hadronic physics lists. Protons on Aluminium, Silcion and Berylium. Kaons and pions on aluminium. Check over different energy range and particle - anti particle ?
Calorimeter Model LHCb Calo in G4, fire electrons of different energies, fit distribution of energies deposited in scintillator to determine fractional resolution of the ECAL ?
Multiple Scattering To test multiple scattering models in G4 as they change electrons are fired into a 300micron thick sheet of silicon (model VELO) and mesaure angle electrons scattered through. Test repeated at 13 different electron energies. Use RMS of central 98% of angles as comparison metric. ?
DiLepton Production on a Fixed Target   Kristian (Soon to leave)

Gauss Full Simulation Tests

Test Description Responsible JIRA
Hadronic Multiplicities & Cross Sections

Uses methods in Gauss to find multiplicities and cross sections
for various materals.

Kristian (Soon to leave)
Radiation Length and Absorption Constructs 2D maps of each of the LHCb sub-detectors measured
in terms of number of radiation/interaction lengths. Also includes
a VELO z axis scan.
Kristian (Soon to leave)
dE/dx in Thin Layer

Fire muons, electrons and pions through VELO at discrete energies, compare energy depositied for each energy, particle and physics list. MPV(Most probable value) and FWHM extracted from dE/dx distributions for 300 micron path lengths

Georgios (Soon to leave)
Bremsstrahlung   Georgios (Soon to leave)
Muon Multiple Scattering Monitors Muon Multiple Scattering between Muon stations, so covers MSc in Calorimeters, between M2 and M3, M3 and M4 and M4 and M5. Measure displacement v.s. angle, displacement v.s. momentum, momentum v.s. angle. Ryan
Bremsstrahlung (#2) test ? Nigel (according to JIRA)

RadLength Test

The purpose of the Radiation Length & Absorption Test is to monitor the radiation and interaction length properties of the constituent materials for each LHCb sub-detector. Measurements of these properties are carried out by Geant4 using a set of "scoring planes" placed within the LHCb detector geometry at positions just past each sub-detector. In total there are 11 such planes which exist within the radlength-tags branch within the Git based CondDB project which is maintained on GitLab. The test is part of the Sim/SimChecks package within Gauss. It is formed of two main parts:

  • The first consists of the performance of a set of 2D scans in which a Geant4 particle gun is initialised and fires muon neutrinos at a momentum of 50GeV from various positions across the η-Φ plane at a fixed z position.
  • In the second stage, the same gun is positioned at different z positions within the VELO and the properties of radiation length and interaction length are recorded as a function of this displacement.


To manually run this test you will need to setup the Gauss environment from a local development version of Gauss:

$ LbLogin -c x86_64-slc6-gcc7-opt 
$ lb-dev --nightly lhcb-gauss-dev Gauss/HEAD 
$ cd GaussDev_HEAD 
$ make -j 
$ ./run bash --norc 

This will run both parts of the test in the same manner it is executed within LHCbPR. However a few options have been made available to add more control to the options executed, for the 2D scans the relevant script is $SIMCHECKSROOT/scripts/ which is run using python and has the following command line options:

Option Description
--debug Runs the test in debug mode giving more output information
--debug-gauss This sets Gauss' own debug option
--gauss-geo Forces use of GaussGeo? as the geometry reader
--giga-geo Forces use of GiGaGeo? as the geometry reader
--plot-only If the output ROOT files already exist and you only want to remake the plots
--no-plots Inverse of the above, test is run but only ROOT files are made
--zlim Attempt at limiting the z axis scale in the 2D scans
--Help Shows these options

Likewise the second part of the test which performs the scan of the VELO across the z axis also has additional options and is run using python with the file $SIMCHECKSROOT/scripts/, the options are a little different:

Option Description
--debug Runs the test in debug mode giving more output information
--debug-gauss This sets Gauss' own debug option
--gauss-geo Forces use of GaussGeo? as the geometry reader
--giga-geo Forces use of GiGaGeo? as the geometry reader
--mode Run either "Scan" only or "Plots" only or "All" stages
--pdfs Produce PDF versions of the plots also
--Help Displays these options

Visualisation & Scoring Planes

As read from the CondDB project in 2019, the positions and dimensions of these planes are:

Plane # Size (x, y, z)/mm z Position/mm Description
1 (3500,3500,1) 2240 VELO
2 (12000, 12000, 1) 2715 RICH1/TT
3 (12000, 12000, 1) 7570 Magnet
4 (8190, 6070, 1) 8200 OT1
5 (8190, 6070, 1) 8900 OT2
6 (8190, 6070, 1) 9440 OT3
7 (12000, 10000, 1) 11897 RICH2
8 (12000, 10000, 1) 12500 Detached Muon, pre-SPD
9 (15000, 12000, 1) 13360 ECAL
10 (15000, 12000, 1) 15063 HCAL
11 (15000, 12000, 1) 19895 LHCb

An overlap in geometry leads to segmentation faults when performing the sub-detector scan with all 11 scoring planes in situ, this is because the first scoring plane being positioned within the RICH1 location. For this reason the first part of the test is actually executed in three parts, the first obtains the readings for the VELO with only the geometry of the VELO switched on, the second performs the same procedure recording the plane-to-plane radiation and interaction lengths this time with the VELO switched off and all other sub-detectors present. Finally to obtain the cumulative scans the procedure is repeated with the whole geometry present.

The 11 planes can be visualised in situ using the Panoramix project within LHCb software:

$ lb-run Panoramix/latest bash --norc

In order to use the radlength-tags version of the geometry dump the following options to a file

from Configurables import LHCbApp 
LHCbApp().DDDBtag = 'radlength-tags' 
LHCbApp().Simulation = True 
LHCbApp().CondDBtag = 'sim-20170721-2-vc-md100'

Then run the software using:

$ python $myPanoramix --BareConfig 1 -f none -v


-- RyanBernardCalladine? - 14 Feb 2019

Edit | Attach | Watch | Print version | History: r9 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 14 Feb 2019 - _47DC_61ch_47DC_61cern_47OU_61Organic_32Units_47OU_61Users_47CN_61kzarebsk_47CN_61763242_47CN_61Kristian_32Alexander_32Zarebski?
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback