73 {
74
77
79 EvtId other_b;
80
82
83 EvtComplex G1P,G1M, G1_T_even, G1_T_odd;
84
86
89
90 G1_T_even = (G1P+G1M)/sqrt(2.0);
91 G1_T_odd = (G1P-G1M)/sqrt(2.0);
92
94
97
98 EvtComplex cG1_T_even,cG1_T_odd;
99
100 if (other_b==B0B){
101 cG1_T_even = G1_T_even*(cdmt+lambda_km*EvtComplex(0.0,
getArg(2)*sdmt));
102 cG1_T_odd = G1_T_odd*(cdmt-lambda_km*EvtComplex(0.0,
getArg(2)*sdmt));
103 }
104 if (other_b==B0){
105 cG1_T_even = G1_T_even*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,
getArg(2)*sdmt));
106 cG1_T_odd =-G1_T_odd*(cdmt-(1.0/lambda_km)*EvtComplex(0.0,
getArg(2)*sdmt));
107 }
108
109 EvtComplex hp, hm, h0;
110
111
112
113
114 hm=(cG1_T_even-cG1_T_odd)/sqrt(2.0);
115 hp=(cG1_T_even+cG1_T_odd)/sqrt(2.0);
116 h0=EvtComplex(0.0,0.0);
117
118 EvtParticle *v1,*ph;
119
123 EvtVector4R momv1 = v1->
getP4();
124 EvtVector4R momph = ph->
getP4();
125
126 EvtTensor4C d,g;
127
129
131
133 vp=(momv1+momph)/(momv1+momph).
mass();
134
135 d=((1.0/sqrt(3.0))*(h0-(hp+hm))*(-1.0/sqrt(3.0)))*g+
136 ((1.0/sqrt(2.0))*(hp-hm)*EvtComplex(0.0,1.0)*(sqrt(1.0/2.0)))*
dual(
directProd(
v,vp))+
137 (sqrt(2.0/3.0)*(h0+0.5*(hp+hm))*sqrt(3.0/2.0))*(
directProd(
v,
v)+(1.0/3.0)*g);
138
139 EvtVector4C ep0,ep1,ep2;
140
144
145 EvtVector4C ep20,ep21,ep22;
146
149
152
155
158
159
160 return ;
161
162}
double sin(const BesAngle a)
double cos(const BesAngle a)
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtTensor4C dual(const EvtTensor4C &t2)
**********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
static void OtherB(EvtParticle *p, double &t, EvtId &otherb)
void vertex(const EvtComplex &)
static EvtId getId(const std::string &name)
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