TWiki
>
LHCb Web
>
ListOfSimTests
(revision 7) (raw view)
Edit
Attach
---+ Simulation Tests %TOC% 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 G4 hadronic physics lists. Protons on Aluminium, Silcion and Berylium. Kaons and pions on aluminium. Check over different energy range and particle - anti particle | ? | https://its.cern.ch/jira/browse/LHCBGAUSS-867 | | *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 | Naomi | https://its.cern.ch/jira/browse/LHCBGAUSS-870 | | *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. | Jon | https://its.cern.ch/jira/browse/LHCBGAUSS-872 | | *DiLepton Production on a Fixed Target* | Based on the G4 TestEM6, this test consists of a particle gun firing photons at energies between 1 and 100GeV at a 300micron Aluminium target to simulate pair production within the RF foil of the VELO. | Jon | https://its.cern.ch/jira/browse/LHCBGAUSS-1356 | ---+++ Gauss Full Simulation Tests | *Test* | *Description* | *Responsible* | *JIRA* | | *Hadronic Multiplicities & Cross Sections* | <p> Uses methods in Gauss to find multiplicities and cross sections<br /> for various materals. </p> | Naomi | https://its.cern.ch/jira/browse/LHCBGAUSS-869 | | *Radiation Length and Absorption* | Constructs 2D maps of each of the LHCb sub-detectors measured<br /> in terms of number of radiation/interaction lengths. Also includes<br /> a VELO z axis scan. | Jon | https://its.cern.ch/jira/browse/LHCBGAUSS-876 | | *dE/dx in Thin Layer* | <p> 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</p> | Ryan | https://its.cern.ch/jira/browse/LHCBGAUSS-873 | | *Bremsstrahlung* | | Ryan | https://its.cern.ch/jira/browse/LHCBGAUSS-873 | | *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 | https://its.cern.ch/jira/browse/LHCBGAUSS-874 | | *Bremsstrahlung (#2) test* | ? | Nigel (according to JIRA) | https://its.cern.ch/jira/browse/LHCBGAUSS-881 | ---++ !DiLepton Production on a Fixed Target Test This test is a modified version of [[http://geant4-data.web.cern.ch/geant4-data/releases/geant4/examples/extended/electromagnetic/TestEm6/README][TestEM6]] within the Geant4 pre-made examples and as such is standalone not requiring any input from Gauss. The purpose of the test is to simulate dilepton production due to photons interacting with the aluminium RF foil of the VELO sub-detector. The properties of invariant mass, angle between the incident photon and the vector of the daughter lepton momenta, and the fraction of the parent photon energy taken by each lepton are all stored as histograms. To boost statististics the dimuon production cross section has been increased by a factor of 1000 within the test. ---+++ Execution The test is contained within the LHCb Geant4 project and so can be run directly: <verbatim>$ lb-run Geant4/latest bash --norc $ bash $G4GAMMATODILEPTONCONVERSIONTESTROOT/scripts/run_gammaconv_test.sh </verbatim> ---++ Hadronic Multiplicities & Cross Sections Test As opposed to obtaining the multiplicities and cross-sections associated with a particle colliding with a target material through the G4 tables this test uses simulation to deduce them within Gauss. A particle gun is created which fires either kaons, pions or protons at different energies towards a number of targets consisting of various materials and different thicknesses for different G4 physics lists. The values themselves are calculated using the categories of the daughters produced within the interactions (e.g. elastic/inelastic etc.).<br /> ---+++ Execution The test is contained within the _Sim/SimChecks_ package within Gauss, due to the large number of possibilities from cycling through various energies, materials, thicknesses, physics lists and particles it is recommended that during any maintenance or development you instead run the shorter example bash script: <pre>$ LbLogin -c x86_64-slc6-gcc7-opt </pre> <pre>$ lb-dev --nightly lhcb-gauss-dev Gauss/HEAD </pre> <pre>$ cd GaussDev_HEAD $ git lb-use Gauss</pre> <pre>$ make -j </pre> <pre>$ ./run bash --norc</pre> <pre>$ bash $SIMCHECKSROOT/scripts/target_test_trial.sh</pre> If however you wish to run with certain options you can use instead the python script with includes a number of arguments which can be passed to the test. The options are mostly lists passed in the command line in the quotation marks "[item1, item2]", for example: <pre>$ python $SIMCHECKSROOT/options/Target/MakeEvents.py --physList "[QGSP_BERT, FTFP_BERT]"$</pre> |*Option*|*Description*| |*--physList*| The physics lists to run, options are "QGSP_BERT", "FTFP_BERT" | |*--materialList*| The materials to iterate through, options are "Al", "Si", "Be" | |*--thicknessList*| List of thicknesses in mm | |*--pgunList*| List of particles for the particle gun, "Piminus", "Piplus", "Kplus", "Kminus", "p", "pbar" | |*--energyList*| List of energies for the particle gun | *NOTE:* Currently this test forces a return of 0 in order to not be listed as "failed" by LHCbPR and be removed. The reason for this is due to a Python error which has yet to be resolved (not encountered by any other Python users). ---++ !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 [[https://gitlab.cern.ch/lhcb-conddb/DDDB][GitLab]]. The test is part of the _Sim/SimChecks_ package within [[https://gitlab.cern.ch/lhcb/Gauss][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. The _RadLengthColl_ tool which exists within the _Sim/GaussTools_ area within Gauss is used to collect the information from Geant4 and then fill the information into a tuple structure. The full address is of the C++ code is: <pre>Sim/GaussTools/src/Components/RadLengthColl.cpp</pre> ---+++ Execution To manually run this test you will need to setup the Gauss environment from a local development version of Gauss: <pre>$ LbLogin -c x86_64-slc6-gcc7-opt </pre> <pre>$ lb-dev --nightly lhcb-gauss-dev Gauss/HEAD </pre> <pre>$ cd GaussDev_HEAD $ git lb-use Gauss</pre> <pre>$ make -j </pre><pre>$ ./run bash --norc </pre> <pre>$ bash $SIMCHECKSROOT/radlength_test.sh </pre> 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/radlength_scan.py* 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/radlength_scan_velo_z.py*, 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: <blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"> | *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 | </blockquote><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><br /></blockquote><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"> </blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote> 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: <pre>$ lb-run Panoramix/latest bash --norc</pre> In order to use the radlength-tags version of the geometry dump the following options to a file *rad_view_opts.py*: <pre>from Configurables import LHCbApp </pre><pre>LHCbApp().DDDBtag = 'radlength-tags' </pre><pre>LHCbApp().Simulation = True </pre><pre>LHCbApp().CondDBtag = 'sim-20170721-2-vc-md100'</pre> <blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"> </blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote></blockquote> Then run the software using: <pre>$ python $myPanoramix --BareConfig 1 -f none -v rad_view_opts.py</pre> <blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"> <blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px"> <img alt="RadLength_FullDetector.png" src="http://www.ep.ph.bham.ac.uk/twiki/pub/LHCb/ListOfSimTests/RadLength_FullDetector.png" /> </blockquote> </blockquote></blockquote></blockquote></blockquote> -- Main.RyanBernardCalladine - 14 Feb 2019
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
png
RadLength_FullDetector.png
r1
manage
51.7 K
14 Feb 2019 - 17:24
UnknownUser
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r9
<
r8
<
r7
<
r6
<
r5
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r7 - 29 Mar 2019
-
_2fDC_3dch_2fDC_3dcern_2fOU_3dOrganic_20Units_2fOU_3dUsers_2fCN_3dkzarebsk_2fCN_3d763242_2fCN_3dKristian_20Alexander_20Zarebski
?
LHCb
Log In
LHCb Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
ALICE
ATLAS
BILPA
CALICE
Computing
General
LHCb
LinearCollider
Main
NA62
Publish
Sandbox
TWiki
Welcome
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback