58 {
59
62
63
64
65
66
67
68
69 EvtComplex h0 = EvtComplex( 0.0, 0.0 );
70
71 EvtParticle *v1, *ph;
72
76 EvtVector4R momv1 = v1->
getP4();
77 EvtVector4R momph = ph->
getP4();
78
79 EvtTensor4C d, g;
80
81 g.
setdiag( 1.0, -1.0, -1.0, -1.0 );
82
84
86 vp = ( momv1 + momph ) / ( momv1 + momph ).
mass();
87
88 d = ( ( 1.0 / sqrt( 3.0 ) ) * ( h0 - ( hp + hm ) ) * ( -1.0 / sqrt( 3.0 ) ) ) * g +
89 ( ( 1.0 / sqrt( 2.0 ) ) * ( hp - hm ) * EvtComplex( 0.0, 1.0 ) *
90 ( sqrt( 1.0 / 2.0 ) ) ) *
92 ( sqrt( 2.0 / 3.0 ) * ( h0 + 0.5 * ( hp + hm ) ) * sqrt( 3.0 / 2.0 ) ) *
94
95 EvtVector4C ep0, ep1, ep2;
96
100
101 EvtVector4C ep20, ep21, ep22;
102
105
106 vertex( 0, 0, ep0 * ep20 );
107 vertex( 0, 1, ep0 * ep21 );
108
109 vertex( 1, 0, ep1 * ep20 );
110 vertex( 1, 1, ep1 * ep21 );
111
112 vertex( 2, 0, ep2 * ep20 );
113 vertex( 2, 1, ep2 * ep21 );
114
115 return;
116}
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtTensor4C dual(const EvtTensor4C &t2)
double sin(const BesAngle a)
double cos(const BesAngle a)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
void vertex(const EvtComplex &)
virtual EvtVector4C epsParentPhoton(int i)
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)
void setdiag(double t00, double t11, double t22, double t33)
EvtVector4C cont1(const EvtVector4C &v4) const