BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtOmegaDalitz.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtOmegaDalitz.cc
12//
13// Description: Routine to decay omega -> pi pi pi0
14//
15// Modification history:
16//
17// RYD November 24, 1996 Module created
18//
19//------------------------------------------------------------------------
20//
21#include "EvtGenBase/EvtPatches.hh"
22#include <stdlib.h>
23#include "EvtGenBase/EvtParticle.hh"
24#include "EvtGenBase/EvtGenKine.hh"
25#include "EvtGenBase/EvtTensor4C.hh"
26#include "EvtGenBase/EvtVector4C.hh"
27#include "EvtGenBase/EvtVector3R.hh"
28#include "EvtGenBase/EvtPDL.hh"
29#include "EvtGenModels/EvtOmegaDalitz.hh"
30#include "EvtGenBase/EvtReport.hh"
31#include <string>
32
34
35void EvtOmegaDalitz::getName(std::string& model_name){
36
37 model_name="OMEGA_DALITZ";
38
39}
40
41
43
44 return new EvtOmegaDalitz;
45
46}
47
49
50 // check that there are 0 arguments
51 checkNArg(0);
52 checkNDaug(3);
53
55
59
60}
61
63
64 setProbMax( 1.0);
65
66}
67
69
71
72 EvtVector4C ep[3];
73
74 ep[0] = p->eps(0);
75 ep[1] = p->eps(1);
76 ep[2] = p->eps(2);
77
78 EvtVector4R mompi1 = p->getDaug(0)->getP4();
79 EvtVector4R mompi2 = p->getDaug(1)->getP4();
80
81 EvtVector3R p1(mompi1.get(1),mompi1.get(2),mompi1.get(3));
82 EvtVector3R p2(mompi2.get(1),mompi2.get(2),mompi2.get(3));
83 EvtVector3R q=cross(p2,p1);
84
85 EvtVector3C e1(ep[0].get(1),ep[0].get(2),ep[0].get(3));
86 EvtVector3C e2(ep[1].get(1),ep[1].get(2),ep[1].get(3));
87 EvtVector3C e3(ep[2].get(1),ep[2].get(2),ep[2].get(3));
88
89 //This is an approximate formula of the maximum value that
90 //|q| can have.
91 double norm=1.14/(p->mass()*p->mass()/9.0-mompi1.mass2());
92
93 vertex(0,norm*e1*q);
94 vertex(1,norm*e2*q);
95 vertex(2,norm*e3*q);
96
97 return ;
98
99}
100
Double_t e1
Double_t e2
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition: KKsem.h:33
EvtVector3R cross(const EvtVector3R &p1, const EvtVector3R &p2)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)