BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtEtaDalitz.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: EvtEtaDalitz.cc
12//
13// Description: Routine to decay eta -> pi+ pi- pi0
14//
15// Modification history:
16//
17// DJL/RYD July 23, 1997 Module created
18//
19//------------------------------------------------------------------------
20//
22#include <stdlib.h>
25#include "EvtGenBase/EvtPDL.hh"
28#include <string>
29
31
32void EvtEtaDalitz::getName(std::string& model_name){
33
34 model_name="ETA_DALITZ";
35
36}
37
38
40
41 return new EvtEtaDalitz;
42
43}
44
46
47 // check that there are 0 arguments
48 checkNArg(0);
49 checkNDaug(3);
50
52
56}
57
58
60
61 setProbMax(2.1);
62
63}
64
66
68
69 EvtVector4R mompi0 = p->getDaug(2)->getP4();
70 double masspip = p->getDaug(0)->mass();
71 double masspim = p->getDaug(1)->mass();
72 double masspi0 = p->getDaug(2)->mass();
73 double m_eta = p->mass();
74
75 double y;
76
77 //The decay amplitude coems from Layter et al PRD 7 pA2M5.
78 //this reference doesn't make sence!!!
79
80 y=(mompi0.get(0)-masspi0)*(3.0/(m_eta-masspip-masspim-masspi0))-1.0;
81
82 EvtComplex amp(sqrt(1.0-1.07*y),0.0);
83
84 vertex(amp);
85
86 return ;
87
88}
89
90
*********DOUBLE PRECISION m_pi INTEGER m_lenwt !max no of aux weights INTEGER m_phmax !maximum photon multiplicity ISR FSR *DOUBLE COMPLEX m_Pauli4 DOUBLE COMPLEX m_AmpBorn DOUBLE COMPLEX m_AmpBoxy DOUBLE COMPLEX m_AmpBorn1 DOUBLE COMPLEX m_AmpBorn2 DOUBLE COMPLEX m_AmpExpo2p DOUBLE COMPLEX m_Rmat DOUBLE COMPLEX m_BoxGZut !DOUBLE COMPLEX m_F1finPair2 !DOUBLE PRECISION m_Vcut DOUBLE PRECISION m_Alfinv DOUBLE PRECISION m_Lorin1 DOUBLE PRECISION m_Lorin2 DOUBLE PRECISION m_eta
Definition: GPS.h:30
void vertex(const EvtComplex &amp)
Definition: EvtDecayAmp.hh:37
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
Definition: EvtDecayBase.hh:65
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
virtual ~EvtEtaDalitz()
Definition: EvtEtaDalitz.cc:30
void getName(std::string &name)
Definition: EvtEtaDalitz.cc:32
void decay(EvtParticle *p)
Definition: EvtEtaDalitz.cc:65
void initProbMax()
Definition: EvtEtaDalitz.cc:59
EvtDecayBase * clone()
Definition: EvtEtaDalitz.cc:39
const EvtVector4R & getP4() const
Definition: EvtParticle.cc:121
EvtParticle * getDaug(int i)
Definition: EvtParticle.cc:85
double mass() const
Definition: EvtParticle.cc:127
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const
Definition: EvtVector4R.hh:179