Event generators

From Charm-Tau Detector
(Difference between revisions)
Jump to: navigation, search
(Replaced content with "* KKMC * EvtGen")
Line 1: Line 1:
 
* [[KKMC]]
 
* [[KKMC]]
 
* [[EvtGen]]
 
* [[EvtGen]]
 
= EvtGen =
 
 
A lot of information on EvtGen can be found here: [https://evtgen.hepforge.org/ evtgen.hepforge.org].
 
 
== Default script ==
 
Script <code>Generation/GenExamples/scripts/runevtgen.py</code> generates Aurora script to run <code>EvtGen</code>. This script is added to the path and can be invoked from any place:
 
<code> runevtgen.py  </code>
 
 
This string generates the default script <code>ctaugen.py</code> and produces the default output file <code>output.root</code>. This file contains 1000 events of inclusive psi(3770) decays in the SCT edm format.
 
 
One can run
 
<code>ctaurun ctaugen.py</code>
 
to invoke generator again.
 
 
== Configuration ==
 
The file <code>ctaugen.py</code> contains two lines:
 
<code>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")</code>,
 
where ${CWD} is the path from where <code>runevtgen.py</code> was called (CWD stays for Current Working Directory).
 
 
<code>generateEvtGen</code> function has the following parameters:
 
* <code>dec</code> - 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
 
* <code>root</code> - root particle for EvtGen. <code>vpho</code> (virtual photon) should be used for non-resonant processes
 
** Acceptable root particles: <code>vpho</code>, <code>J/psi</code>, <code>psi(2S)</code>, <code>psi(3770)</code>, <code>psi(4040)</code>, <code>psi(4160)</code>, <code>psi(4415)</code>. For more details see Generation/GenTools/GenWrappers/python/EvtGenTools.py in Aurora.
 
* <code>ecms</code> - center-of-mass energy (mass of the root particle). The parameter <code>ecms</code> must be set for virtual photon while for other root particles (<math>J/\psi</math>, <math>\psi(2S)</math>, ...) this parameter is optional. Mean mass of the root particle is adopted if <code>ecms</code> is omitted.
 
* <code>nevt</code> - number if events to be gnerated
 
* <code>ip</code> - uniform 3D smearing (in mm) for the primary vertex
 
* <code>ofile</code> - output file name
 
One can change these parameters to change behaviour of EvtGen and to produce arbitrary MC sample.
 
 
=== Examples ===
 
 
Use dec file:
 
<code>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")</code>
 
Some example dec files available within aurora are listed below.
 
{| class="wikitable"
 
|-
 
! 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 <code>Generation/GenExamples/share/dec</code> folder of Aurora.
 
 
 
An alternative approach is to invoke <code>runevtgen.py</code> 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:
 
 
<code>Define global parameters
 
 
Define decays for particle_1
 
Define decays for particle_2
 
...
 
 
End</code>
 
 
The definition of global parameters has a simple structure:
 
 
<code>Define parameterName parameterValue</code>
 
 
For example:
 
<code>Define alpha 1.365
 
Define beta 0.39</code>
 
 
Particle aliases can be also defined. For example:
 
 
<code>Alias Mypi0 pi0</code>
 
 
Particle decays definition has the following structure:
 
 
<code>Decay parentParticle
 
decayProbability daughterParticle decayModel;
 
Enddecay</code>
 
 
For example:
 
 
<code>Decay D*+
 
0.683 D0 pi+ VSS;
 
0.306 D+ pi0 VSS;
 
0.011 D+ gamma VSP_PWAVE;
 
Enddecay</code>
 
 
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:
 
 
<code>Decay particleName
 
Enddecay</code>
 
 
There is an example of dec file:
 
 
<code>Alias MyD*+ D*+
 
 
Decay B0
 
1.0 MyD*+ pi- SVS;
 
Enddecay
 
 
Decay MyD*+
 
1.0 D0 pi+ VSS;
 
Enddecay
 
 
Decay D0
 
Enddecay
 
 
End</code>
 
 
More details using EvtGen is in [https://indico.cern.ch/event/411269/contributions/1867718/attachments/835829/1159322/tut-all.pdf this file]
 
 
--[[User:V.S.Vorobev|V.S.Vorobev]] ([[User talk:V.S.Vorobev|talk]]) 15:00, 5 August 2019 (+07)
 
[[Category:Not_public]]
 

Revision as of 11:12, 19 July 2024

Personal tools