Event generators
Contents |
EvtGen
Default script
Script Generation/GenExamples/scripts/runevtgen.py
generates Aurora script to run EvtGen
. This script is added to the path and can be invoked from any place:
runevtgen.py
This string generates the default script ctaugen.py
and produces the default output file output.root
. This file contains 1000 events of inclusive psi(3770) decays in the SCT edm format.
One can run
ctaurun ctaugen.py
to invoke generator again.
Configuration
The file ctaugen.py
contains two lines:
from GenWrappers.EvtGenTools import generateEvtGen
generateEvtGen(dec="",root="psi(3770)",ecms=0.0,nevt=1000,ip=[0.01, 0.01, 0.5],ofile="{CWD}/output.root")
,
where ${CWD} is the path from where runevtgen.py
was called (CWD stays for Current Working Directory).
generateEvtGen
function has the following parameters:
-
dec
- EvtGen users decay file. It can be one of the included in Aurora files or absolute path to your own decay file. Inclusive MC generation does not require user decay file -
root
- root particle for EvtGen.vpho
(virtual photon) should be used for non-resonant processes- Acceptable root particles:
vpho
,J/psi
,psi(2S)
,psi(3770)
,psi(4040)
,psi(4160)
,psi(4415)
. For more details see Generation/GenTools/GenWrappers/python/EvtGenTools.py in Aurora.
- Acceptable root particles:
-
ecms
- center-of-mass energy (mass of the root particle). The parameterecms
must be set for virtual photon while for other root particles (, , ...) this parameter is optional. Mean mass of the root particle is adopted ifecms
is omitted. -
nevt
- number if events to be gnerated -
ip
- uniform 3D smearing (in mm) for the primary vertex -
ofile
- output file name
One can change these parameters to change behaviour of EvtGen and to produce arbitrary MC sample.
Examples
Use dec file:
generateEvtGen(dec="dkpi.dec",root="psi(3770)",ecms=0,nevt=1000,ip=[0.01, 0.01, 0.5],ofile="/gcf/stark/home/razuvaev/workarea3/run/output.root")
Some example dec files available within aurora are listed below.
File name | Decay chain |
---|---|
cont.dec | |
denu.dec | e+e- -> psi(3770) -> [D+ -> e+ nu] D- + c.c. |
dhh.dec | e+e- -> psi(3770) -> [D0 -> h+ h-] [anti-D0 -> h+ h-] |
dk3pi.dec | e+e- -> psi(3770) -> [D0 -> K- [pi pi pi]+] anti-D0 + c.c. |
tautau.dec | e+e- -> gamma* -> tau+ tau- |
xic0.dec | e+e- -> gamma* -> Xi_c0 anti-Xi_c0 |
taumugamma.dec | e+e- -> [tau+ -> mu+ gamma] [tau- -> X] (and c.c.) |
lambdac.dec | e+e- -> gamma* -> Lambda_c+ anti-Lambda_c- |
All example dec files are stored in Generation/GenExamples/share/dec
folder of Aurora.
An alternative approach is to invoke runevtgen.py
script with command line arguments. Here is the code snippet of the parameters defined:
usage = 'evtgen.py [options]' parser = OptionParser(usage=usage) parser.add_option('-w', '--wdir', dest='workdir', default='.') parser.add_option('-s', '--scr', dest='scrfile', default='ctaugen.py') parser.add_option('-d', '--dec', dest='decfile', default=) parser.add_option('-r', '--root', dest='rootParticle', default='psi(3770)') parser.add_option('-o', '--out', dest='outfile', default='output.root') parser.add_option('-n', '--numevt', dest='nevt', default=1000) parser.add_option('-e', '--energy', dest='energy', default=0.)
I hope the meaning of parameters is self-evident.
Dec file configuration
Dec file consists of particle decays definition. The file has the following structure:
Define global parameters
Define decays for particle_1
Define decays for particle_2
...
End
The definition of global parameters has a simple structure:
Define parameterName parameterValue
For example:
Define alpha 1.365
Define beta 0.39
Particle aliases can be also defined. For example:
Alias Mypi0 pi0
Particle decays definition has the following structure:
Decay parentParticle
decayProbability daughterParticle decayModel;
Enddecay
For example:
Decay D*+
0.683 D0 pi+ VSS;
0.306 D+ pi0 VSS;
0.011 D+ gamma VSP_PWAVE;
Enddecay
There are the following decay models:
- Semileptonic decays:
- HQET - Heavy Quark Effective Theory inspired form factor param.
- ISGW, ISGW2 - Quark model based prediction, Isgur, Scora et al.
- MELIKHOV - Quark model based prediction
- SLPOLE - Generic spcification of form factors based on a lattice inspired parametrization.
- VUB - For generic b->ulnu decays, uses JetSet for fragmentation.
- GOITY_ROBERTS - Decays to non resonant D(*)pi lnu.
- CP violation in B decays
- SSD_CP - generic model for two-body decays that are common final states of the B0 and the anti-B0. Includes effects of both the mass and width differences and should apply equally well to the B_s system.
- SVV_CPLH - Model for decays with two vectors in the final state, e.g. B_s -> J/psi phi.
- BTO3PI_CP, BTO4PI_CP, BTO2PI_CP_ISO, BTOKPI_CP_ISO specialized models.
- Generic amplitudes
- HELAMP, PARTWAVE - generic two-body decays specified by the helicity or partial wave amplitudes.
- SLN - Decay of scalar to lepton and neutrino.
- PHSP - N-body phase space.
- SVS, STS - Scalar decay to vector (or tensor) and scalar.
- VSS, TSS - decay of vector or tensor particle to a pair of scalars.
- VLL, SLL - Decay of vector or scalar to two leptons.
- VSP_PWAVE, vector to scalar and photon, e.g., D*->Dgamma
- Special matrix elements
- BTOXSGAMMA - b->X_s gamma with JetSet fragmentation.
- BTOXSLL - b->X_sll with JetSet fragmentation.
- D_DALITZ - 3-body D-decays with substructure.
- ETA_DALITZ - eta to 3pions with measured dalitz amplitude.
- KSTARNUNU - B->K*nunubar
- LNUGAMMA - B->lnu gamma
- OMEGA_DALITZ - Dalitz structure in the omega->3-pion decay
- PHI_DALITZ - Dalitz structure in the phi->3-pion decay
- PTO3P - scalar to 3 scalars decay where you can specify intermediate resonances
- TAUHADNU - hadronic 1, 2, and 3 pion final states.
- TAULNUNU - leptonic tau decays.
- VSS_BMIX - Upsilon(4S) to BBbar, including mixing.
- VVPIPI - decay of vector to vector and two pions, e.g. psi'->psi+pi+pi.
- VECTORISR - ISR production of vector mesons: e+e- -> V+gamma
To define a particle as stable:
Decay particleName
Enddecay
There is an example of dec file:
Alias MyD*+ D*+
Decay B0
1.0 MyD*+ pi- SVS;
Enddecay
Decay MyD*+
1.0 D0 pi+ VSS;
Enddecay
Decay D0
Enddecay
End
More details using EvtGen is in this file
--V.S.Vorobev (talk) 15:00, 5 August 2019 (+07)