49 {
50
52
53 EvtParticle *l1, *l2;
56
57 double magtau =
getArg( 0 );
58 double phstau =
getArg( 1 );
61 EvtComplex ctau( magtau *
cos( phstau ), magtau *
sin( phstau ) );
62 EvtComplex ce( mage *
cos( phse ), mage *
sin( phse ) );
63
64 EvtTensor4C l11, l12, l21, l22;
69
70 EvtVector4C eps0 = p->
eps( 0 );
71 EvtVector4C eps1 = p->
eps( 1 );
72 EvtVector4C eps2 = p->
eps( 2 );
73 EvtVector4R parp4 = p->
getP4();
74
75 EvtTensor4C p4eps0 =
directProd( eps0, parp4 );
76 EvtTensor4C p4eps1 =
directProd( eps1, parp4 );
77 EvtTensor4C p4eps2 =
directProd( eps2, parp4 );
78
79 double M2 = p->
mass();
80 M2 *= M2;
83
84 double norm = 1.0 / sqrt( 2 * M2 + 4 *
m2 - 4 *
m2 *
m2 / M2 );
85 EvtComplex norm_edm = norm * ctau;
86 EvtComplex norm_e = norm * ce;
87
88
89 EvtVector4C L11, L12, L21, L22;
94
95 EvtComplex A000, A001, A010, A011, A100, A101, A110, A111, A200, A201, A210, A211;
96 A000 = norm_e * ( eps0 * L11 );
97 A001 = norm_e * ( eps0 * L12 );
98 A010 = norm_e * ( eps0 * L21 );
99 A011 = norm_e * ( eps0 * L22 );
100
101 A100 = norm_e * ( eps1 * L11 );
102 A101 = norm_e * ( eps1 * L12 );
103 A110 = norm_e * ( eps1 * L21 );
104 A111 = norm_e * ( eps1 * L22 );
105
106 A200 = norm_e * ( eps2 * L11 );
107 A201 = norm_e * ( eps2 * L12 );
108 A210 = norm_e * ( eps2 * L21 );
109 A211 = norm_e * ( eps2 * L22 );
110
111 vertex( 0, 0, 0, norm_edm *
cont( p4eps0, l11 ) + A000 );
112 vertex( 0, 0, 1, norm_edm *
cont( p4eps0, l12 ) + A001 );
113 vertex( 0, 1, 0, norm_edm *
cont( p4eps0, l21 ) + A010 );
114 vertex( 0, 1, 1, norm_edm *
cont( p4eps0, l22 ) + A011 );
115
116 vertex( 1, 0, 0, norm_edm *
cont( p4eps1, l11 ) + A100 );
117 vertex( 1, 0, 1, norm_edm *
cont( p4eps1, l12 ) + A101 );
118 vertex( 1, 1, 0, norm_edm *
cont( p4eps1, l21 ) + A110 );
119 vertex( 1, 1, 1, norm_edm *
cont( p4eps1, l22 ) + A111 );
120
121 vertex( 2, 0, 0, norm_edm *
cont( p4eps2, l11 ) + A200 );
122 vertex( 2, 0, 1, norm_edm *
cont( p4eps2, l12 ) + A201 );
123 vertex( 2, 1, 0, norm_edm *
cont( p4eps2, l21 ) + A210 );
124 vertex( 2, 1, 1, norm_edm *
cont( p4eps2, l22 ) + A211 );
125
126 return;
127}
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtTensor4C EvtLeptonTg5Current(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtVector4C EvtLeptonVCurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
EvtComplex cont(const EvtTensor4C &t1, const EvtTensor4C &t2)
double sin(const BesAngle a)
double cos(const BesAngle a)
void vertex(const EvtComplex &)
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
virtual EvtVector4C eps(int i) const
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)