65 {
66
69
70 static EvtIdSet leptons(
"e-",
"mu-",
"tau-");
71
73
74
75 int charge=1;
76
79 if (leptons.contains(lepton->
getId())){
80 charge=-1;
81 }
82
83
85
86
87 if (charge==-1){
89 }
90 else{
92 }
93
95
97
99
101
102 int il,ic;
103
104
106
108 double cosbeta=
cos(atan(tanbeta));
109 double sinbeta=
sin(atan(tanbeta));
110
111 double mb=4.9;
112 double mc=1.3;
113 double mw=80.4;
114
117 double mchargino=
getArg(4);
118
119
120 double tan2phim=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
121 (Mass*Mass-mu*mu+2*mw*mw*
cos(2*atan(tanbeta)));
122
123 double phim=0.5*atan(tan2phim);
124
129
130 double tan2phip=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
131 (Mass*Mass-mu*mu-2*mw*mw*
cos(2*atan(tanbeta)));
132
133 double phip=0.5*atan(tan2phip);
134
139
140
142 double ctheta=
cos(theta);
143 double stheta=
sin(theta);
144
145 double vcsb=0.08;
146 double mchi1=mchargino;
147 double mchi2=mchargino;
148
149
150 double g=1.0;
151
152 EvtComplex a1=mchi1*(U11*ctheta-mb*U12*stheta/(sqrt(2.0)*mw*cosbeta));
153 EvtComplex a2=mchi2*(U21*ctheta-mb*U22*stheta/(sqrt(2.0)*mw*cosbeta));
154
157
158 EvtComplex f1=-(g*g*V11*vcsb)/((p4b-p4c).mass2()-mchi1*mchi1);
159 EvtComplex f2=-(g*g*V21*vcsb)/((p4b-p4c).mass2()-mchi1*mchi2);
160
161
162
163
164
165
166
171
172
173
174
175
176 for(il=0;il<2;il++){
177 for(ic=0;ic<2;ic++){
178
181
182 if (charge==-1){
185 }
186 else{
189 }
190
191
192
193
194
195 M[ic][il]=
f1*(a1*a+b1*b)+f2*(a2*a+b2*b);
196
197
198
199
200
201
202
203 }
204 }
205
206 double prob=
real(M[0][0]*
conj(M[0][0])+
207 M[1][0]*
conj(M[1][0])+
208 M[0][1]*
conj(M[0][1])+
209 M[1][1]*
conj(M[1][1]));
210
211
212
214
215 return;
216
217}
Evt3Rank3C conj(const Evt3Rank3C &t2)
double sin(const BesAngle a)
double cos(const BesAngle a)
void setProb(double prob)
void init(EvtId part_n, const EvtVector4R &p4)
EvtDiracSpinor spParent(int i) const
static const EvtGammaMatrix & id()
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
static const EvtGammaMatrix & g5()
static EvtId getId(const std::string &name)
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)