57 {
58
60
61 EvtParticle *l1, *l2, *l3;
65 EvtVector4R VP4 = l1->
getP4();
66 EvtVector4R S1P4 = l2->
getP4();
67 EvtVector4R S2P4 = l3->
getP4();
68 EvtVector4R PRP4 = p->
getP4();
72
73 double mpipi2 = ( S1P4 + S2P4 ).mass2();
74 double e1pi = S1P4.
get( 0 );
75 double e2pi = S2P4.
get( 0 );
76 double g0 = 0.3;
79 double mpsi = 3.097;
80 double epsi = VP4.
get( 0 );
81 double amp1 = ( mpipi2 - 2 *
mpi *
mpi ) * g0 / 2 +
g1 * e1pi * e2pi;
82 double amp0 = amp1 * epsi / mpsi;
83
84 EvtHelSys angles( PRP4, VP4 );
85 double tht = angles.getHelAng( 1 );
86 double phi = angles.getHelAng( 2 );
87 double gamma = 0;
88
89 vertex( 0, 0,
Djmn( 1, 1, 1, phi, tht, gamma ) * amp1 );
90 vertex( 0, 1,
Djmn( 1, 1, -1, phi, tht, gamma ) * amp1 );
91 vertex( 0, 2,
Djmn( 1, 1, 0, phi, tht, gamma ) * amp0 );
92 vertex( 1, 0,
Djmn( 1, -1, 1, phi, tht, gamma ) * amp1 );
93 vertex( 1, 1,
Djmn( 1, -1, -1, phi, tht, gamma ) * amp1 );
94 vertex( 1, 2,
Djmn( 1, -1, 0, phi, tht, gamma ) * amp0 );
95 vertex( 2, 0,
Djmn( 1, 0, 1, phi, tht, gamma ) * amp1 );
96 vertex( 2, 1,
Djmn( 1, 0, -1, phi, tht, gamma ) * amp1 );
97 vertex( 2, 2,
Djmn( 1, 0, 0, phi, tht, gamma ) * amp0 );
98
99 return;
100}
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
void vertex(const EvtComplex &)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void set(int i, double d)