109 {
110
111
114
117 int charged(0);
118
119 int first_time=0;
120 int flip=0;
122
123
124
125
127 if (tag < 0.5) {
128
130 other_b = B0;
131 }
132 else {
133
135 other_b = B0B;
136 }
137
139
140 if (first_time){
142 }
143 else{
145 }
146
147 if (!flip) {
150 }
151 else{
154 }
155
157
161
163
167
168 EvtComplex Tp0, Tp0_bar, T0p, T0p_bar,Tpm, Tpm_bar, Tmp, Tmp_bar;
170
183
184
185
186
188
189
190
191 charged = 1;
192 A_f = Tp0 + 2.0*P1;
193 }
194
196
197
198
199 charged = 1;
200 A_f = Tp0_bar + 2.0*P1_bar;
201 }
202
204
205
206
207 charged = 1;
208 A_f = T0p - 2.0*P1;
209 }
210
212
213
214
215 charged = 1;
216 A_f = T0p_bar - 2.0*P1_bar;
217 }
218
219
220
221
222
223
224Apm = Tpm + P1 + P0;
225Apm_bar = Tpm_bar + P1_bar + P0_bar;
226
227
228Amp = Tmp - P1 + P0;
229Amp_bar = Tmp_bar - P1_bar + P0;
230
231
233
234
235 charged = 0;
236 A_f = Apm;
237 Abar_f = Apm_bar;
238 A_fbar = Amp;
239 Abar_fbar = Amp_bar;
240
241 }
242
244
245
246 charged = 0;
247 A_f = Amp;
248 Abar_f = Amp_bar;
249 A_fbar = Apm;
250 Abar_fbar = Apm_bar;
251
252 }
253
255
256
257 charged = 0;
258 A_f = T0p + Tp0 - Tpm - Tmp - 2.0*P0 ;
259 Abar_f = T0p_bar + Tp0_bar - Tpm_bar - Tmp_bar - 2.0*P0_bar;
260 A_fbar = A_f;
261 Abar_fbar = Abar_f;
262
263 }
264
265if (charged==0) {
266
267 if (!flip) {
268 if (other_b==B0B){
269
273 }
274 if (other_b==B0){
275
279 }
280 }
281 else{
282 if (other_b==B0B){
283
287 }
288 if (other_b==B0){
289
293 }
294 }
295
296}
297else amp = A_f;
298
300
301 p4_parent=
v->getP4()+
s->getP4();
302
303 double norm=1.0/
v->getP4().d3mag();
304
305 vertex(0,amp*norm*p4_parent*(
v->epsParent(0)));
306 vertex(1,amp*norm*p4_parent*(
v->epsParent(1)));
307 vertex(2,amp*norm*p4_parent*(
v->epsParent(2)));
308
309 return ;
310}
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
static void OtherB(EvtParticle *p, double &t, EvtId &otherb)
void vertex(const EvtComplex &)
static EvtId chargeConj(EvtId id)
static EvtId getId(const std::string &name)
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)