--
IvantchenkoV - 11 Aug 2014
CMSSW MC Truth Guide
Introduction
During Geant4 simulation huge number of tracks are transported via CMS. Only small fraction of these tracks are kept as transient
G4SimTrack objects, also small number of transient
G4SimVertex objects are kept. For persistency
SimVertex and
SimTrack objects are filled (there one to one correspondence, no filter applied). User manual is provided in the following
twiki. Another MC truth information is inside
PSimHits objects. In this page a description of MC truth objects is provided.
G4SimVertex includes:
- global position
- global time
- index of parent track
- Geant4 process type responsible for the vertex
G4SimTrack includes:
- momentum
- energy
- track ID
- index of generator particle
- index of G4SimVertex
- index of parent particle
- parent momentum
- position at tracker surface
- momentum at tracker surface
SimVertex includes:
- event ID
- 4-vector position + time
- parent track index
- vertex index
- process type
SimTrack includes:
- event ID
- track ID
- PDG code
- 4-momentum
- vertex index
- generator particle index
- track position at tracker surface
- 4-momentum at tracker surface
Geant4 process numbering scheme
Geant4 process |
Type 5_3_X |
Type 7_X_Y |
Primary generator |
100 |
0 |
Transportation |
0 |
91 |
Coulpled transportation |
0 |
92 |
Coulomb scattering |
0 |
1 |
Ionisation |
51-54 |
2 |
Bremsstrahlung |
56, 61, 66 |
3 |
e+e- pair production |
62, 67 |
4 |
Annihilation in 2 gamma |
0 |
5 |
Annihilation in mu+mu- |
0 |
6 |
Annihilation in hadrons |
0 |
7 |
Multiple scattering |
0 |
10 |
Photoelectric |
63 |
12 |
Compton scattering |
0 |
13 |
Gamma conversion in e+e- |
60 |
14 |
Gamma conversion in mu+mu- |
0 |
15 |
Synchrotron radiation |
64 |
23 |
Hadron elastic scattering |
16, 17 |
111 |
Hadron inelastic |
2 - 14, 18, 19 |
121 |
Neutron capture |
15, 40 |
131 |
Neutron fission |
0 |
141 |
Hadron stopping at rest |
1, 21 - 39, 57 - 59 |
151 |
Decay |
50 |
201 |
Decay with spin |
0 |
202 |
Pion decay with spin |
0 |
203 |
Radioactive decay |
0 |
204 |
Unknown decay |
0 |
205 |
External decay |
0 |
206 |
Step limiter |
0 |
401 |
Neutron killer |
0 |
403 |
GFlash |
68, 69 |
301 |
HepMC - Geant4 interface
Generator interface class takes generated events from
HepMC::GenEvent and fills
G4Event with the list of primary particles. To be included into Geant4 primary particle list
HepMC particles should satisfy several selection criteria.
HepMC particle may be considered for Geant4 tracking:
- status code = 1
- status code = 2 and no decay vertex is specified - status code is changed to 1
- status code = 2 and decay vertex position has radius to the beam axis above 2.9 cm and decay products are defined
- status code > 3 some exotica particles are tracked by Geant4 and their code status code is changed to 2 or 1 depending on existence of the predefined decay: pdgid = 17, 34, 37; 1000000 <= pdgid < 4000000
- status code > 3 SUSY exotica does not tracked by Geant4 if charge=0 && (1000000 <= pdgid < 1000040)
The next optional check is for PDG number - the optional list of PDG numbers to be killed may be defined. By default this list keeps quarks and gluon.
After that several acceptance filters are applied for particles with status code 1:
For particles with the status code 2 and decay vertex outside radius 2.9 cm Geant4 tracks the particle and samples "forced decay". This means that predefined list of secondaries produced by the generator is assigned to the decay vertex, these secondary particles are not included into list of primary tracks for Geant4. If a decay vertex is within radius 2.9 cm the particle is not included in the list of Geant4 primary, only decay products are considered for the filter described above.
Hits