Frequently asked questions¶
Below are a collection of frequently asked questions, please let us know if anything is found to be out of date or missing.
This page is replacing the old FAQ, available here during the transition.
How to add a new decay file¶
Please see the instructions on the DecFiles gitlab page.
For details on EvtGen and the available decay models please see the manual.
How to test a decay file or study the output of the generator phase of Gauss¶
Please see the instructions on the DecFiles gitlab page.
How to find the efficiency of generator level cuts applied in the decfile¶
Please see the instructions on the DecFiles gitlab page.
How can I run Gauss with one of the integrated generators other than Pythia (e.g. BcVegPy)?¶
To use other generators, one just needs to add the relevant options file after the eventtype is included, e.g.
$ gaudirun.py <more options> $DECFILESROOT/options/14143012.py $LBBCVEGPYROOT/options/BcVegPyPythia8.py <more options> ...
which requests to use BcVegPy, the options file can be found here.
How do I generate particle guns in Gauss?¶
Decay files for particle guns start with the digit 5. One must then include relevant options file:
$ gaudirun.py <more options> $DECFILESROOT/options/52210010.py $LBPGUNSROOT/options/PGuns.py <more options> ...
where the particle gun configuration can be seen in the options script.
How do I generate signal particle guns in Gauss, and decay it with EvtGen (e.g. B0)?¶
Here one must include an extra option compared to the previous question with content:
# content of the file BParticleGun.py
from Configurables import ParticleGun, MomentumRange, FlatNParticles, ToolSvc, EvtGenDecay
from GaudiKernel import SystemOfUnits
pgun = ParticleGun()
pgun.ParticleGunTool = "MomentumRange"
pgun.addTool( MomentumRange , name = "MomentumRange" )
pgun.NumberOfParticlesTool = "FlatNParticles"
pgun.addTool( FlatNParticles , name = "FlatNParticles" )
pgun.MomentumRange.PdgCodes = [ 511 , -511 ]
tsvc = ToolSvc()
tsvc.addTool( EvtGenDecay , name = "EvtGenDecay" )
tsvc.EvtGenDecay.UserDecayFile = "BDecayFile.dec"
pgun.DecayTool = "EvtGenDecay"
pgun.MomentumRange.MomentumMin = 20.0*SystemOfUnits.GeV
pgun.MomentumRange.MomentumMax = 140.0*SystemOfUnits.GeV
Secondly one must include a decay file, BDecayFile.dec in this example
# content of the file BDecayFile.dec
Alias MyJ/psi J/psi
ChargeConj MyJ/psi MyJ/psi
Alias MyKs K_S0
ChargeConj MyKs MyKs
#
Decay B0
1.000 MyJ/psi MyKs SVS;
Enddecay
CDecay anti-B0
#
Decay MyKs
1.000 pi+ pi- PHSP;
Enddecay
#
Decay MyJ/psi
1.000 mu+ mu- VLL;
Enddecay
End
How do I generate events with a given particle in the final state that EvtGen does not know about?¶
Please check the list of particles names in the table because the EvtGen name (column 7) doesn’t always match names elsewhere.
How do I set random number seeds to generate independent events?¶
The random seed in Gauss is set by the RunNumber and FirstEventNumber:
GaussGen = GenInit ("GaussGen")
GaussGen.FirstEventNumber = 1
GaussGen.RunNumber = 1082
Why are decay files for special event generation empty (Higgs, top, Z, …)?¶
In this case, Pythia is used to generate the signal particles (Higgs, top, Z, …) and not EvtGen. No special decay file is needed for EvtGen. However, an empty decay file must be created to contain the nickname, the event type number, the decay descriptor and other information required for the corresponding option file created automatically for Gauss in the DecFiles package.
How can I find the branching fractions of decays in a given event type including more than one final state?¶
For inclusive samples, the particles will be decayed according to the branching fractions in the file DECAY.DEC. Exclusive samples will be from one of the decay files in this directory
Note that in all cases the sum of branching fractions for each parent particle is rescaled to 1, so you may need to rescale in particular for exclusive decay files.
How can I print Generator (HepMC) event record?¶
A few examples are given below
// add the printout algorithm at the end of the main Generator sequence:
Generator.Members += { "DumpMC/Dump" };
// add the printout algorithm at the end of the main Generator sequence:
Generator.Members += { "LoKi::DumpHepMC/Dump" } ;
Dump.Depth = 5 ; // set the maximal recursion depth (default is 7):
Dump.PrintVertex = True ; // print the vertex infomation (default is false)
Dump.PrintEndVertex = True ; // print the end-vertex infomation (default is false)
// The printout mode, see the enum LoKi::DecayChain::Mode modes to print 4-vectors
// enum Mode
// {
// LV_STD = 0 , // default: as 4-values (E/px/py/pz)
// LV_MASS , // as 5 values (M/E/px/py/pz)
// LV_WITHPT , // as 6 values (M/PT/E/px/py/pz)
// LV_ONLYP , // as 3 values (px/py/pz)
// LV_SHORT // as 3 values (M/PT/E)
// } ;
Dump.Mode = 2 ; // default is 0 : print as 4-values (E/px/py/pz)
// add the printout algorithm at the end of the main Generator sequence:
Generator.Members += { "DumpHepMCDecay/Dump" } ;
// set the maximal recursion depth (default is 4):
Dump.MaxLevels = 5 ;
// print only decay trees for B+ and B-:
Dump.Particles = { 521 , -521 };
// print decays for all beauty particles (default):
// Dump.Quarks = { 5 };
// add the printout algorithm at the end of the main Generator sequence:
Generator.Members += { "DumpHepMCTree/Dump" } ;
// set the maximal recursion depth (default is 4):
DumpMCDecay.MaxLevels = 5 ;
// print only decay trees for B+ and B-:
DumpMCDecay.Particles = { 521 , -521 } ;
// print decays for all beauty particles (default):
// DumpMCDecays.Quarks = { 5 } ;
Is it possible to generate exotic charm states like tetraquarks and pentaquarks?¶
Not yet with Gauss as it is. To do so one must firstly produce the particles and then make them known to Gauss. Please get in touch with the project leaders if you are interested in this topic.
How do I switch processes on and off in Pythia?¶
If you want to switch off all processes in Pythia, you can use the file SwitchOffAllPythiaProcesses.py
$ gaudirun.py <more options> $DECFILESROOT/options/SwitchOffAllPythiaProcesses.py ...
(which has the relevant Pythia8 lines at the end). If you want to selectively turn some processes on and off, you can use that file as a template and follow the online Pythia manual for reference.
How do I use ReDecay?¶
ReDecay reuses the same underlying event N times and simply re-decays the signal particle, thus greatly speeding up production. You can use ReDecay by including, e.g.,
$ gaudirun.py <more options> $APPCONFIGROOT/options/Gauss/ReDecay-100times.py ...
where the above file reuses the underlying event 100 times. Files for other predefined values of N are available in the same directory.