CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtISGW2FF.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtISGW2FF.cc
12//
13// Description: Routine to implement semileptonic form factors
14// according to the model ISGW2
15//
16// Modification history:
17//
18// DJL April 17, 1998 Module created
19//
20//------------------------------------------------------------------------
21//
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtId.hh"
30#include <string>
31#include <math.h>
32#include <stdlib.h>
33using std::endl;
34
36 double t, double mass, double *fpf,
37 double *f0f ) {
38
39 //added by Lange Jan4,2000
40
41
42 static EvtId BP=EvtPDL::getId("B+");
43 static EvtId BM=EvtPDL::getId("B-");
44 static EvtId B0=EvtPDL::getId("B0");
45 static EvtId B0B=EvtPDL::getId("anti-B0");
46
47 static EvtId DST0=EvtPDL::getId("D*0");
48 static EvtId DSTB=EvtPDL::getId("anti-D*0");
49 static EvtId DSTP=EvtPDL::getId("D*+");
50 static EvtId DSTM=EvtPDL::getId("D*-");
51 static EvtId D0=EvtPDL::getId("D0");
52 static EvtId D0B=EvtPDL::getId("anti-D0");
53 static EvtId DP=EvtPDL::getId("D+");
54 static EvtId DM=EvtPDL::getId("D-");
55
56 static EvtId D1P1P=EvtPDL::getId("D_1+");
57 static EvtId D1P1N=EvtPDL::getId("D_1-");
58 static EvtId D1P10=EvtPDL::getId("D_10");
59 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
60
61 static EvtId D3P2P=EvtPDL::getId("D_2*+");
62 static EvtId D3P2N=EvtPDL::getId("D_2*-");
63 static EvtId D3P20=EvtPDL::getId("D_2*0");
64 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
65
66 static EvtId D3P1P=EvtPDL::getId("D'_1+");
67 static EvtId D3P1N=EvtPDL::getId("D'_1-");
68 static EvtId D3P10=EvtPDL::getId("D'_10");
69 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
70
71 static EvtId D3P0P=EvtPDL::getId("D_0*+");
72 static EvtId D3P0N=EvtPDL::getId("D_0*-");
73 static EvtId D3P00=EvtPDL::getId("D_0*0");
74 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
75
76 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
77 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
78 static EvtId D21S00=EvtPDL::getId("D(2S)0");
79 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
80
81 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
82 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
83 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
84 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
85
86 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
87 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
88 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
89 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
90 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
91
92 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
93 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
94 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
95
96 static EvtId PIP=EvtPDL::getId("pi+");
97 static EvtId PIM=EvtPDL::getId("pi-");
98 static EvtId PI0=EvtPDL::getId("pi0");
99
100 static EvtId RHOP=EvtPDL::getId("rho+");
101 static EvtId RHOM=EvtPDL::getId("rho-");
102 static EvtId RHO0=EvtPDL::getId("rho0");
103
104 static EvtId A2P=EvtPDL::getId("a_2+");
105 static EvtId A2M=EvtPDL::getId("a_2-");
106 static EvtId A20=EvtPDL::getId("a_20");
107
108 static EvtId A1P=EvtPDL::getId("a_1+");
109 static EvtId A1M=EvtPDL::getId("a_1-");
110 static EvtId A10=EvtPDL::getId("a_10");
111
112 static EvtId A0P=EvtPDL::getId("a_0+");
113 static EvtId A0M=EvtPDL::getId("a_0-");
114 static EvtId A00=EvtPDL::getId("a_00");
115
116 static EvtId B1P=EvtPDL::getId("b_1+");
117 static EvtId B1M=EvtPDL::getId("b_1-");
118 static EvtId B10=EvtPDL::getId("b_10");
119
120 static EvtId H1=EvtPDL::getId("h_1");
121 static EvtId H1PR=EvtPDL::getId("h'_1");
122
123 static EvtId F1=EvtPDL::getId("f_1");
124 static EvtId F1PR=EvtPDL::getId("f'_1");
125 static EvtId F0=EvtPDL::getId("f_0");
126 static EvtId F0PR=EvtPDL::getId("f'_0");
127 static EvtId F2=EvtPDL::getId("f_2");
128 static EvtId F2PR=EvtPDL::getId("f'_2");
129
130 static EvtId ETA=EvtPDL::getId("eta");
131 static EvtId ETAPR=EvtPDL::getId("eta'");
132 static EvtId OMEG=EvtPDL::getId("omega");
133
134 static EvtId KP=EvtPDL::getId("K+");
135 static EvtId KM=EvtPDL::getId("K-");
136 static EvtId K0=EvtPDL::getId("K0");
137 static EvtId KB=EvtPDL::getId("anti-K0");
138 static EvtId K0S=EvtPDL::getId("K_S0");
139 static EvtId K0L=EvtPDL::getId("K_L0");
140
141 static EvtId KSTP=EvtPDL::getId("K*+");
142 static EvtId KSTM=EvtPDL::getId("K*-");
143 static EvtId KST0=EvtPDL::getId("K*0");
144 static EvtId KSTB=EvtPDL::getId("anti-K*0");
145
146 static EvtId K1P=EvtPDL::getId("K_1+");
147 static EvtId K1M=EvtPDL::getId("K_1-");
148 static EvtId K10=EvtPDL::getId("K_10");
149 static EvtId K1B=EvtPDL::getId("anti-K_10");
150
151 static EvtId K1STP=EvtPDL::getId("K'_1+");
152 static EvtId K1STM=EvtPDL::getId("K'_1-");
153 static EvtId K1ST0=EvtPDL::getId("K'_10");
154 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
155
156 static EvtId K2STP=EvtPDL::getId("K_2*+");
157 static EvtId K2STM=EvtPDL::getId("K_2*-");
158 static EvtId K2ST0=EvtPDL::getId("K_2*0");
159 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
160
161 static EvtId K0STP=EvtPDL::getId("K_0*+");
162 static EvtId K0STM=EvtPDL::getId("K_0*-");
163 static EvtId K0ST0=EvtPDL::getId("K_0*0");
164 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
165
166 static EvtId PHI=EvtPDL::getId("phi");
167 static EvtId DSP=EvtPDL::getId("D_s+");
168 static EvtId DSM=EvtPDL::getId("D_s-");
169
170 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
171 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
172
173 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
174 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
175
176 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
177 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
178
179 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
180 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
181
182 static EvtId DSSTP=EvtPDL::getId("D_s*+");
183 static EvtId DSSTM=EvtPDL::getId("D_s*-");
184
185 static EvtId BSB=EvtPDL::getId("anti-B_s0");
186 static EvtId BS0=EvtPDL::getId("B_s0");
187
188 double fmf;
189 double mb=EvtPDL::getMeanMass(parent);
190
191 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
192 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
193 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0S||
194 daught==K0L||daught==KB||daught==DSP||daught==DSM) {
195
196 EvtISGW2FF1S0(parent,daught,t,mass,fpf,&fmf);
197 }
198
199 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
200 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
201 EvtISGW2FF21S0(parent,daught,t,mass,fpf,&fmf);
202 }
203
204 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
205 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
206 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
207 daught==D3P0SP||daught==D3P0SN||
208 daught==K0ST0) {
209 EvtISGW2FF3P0(parent,daught,t,mass,fpf,&fmf);
210 }
211
212 *f0f = (fmf/((mb*mb-mass*mass)/t))+(*fpf);
213
214 return ;
215}
216
218 double t, double mass, double *hf,
219 double *kf, double *bpf, double *bmf ){
220
221 //added by Lange Jan4,2000
222 static EvtId EM=EvtPDL::getId("e-");
223 static EvtId EP=EvtPDL::getId("e+");
224 static EvtId MUM=EvtPDL::getId("mu-");
225 static EvtId MUP=EvtPDL::getId("mu+");
226 static EvtId TAUM=EvtPDL::getId("tau-");
227 static EvtId TAUP=EvtPDL::getId("tau+");
228
229 static EvtId BP=EvtPDL::getId("B+");
230 static EvtId BM=EvtPDL::getId("B-");
231 static EvtId B0=EvtPDL::getId("B0");
232 static EvtId B0B=EvtPDL::getId("anti-B0");
233
234 static EvtId DST0=EvtPDL::getId("D*0");
235 static EvtId DSTB=EvtPDL::getId("anti-D*0");
236 static EvtId DSTP=EvtPDL::getId("D*+");
237 static EvtId DSTM=EvtPDL::getId("D*-");
238 static EvtId D0=EvtPDL::getId("D0");
239 static EvtId D0B=EvtPDL::getId("anti-D0");
240 static EvtId DP=EvtPDL::getId("D+");
241 static EvtId DM=EvtPDL::getId("D-");
242
243 static EvtId D1P1P=EvtPDL::getId("D_1+");
244 static EvtId D1P1N=EvtPDL::getId("D_1-");
245 static EvtId D1P10=EvtPDL::getId("D_10");
246 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
247
248 static EvtId D3P2P=EvtPDL::getId("D_2*+");
249 static EvtId D3P2N=EvtPDL::getId("D_2*-");
250 static EvtId D3P20=EvtPDL::getId("D_2*0");
251 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
252
253 static EvtId D3P1P=EvtPDL::getId("D'_1+");
254 static EvtId D3P1N=EvtPDL::getId("D'_1-");
255 static EvtId D3P10=EvtPDL::getId("D'_10");
256 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
257
258 static EvtId D3P0P=EvtPDL::getId("D_0*+");
259 static EvtId D3P0N=EvtPDL::getId("D_0*-");
260 static EvtId D3P00=EvtPDL::getId("D_0*0");
261 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
262
263 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
264 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
265 static EvtId D21S00=EvtPDL::getId("D(2S)0");
266 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
267
268 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
269 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
270 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
271 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
272
273 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
274 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
275 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
276 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
277 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
278
279 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
280 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
281 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
282
283 static EvtId PIP=EvtPDL::getId("pi+");
284 static EvtId PIM=EvtPDL::getId("pi-");
285 static EvtId PI0=EvtPDL::getId("pi0");
286
287 static EvtId RHOP=EvtPDL::getId("rho+");
288 static EvtId RHOM=EvtPDL::getId("rho-");
289 static EvtId RHO0=EvtPDL::getId("rho0");
290
291 static EvtId A2P=EvtPDL::getId("a_2+");
292 static EvtId A2M=EvtPDL::getId("a_2-");
293 static EvtId A20=EvtPDL::getId("a_20");
294
295 static EvtId A1P=EvtPDL::getId("a_1+");
296 static EvtId A1M=EvtPDL::getId("a_1-");
297 static EvtId A10=EvtPDL::getId("a_10");
298
299 static EvtId A0P=EvtPDL::getId("a_0+");
300 static EvtId A0M=EvtPDL::getId("a_0-");
301 static EvtId A00=EvtPDL::getId("a_00");
302
303 static EvtId B1P=EvtPDL::getId("b_1+");
304 static EvtId B1M=EvtPDL::getId("b_1-");
305 static EvtId B10=EvtPDL::getId("b_10");
306
307 static EvtId H1=EvtPDL::getId("h_1");
308 static EvtId H1PR=EvtPDL::getId("h'_1");
309
310 static EvtId F1=EvtPDL::getId("f_1");
311 static EvtId F1PR=EvtPDL::getId("f'_1");
312 static EvtId F0=EvtPDL::getId("f_0");
313 static EvtId F0PR=EvtPDL::getId("f'_0");
314 static EvtId F2=EvtPDL::getId("f_2");
315 static EvtId F2PR=EvtPDL::getId("f'_2");
316
317 static EvtId ETA=EvtPDL::getId("eta");
318 static EvtId ETAPR=EvtPDL::getId("eta'");
319 static EvtId OMEG=EvtPDL::getId("omega");
320
321 static EvtId KP=EvtPDL::getId("K+");
322 static EvtId KM=EvtPDL::getId("K-");
323 static EvtId K0=EvtPDL::getId("K0");
324 static EvtId KB=EvtPDL::getId("anti-K0");
325 static EvtId K0S=EvtPDL::getId("K_S0");
326 static EvtId K0L=EvtPDL::getId("K_L0");
327
328 static EvtId KSTP=EvtPDL::getId("K*+");
329 static EvtId KSTM=EvtPDL::getId("K*-");
330 static EvtId KST0=EvtPDL::getId("K*0");
331 static EvtId KSTB=EvtPDL::getId("anti-K*0");
332
333 static EvtId K1P=EvtPDL::getId("K_1+");
334 static EvtId K1M=EvtPDL::getId("K_1-");
335 static EvtId K10=EvtPDL::getId("K_10");
336 static EvtId K1B=EvtPDL::getId("anti-K_10");
337
338 static EvtId K1STP=EvtPDL::getId("K'_1+");
339 static EvtId K1STM=EvtPDL::getId("K'_1-");
340 static EvtId K1ST0=EvtPDL::getId("K'_10");
341 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
342
343 static EvtId K2STP=EvtPDL::getId("K_2*+");
344 static EvtId K2STM=EvtPDL::getId("K_2*-");
345 static EvtId K2ST0=EvtPDL::getId("K_2*0");
346 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
347
348 static EvtId K0STP=EvtPDL::getId("K_0*+");
349 static EvtId K0STM=EvtPDL::getId("K_0*-");
350 static EvtId K0ST0=EvtPDL::getId("K_0*0");
351 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
352
353 static EvtId PHI=EvtPDL::getId("phi");
354 static EvtId DSP=EvtPDL::getId("D_s+");
355 static EvtId DSM=EvtPDL::getId("D_s-");
356
357 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
358 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
359
360 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
361 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
362
363 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
364 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
365
366 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
367 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
368
369 static EvtId DSSTP=EvtPDL::getId("D_s*+");
370 static EvtId DSSTM=EvtPDL::getId("D_s*-");
371
372 static EvtId BSB=EvtPDL::getId("anti-B_s0");
373 static EvtId BS0=EvtPDL::getId("B_s0");
374
375 EvtISGW2FF3P2(parent,daught,t,mass,hf,kf,bpf,bmf);
376
377 return;
378
379 }
380
381
383 double t, double mass, double *a1f,
384 double *a2f, double *vf, double *a0f ){
385 double ff,gf,apf,amf;
386
387 //added by Lange Jan4,2000
388 static EvtId EM=EvtPDL::getId("e-");
389 static EvtId EP=EvtPDL::getId("e+");
390 static EvtId MUM=EvtPDL::getId("mu-");
391 static EvtId MUP=EvtPDL::getId("mu+");
392 static EvtId TAUM=EvtPDL::getId("tau-");
393 static EvtId TAUP=EvtPDL::getId("tau+");
394
395 static EvtId BP=EvtPDL::getId("B+");
396 static EvtId BM=EvtPDL::getId("B-");
397 static EvtId B0=EvtPDL::getId("B0");
398 static EvtId B0B=EvtPDL::getId("anti-B0");
399
400 static EvtId DST0=EvtPDL::getId("D*0");
401 static EvtId DSTB=EvtPDL::getId("anti-D*0");
402 static EvtId DSTP=EvtPDL::getId("D*+");
403 static EvtId DSTM=EvtPDL::getId("D*-");
404 static EvtId D0=EvtPDL::getId("D0");
405 static EvtId D0B=EvtPDL::getId("anti-D0");
406 static EvtId DP=EvtPDL::getId("D+");
407 static EvtId DM=EvtPDL::getId("D-");
408
409 static EvtId D1P1P=EvtPDL::getId("D_1+");
410 static EvtId D1P1N=EvtPDL::getId("D_1-");
411 static EvtId D1P10=EvtPDL::getId("D_10");
412 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
413
414 static EvtId D3P2P=EvtPDL::getId("D_2*+");
415 static EvtId D3P2N=EvtPDL::getId("D_2*-");
416 static EvtId D3P20=EvtPDL::getId("D_2*0");
417 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
418
419 static EvtId D3P1P=EvtPDL::getId("D'_1+");
420 static EvtId D3P1N=EvtPDL::getId("D'_1-");
421 static EvtId D3P10=EvtPDL::getId("D'_10");
422 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
423
424 static EvtId D3P0P=EvtPDL::getId("D_0*+");
425 static EvtId D3P0N=EvtPDL::getId("D_0*-");
426 static EvtId D3P00=EvtPDL::getId("D_0*0");
427 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
428
429 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
430 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
431 static EvtId D21S00=EvtPDL::getId("D(2S)0");
432 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
433
434 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
435 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
436 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
437 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
438
439 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
440 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
441 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
442 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
443 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
444
445 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
446 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
447 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
448
449 static EvtId PIP=EvtPDL::getId("pi+");
450 static EvtId PIM=EvtPDL::getId("pi-");
451 static EvtId PI0=EvtPDL::getId("pi0");
452
453 static EvtId RHOP=EvtPDL::getId("rho+");
454 static EvtId RHOM=EvtPDL::getId("rho-");
455 static EvtId RHO0=EvtPDL::getId("rho0");
456
457 static EvtId A2P=EvtPDL::getId("a_2+");
458 static EvtId A2M=EvtPDL::getId("a_2-");
459 static EvtId A20=EvtPDL::getId("a_20");
460
461 static EvtId A1P=EvtPDL::getId("a_1+");
462 static EvtId A1M=EvtPDL::getId("a_1-");
463 static EvtId A10=EvtPDL::getId("a_10");
464
465 static EvtId A0P=EvtPDL::getId("a_0+");
466 static EvtId A0M=EvtPDL::getId("a_0-");
467 static EvtId A00=EvtPDL::getId("a_00");
468
469 static EvtId B1P=EvtPDL::getId("b_1+");
470 static EvtId B1M=EvtPDL::getId("b_1-");
471 static EvtId B10=EvtPDL::getId("b_10");
472
473 static EvtId H1=EvtPDL::getId("h_1");
474 static EvtId H1PR=EvtPDL::getId("h'_1");
475
476 static EvtId F1=EvtPDL::getId("f_1");
477 static EvtId F1PR=EvtPDL::getId("f'_1");
478 static EvtId F0=EvtPDL::getId("f_0");
479 static EvtId F0PR=EvtPDL::getId("f'_0");
480 static EvtId F2=EvtPDL::getId("f_2");
481 static EvtId F2PR=EvtPDL::getId("f'_2");
482
483 static EvtId ETA=EvtPDL::getId("eta");
484 static EvtId ETAPR=EvtPDL::getId("eta'");
485 static EvtId OMEG=EvtPDL::getId("omega");
486
487 static EvtId KP=EvtPDL::getId("K+");
488 static EvtId KM=EvtPDL::getId("K-");
489 static EvtId K0=EvtPDL::getId("K0");
490 static EvtId KB=EvtPDL::getId("anti-K0");
491 static EvtId K0S=EvtPDL::getId("K_S0");
492 static EvtId K0L=EvtPDL::getId("K_L0");
493
494 static EvtId KSTP=EvtPDL::getId("K*+");
495 static EvtId KSTM=EvtPDL::getId("K*-");
496 static EvtId KST0=EvtPDL::getId("K*0");
497 static EvtId KSTB=EvtPDL::getId("anti-K*0");
498
499 static EvtId K1P=EvtPDL::getId("K_1+");
500 static EvtId K1M=EvtPDL::getId("K_1-");
501 static EvtId K10=EvtPDL::getId("K_10");
502 static EvtId K1B=EvtPDL::getId("anti-K_10");
503
504 static EvtId K1STP=EvtPDL::getId("K'_1+");
505 static EvtId K1STM=EvtPDL::getId("K'_1-");
506 static EvtId K1ST0=EvtPDL::getId("K'_10");
507 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
508
509 static EvtId K2STP=EvtPDL::getId("K_2*+");
510 static EvtId K2STM=EvtPDL::getId("K_2*-");
511 static EvtId K2ST0=EvtPDL::getId("K_2*0");
512 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
513
514 static EvtId K0STP=EvtPDL::getId("K_0*+");
515 static EvtId K0STM=EvtPDL::getId("K_0*-");
516 static EvtId K0ST0=EvtPDL::getId("K_0*0");
517 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
518
519 static EvtId PHI=EvtPDL::getId("phi");
520 static EvtId DSP=EvtPDL::getId("D_s+");
521 static EvtId DSM=EvtPDL::getId("D_s-");
522
523 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
524 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
525
526 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
527 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
528
529 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
530 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
531
532 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
533 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
534
535 static EvtId DSSTP=EvtPDL::getId("D_s*+");
536 static EvtId DSSTM=EvtPDL::getId("D_s*-");
537
538 static EvtId BSB=EvtPDL::getId("anti-B_s0");
539 static EvtId BS0=EvtPDL::getId("B_s0");
540
541 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
542 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
543 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
544 daught==PHI||daught==DSSTP||daught==DSSTM) {
545 EvtISGW2FF3S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
546 }
547 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
548 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
549 daught==D1P1SP||daught==D1P1SN||
550 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
551 daught==K1M) {
552 EvtISGW2FF1P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
553 }
554 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
555 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
556 EvtISGW2FF23S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
557 }
558 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
559 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
560 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
561 daught==D3P1SP||daught==D3P1SN||
562 daught==K1ST0) {
563 EvtISGW2FF3P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
564 }
565
566 // Need to stuff in some factors to make these the ffs that
567 // is used elsewhere...
568
569 double mb=EvtPDL::getMeanMass(parent);
570
571
572 *vf = (gf)*(mb+mass);
573 *a1f = (ff)/(mb+mass);
574 *a2f = -1.0*(apf)*(mb+mass);
575
576 double a3f = ((mb+mass)/(2.0*mass))*(*a1f) -
577 ((mb-mass)/(2.0*mass))*(*a2f);
578
579 *a0f = a3f + ( (t*amf)/(2.0*mass));
580
581 return;
582 }
583
584
585
586void EvtISGW2FF::EvtISGW2FF1S0 (EvtId parent,EvtId daugt,
587 double t, double mass, double *fpf, double *fmf ) {
588
589 double mtb, mbb(0.0);
590 double msd(0.0), mx,mb,nf(0.0),nfp(0.0);
591 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
592 double zji,cji,w,gammaji,chiji,betaji_fppfm;
593 double rfppfm,rfpmfm,f3fppfm,f3fpmfm,fppfm,fpmfm,al,ai,rcji,f3;
594 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2,betaji_fpmfm;
595
596 EvtId prnt=parent;
597 EvtId dgt=daugt;
598
599 //added by Lange Jan4,2000
600 static EvtId EM=EvtPDL::getId("e-");
601 static EvtId EP=EvtPDL::getId("e+");
602 static EvtId MUM=EvtPDL::getId("mu-");
603 static EvtId MUP=EvtPDL::getId("mu+");
604 static EvtId TAUM=EvtPDL::getId("tau-");
605 static EvtId TAUP=EvtPDL::getId("tau+");
606
607 static EvtIdSet theB("B+","B-","B0","anti-B0");
608
609 static EvtId DST0=EvtPDL::getId("D*0");
610 static EvtId DSTB=EvtPDL::getId("anti-D*0");
611 static EvtId DSTP=EvtPDL::getId("D*+");
612 static EvtId DSTM=EvtPDL::getId("D*-");
613 static EvtId D0=EvtPDL::getId("D0");
614 static EvtId D0B=EvtPDL::getId("anti-D0");
615 static EvtId DP=EvtPDL::getId("D+");
616 static EvtId DM=EvtPDL::getId("D-");
617
618 static EvtId D1P1P=EvtPDL::getId("D_1+");
619 static EvtId D1P1N=EvtPDL::getId("D_1-");
620 static EvtId D1P10=EvtPDL::getId("D_10");
621 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
622
623 static EvtId D3P2P=EvtPDL::getId("D_2*+");
624 static EvtId D3P2N=EvtPDL::getId("D_2*-");
625 static EvtId D3P20=EvtPDL::getId("D_2*0");
626 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
627
628 static EvtId D3P1P=EvtPDL::getId("D'_1+");
629 static EvtId D3P1N=EvtPDL::getId("D'_1-");
630 static EvtId D3P10=EvtPDL::getId("D'_10");
631 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
632
633 static EvtId D3P0P=EvtPDL::getId("D_0*+");
634 static EvtId D3P0N=EvtPDL::getId("D_0*-");
635 static EvtId D3P00=EvtPDL::getId("D_0*0");
636 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
637
638 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
639 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
640 static EvtId D21S00=EvtPDL::getId("D(2S)0");
641 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
642
643 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
644 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
645 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
646 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
647
648 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
649 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
650 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
651 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
652 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
653
654 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
655 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
656 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
657
658 static EvtId PIP=EvtPDL::getId("pi+");
659 static EvtId PIM=EvtPDL::getId("pi-");
660 static EvtId PI0=EvtPDL::getId("pi0");
661
662 static EvtId RHOP=EvtPDL::getId("rho+");
663 static EvtId RHOM=EvtPDL::getId("rho-");
664 static EvtId RHO0=EvtPDL::getId("rho0");
665
666 static EvtId A2P=EvtPDL::getId("a_2+");
667 static EvtId A2M=EvtPDL::getId("a_2-");
668 static EvtId A20=EvtPDL::getId("a_20");
669
670 static EvtId A1P=EvtPDL::getId("a_1+");
671 static EvtId A1M=EvtPDL::getId("a_1-");
672 static EvtId A10=EvtPDL::getId("a_10");
673
674 static EvtId A0P=EvtPDL::getId("a_0+");
675 static EvtId A0M=EvtPDL::getId("a_0-");
676 static EvtId A00=EvtPDL::getId("a_00");
677
678 static EvtId B1P=EvtPDL::getId("b_1+");
679 static EvtId B1M=EvtPDL::getId("b_1-");
680 static EvtId B10=EvtPDL::getId("b_10");
681
682 static EvtId H1=EvtPDL::getId("h_1");
683 static EvtId H1PR=EvtPDL::getId("h'_1");
684
685 static EvtId F1=EvtPDL::getId("f_1");
686 static EvtId F1PR=EvtPDL::getId("f'_1");
687 static EvtId F0=EvtPDL::getId("f_0");
688 static EvtId F0PR=EvtPDL::getId("f'_0");
689 static EvtId F2=EvtPDL::getId("f_2");
690 static EvtId F2PR=EvtPDL::getId("f'_2");
691
692 static EvtId ETA=EvtPDL::getId("eta");
693 static EvtId ETAPR=EvtPDL::getId("eta'");
694 static EvtId OMEG=EvtPDL::getId("omega");
695
696 static EvtId KP=EvtPDL::getId("K+");
697 static EvtId KM=EvtPDL::getId("K-");
698 static EvtId K0=EvtPDL::getId("K0");
699 static EvtId KB=EvtPDL::getId("anti-K0");
700 static EvtId K0S=EvtPDL::getId("K_S0");
701 static EvtId K0L=EvtPDL::getId("K_L0");
702
703 static EvtId KSTP=EvtPDL::getId("K*+");
704 static EvtId KSTM=EvtPDL::getId("K*-");
705 static EvtId KST0=EvtPDL::getId("K*0");
706 static EvtId KSTB=EvtPDL::getId("anti-K*0");
707
708 static EvtId K1P=EvtPDL::getId("K_1+");
709 static EvtId K1M=EvtPDL::getId("K_1-");
710 static EvtId K10=EvtPDL::getId("K_10");
711 static EvtId K1B=EvtPDL::getId("anti-K_10");
712
713 static EvtId K1STP=EvtPDL::getId("K'_1+");
714 static EvtId K1STM=EvtPDL::getId("K'_1-");
715 static EvtId K1ST0=EvtPDL::getId("K'_10");
716 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
717
718 static EvtId K2STP=EvtPDL::getId("K_2*+");
719 static EvtId K2STM=EvtPDL::getId("K_2*-");
720 static EvtId K2ST0=EvtPDL::getId("K_2*0");
721 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
722
723 static EvtId K0STP=EvtPDL::getId("K_0*+");
724 static EvtId K0STM=EvtPDL::getId("K_0*-");
725 static EvtId K0ST0=EvtPDL::getId("K_0*0");
726 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
727
728 static EvtId PHI=EvtPDL::getId("phi");
729 static EvtId DSP=EvtPDL::getId("D_s+");
730 static EvtId DSM=EvtPDL::getId("D_s-");
731
732 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
733 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
734
735 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
736 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
737
738 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
739 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
740
741 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
742 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
743
744 static EvtId DSSTP=EvtPDL::getId("D_s*+");
745 static EvtId DSSTM=EvtPDL::getId("D_s*-");
746
747 static EvtId BSB=EvtPDL::getId("anti-B_s0");
748 static EvtId BS0=EvtPDL::getId("B_s0");
749
750 if (theB.contains(prnt)) {
751
752 msb=5.2;
753 msd=0.33;
754 bb2=0.431*0.431;
755 mbb=5.31;
756 nf = 4.0;
757
758 if (dgt==PI0||dgt==PIP||dgt==PIM||dgt==ETA||dgt==ETAPR) {
759
760 msq=0.33;
761 bx2=0.406*0.406;
762 mbx=0.75*0.770+0.25*0.14;
763 nfp = 0.0;
764 }
765 else{
766 if (dgt==D0||dgt==D0B||dgt==DP||dgt==DM) {
767 msq=1.82;
768 bx2=0.45*0.45;
769 mbx=0.75*2.01+0.25*1.87;
770 nfp = 3.0;
771 }
772 else{
773 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
774 }
775 }
776 }
777 else{
778 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
779 msb=1.82;
780 msd=0.33;
781 bb2=0.45*0.45;
782 mbb=1.963;
783 nf = 3.0;
784
785 if (dgt==PIP||dgt==PIM||dgt==PI0||dgt==ETA||dgt==ETAPR) {
786 msq=0.33;
787 bx2=0.406*0.406;
788 mbx=0.75*0.770+0.25*0.14;
789 nfp = 0.0;
790 }
791 else{
792 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB||dgt==KP||dgt==KM) {
793 msq=0.55;
794 bx2=0.44*0.44;
795 mbx=0.75*0.892+0.25*0.49767;
796 nfp = 2.0;
797 }
798 else{
799 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
800 }
801 }
802 }
803 else{
804 if (prnt==DSP||prnt==DSM){
805 msb=1.82;
806 msd=0.55;
807 bb2=0.56*0.56;
808 mbb=1.968;
809 nf = 3.0;
810
811 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB) {
812
813 msq=0.33;
814 bx2=0.44*0.44;
815 mbx=0.75*0.770+0.25*0.14;
816 nfp = 0.0;
817 }
818 else{
819 if (dgt==PI0||dgt==ETA||dgt==ETAPR) {
820 msq=0.33;
821 bx2=0.53*0.53;
822 mbx=0.75*0.892+0.25*0.49767;
823 nfp = 0.0;
824 }
825 else{
826
827 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
828 }
829 }
830 }
831 else{
832 //BS -> cs constants added by djl on Jan. 21,1998
833 if (prnt==BS0||prnt==BSB){
834
835 msb=5.2;
836 msd=0.55;
837 bb2=0.54*0.54;
838 mbb=5.38;
839 nf = 4.0;
840
841 if (dgt==DSP||dgt==DSM) {
842
843 msq=1.82;
844 bx2=0.56*0.56;
845 mbx=0.75*2.11+0.25*1.97;
846 nfp = 3.0;
847 }
848 else if (dgt==KP||dgt==KM) {
849
850 msq=0.55;
851 bx2=0.44*0.44;
852 mbx=0.75*0.892+0.25*0.49767;
853 nfp = 2.0;
854 }
855 else{
856 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
857 }
858 }
859
860 else{
861 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1S0.\n";
862 report(ERROR,"EvtGen") << "Parent:"<<parent.getId()<<endl;
863 }
864 }
865 }
866 }
867
868 mtb = msb + msd;
869 mtx = msq + msd;
870 mb=EvtPDL::getMeanMass(parent);
871 mx=mass;
872
873 mup=1.0/(1.0/msq+1.0/msb);
874 mum=1.0/(1.0/msq-1.0/msb);
875 bbx2=0.5*(bb2+bx2);
876 tm=(mb-mx)*(mb-mx);
877 if ( t>tm ) t=0.99*tm;
878 wt=1.0+(tm-t)/(2.0*mbb*mbx);
879
880 mqm = 0.1;
881 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
882 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
883 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
884
885 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5) /
886 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
887
888// for w use wt def with physical masses.
889// report(ERROR,"EvtGen") << "before w\n";
890
891 w = 1.0 + (( tm - t ) / ( 2.0* mb * mx ));
892 rcji = ( 1/sqrt(w*w -1 ))*log( w + sqrt( w*w -1 ));
893 al = (8.0 / ( 33.0 - 2.0*nfp ))*(w*rcji -1.0 );
894 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
895 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
896
897 zji = msq / msb;
898
899 gammaji = EvtGetGammaji( zji );
900 chiji = -1.0 - ( gammaji / ( 1- zji ));
901 betaji_fppfm = gammaji - (2.0/3.0)*chiji;
902 betaji_fpmfm = gammaji + (2.0/3.0)*chiji;
903 rfppfm = cji *(1.0 + betaji_fppfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
904 rfpmfm = cji *(1.0 + betaji_fpmfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
905 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
906 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
907 fppfm = f3fppfm* rfppfm * ( 2.0 - ( ( mtx/msq)*(1- ( (msd*msq*bb2)
908 /(2.0*mup*mtx*bbx2)))));
909 fpmfm = f3fpmfm* rfpmfm * ( mtb/msq) * ( 1 - ( ( msd*msq*bb2)/
910 ( 2.0*mup*mtx*bbx2)));
911
912 *fpf = (fppfm + fpmfm)/2.0;
913 *fmf = (fppfm - fpmfm)/2.0;
914
915 return;
916} //get_ff_isgw_1s0
917
918
919
920
921
922void EvtISGW2FF::EvtISGW2FF3S1(EvtId parent,EvtId daugt,double t,double mass,
923 double *f,double *g,double *ap,double *am){
924
925 //added by Lange Jan4,2000
926 static EvtId EM=EvtPDL::getId("e-");
927 static EvtId EP=EvtPDL::getId("e+");
928 static EvtId MUM=EvtPDL::getId("mu-");
929 static EvtId MUP=EvtPDL::getId("mu+");
930 static EvtId TAUM=EvtPDL::getId("tau-");
931 static EvtId TAUP=EvtPDL::getId("tau+");
932
933 static EvtId BP=EvtPDL::getId("B+");
934 static EvtId BM=EvtPDL::getId("B-");
935 static EvtId B0=EvtPDL::getId("B0");
936 static EvtId B0B=EvtPDL::getId("anti-B0");
937
938 static EvtId DST0=EvtPDL::getId("D*0");
939 static EvtId DSTB=EvtPDL::getId("anti-D*0");
940 static EvtId DSTP=EvtPDL::getId("D*+");
941 static EvtId DSTM=EvtPDL::getId("D*-");
942 static EvtId D0=EvtPDL::getId("D0");
943 static EvtId D0B=EvtPDL::getId("anti-D0");
944 static EvtId DP=EvtPDL::getId("D+");
945 static EvtId DM=EvtPDL::getId("D-");
946
947 static EvtId D1P1P=EvtPDL::getId("D_1+");
948 static EvtId D1P1N=EvtPDL::getId("D_1-");
949 static EvtId D1P10=EvtPDL::getId("D_10");
950 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
951
952 static EvtId D3P2P=EvtPDL::getId("D_2*+");
953 static EvtId D3P2N=EvtPDL::getId("D_2*-");
954 static EvtId D3P20=EvtPDL::getId("D_2*0");
955 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
956
957 static EvtId D3P1P=EvtPDL::getId("D'_1+");
958 static EvtId D3P1N=EvtPDL::getId("D'_1-");
959 static EvtId D3P10=EvtPDL::getId("D'_10");
960 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
961
962 static EvtId D3P0P=EvtPDL::getId("D_0*+");
963 static EvtId D3P0N=EvtPDL::getId("D_0*-");
964 static EvtId D3P00=EvtPDL::getId("D_0*0");
965 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
966
967 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
968 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
969 static EvtId D21S00=EvtPDL::getId("D(2S)0");
970 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
971
972 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
973 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
974 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
975 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
976
977 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
978 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
979 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
980 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
981 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
982
983 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
984 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
985 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
986
987 static EvtId PIP=EvtPDL::getId("pi+");
988 static EvtId PIM=EvtPDL::getId("pi-");
989 static EvtId PI0=EvtPDL::getId("pi0");
990
991 static EvtId RHOP=EvtPDL::getId("rho+");
992 static EvtId RHOM=EvtPDL::getId("rho-");
993 static EvtId RHO0=EvtPDL::getId("rho0");
994
995 static EvtId A2P=EvtPDL::getId("a_2+");
996 static EvtId A2M=EvtPDL::getId("a_2-");
997 static EvtId A20=EvtPDL::getId("a_20");
998
999 static EvtId A1P=EvtPDL::getId("a_1+");
1000 static EvtId A1M=EvtPDL::getId("a_1-");
1001 static EvtId A10=EvtPDL::getId("a_10");
1002
1003 static EvtId A0P=EvtPDL::getId("a_0+");
1004 static EvtId A0M=EvtPDL::getId("a_0-");
1005 static EvtId A00=EvtPDL::getId("a_00");
1006
1007 static EvtId B1P=EvtPDL::getId("b_1+");
1008 static EvtId B1M=EvtPDL::getId("b_1-");
1009 static EvtId B10=EvtPDL::getId("b_10");
1010
1011 static EvtId H1=EvtPDL::getId("h_1");
1012 static EvtId H1PR=EvtPDL::getId("h'_1");
1013
1014 static EvtId F1=EvtPDL::getId("f_1");
1015 static EvtId F1PR=EvtPDL::getId("f'_1");
1016 static EvtId F0=EvtPDL::getId("f_0");
1017 static EvtId F0PR=EvtPDL::getId("f'_0");
1018 static EvtId F2=EvtPDL::getId("f_2");
1019 static EvtId F2PR=EvtPDL::getId("f'_2");
1020
1021 static EvtId ETA=EvtPDL::getId("eta");
1022 static EvtId ETAPR=EvtPDL::getId("eta'");
1023 static EvtId OMEG=EvtPDL::getId("omega");
1024
1025 static EvtId KP=EvtPDL::getId("K+");
1026 static EvtId KM=EvtPDL::getId("K-");
1027 static EvtId K0=EvtPDL::getId("K0");
1028 static EvtId KB=EvtPDL::getId("anti-K0");
1029 static EvtId K0S=EvtPDL::getId("K_S0");
1030 static EvtId K0L=EvtPDL::getId("K_L0");
1031
1032 static EvtId KSTP=EvtPDL::getId("K*+");
1033 static EvtId KSTM=EvtPDL::getId("K*-");
1034 static EvtId KST0=EvtPDL::getId("K*0");
1035 static EvtId KSTB=EvtPDL::getId("anti-K*0");
1036
1037 static EvtId K1P=EvtPDL::getId("K_1+");
1038 static EvtId K1M=EvtPDL::getId("K_1-");
1039 static EvtId K10=EvtPDL::getId("K_10");
1040 static EvtId K1B=EvtPDL::getId("anti-K_10");
1041
1042 static EvtId K1STP=EvtPDL::getId("K'_1+");
1043 static EvtId K1STM=EvtPDL::getId("K'_1-");
1044 static EvtId K1ST0=EvtPDL::getId("K'_10");
1045 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
1046
1047 static EvtId K2STP=EvtPDL::getId("K_2*+");
1048 static EvtId K2STM=EvtPDL::getId("K_2*-");
1049 static EvtId K2ST0=EvtPDL::getId("K_2*0");
1050 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
1051
1052 static EvtId K0STP=EvtPDL::getId("K_0*+");
1053 static EvtId K0STM=EvtPDL::getId("K_0*-");
1054 static EvtId K0ST0=EvtPDL::getId("K_0*0");
1055 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
1056
1057 static EvtId PHI=EvtPDL::getId("phi");
1058 static EvtId DSP=EvtPDL::getId("D_s+");
1059 static EvtId DSM=EvtPDL::getId("D_s-");
1060
1061 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
1062 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
1063
1064 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
1065 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
1066
1067 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
1068 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
1069
1070 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
1071 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
1072
1073 static EvtId DSSTP=EvtPDL::getId("D_s*+");
1074 static EvtId DSSTM=EvtPDL::getId("D_s*-");
1075
1076 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1077 static EvtId BS0=EvtPDL::getId("B_s0");
1078
1079 double cf(0.0),mtb,wt,msd(0.0),mup,f3f,msq(0.0),bb2(0.0),mum,mtx,bbx2,f3g;
1080 double cji,bx2(0.0),f3appam,msb(0.0),tm,mbb(0.0),mbx(0.0);
1081 double f3apmam,appam,apmam,mb,mx,f3;
1082 double r_f,r_g,r_appam,r_apmam, betaji_f,betaji_g;
1083 double betaji_appam, betaji_apmam;
1084 double w,mqm,r2,chiji,zji,ai,al,rcji,nf(0.0),nfp(0.0),gammaji;
1085
1086 EvtId prnt=parent;
1087 EvtId dgt=daugt;
1088
1089 if (parent==B0||parent==B0B||parent==BP||parent==BM) {
1090
1091 msb=5.2;
1092 msd=0.33;
1093 bb2=0.431*0.431;
1094 mbb=5.31;
1095 nf = 4.0;
1096
1097 if (dgt==DST0||dgt==DSTP||dgt==DSTM||dgt==DSTB) {
1098
1099 cf=0.989;
1100 msq=1.82;
1101 bx2=0.38*0.38;
1102 mbx=0.75*2.01+0.25*1.87;
1103 nfp = 3.0;
1104 }
1105 else{
1106 if (dgt==OMEG||dgt==RHO0||dgt==RHOM||dgt==RHOP) {
1107
1108 cf=0.905;
1109 msq=0.33;
1110 bx2=0.299*0.299;
1111 mbx=0.75*0.770+0.25*0.14;
1112 nfp = 0.0;
1113 }
1114 else{
1115 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
1116 }
1117 }
1118 }
1119 else{
1120 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1121
1122 msb=1.82;
1123 msd=0.33;
1124 bb2=0.45*0.45;
1125 mbb=1.963;
1126 nf = 3.0;
1127
1128 if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
1129
1130 cf=0.928;
1131 msq=0.55;
1132 bx2=0.33*0.33;
1133 mbx=0.75*0.892+0.25*0.494;
1134 nfp = 2.0;
1135 }
1136 else{
1137 if (dgt==RHO0||dgt==OMEG||dgt==RHOM||dgt==RHOP) {
1138 cf=0.889;
1139 msq=0.33;
1140 bx2=0.299*0.299;
1141 mbx=0.75*0.770+0.25*0.14;
1142 nfp = 0.0;
1143 }
1144 else{
1145 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
1146 }
1147 }
1148 }
1149 else{
1150 if (prnt==DSP||prnt==DSM){
1151
1152 msb=1.82;
1153 msd=0.55;
1154 bb2=0.56*0.56;
1155 mbb=1.968;
1156 nf = 3.0;
1157
1158 if (dgt==KSTB||dgt==KST0) {
1159
1160 cf=0.8731;
1161 msq=0.55;
1162 bx2=0.33*0.33;
1163 mbx=0.87;
1164 nfp = 2.0;
1165 }
1166 else{
1167 if(dgt==PHI){
1168 cf=0.911;
1169 msq=0.55;
1170 bx2=0.37*0.37;
1171 mbx=0.97;
1172 nfp = 2.0;
1173 }
1174 else{
1175 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
1176 }
1177 }
1178 }
1179 else{
1180 //BS -> cs constants added by djl on Jan. 21,1998
1181 if (prnt==BS0||prnt==BSB){
1182
1183 msb=5.2;
1184 msd=0.55;
1185 bb2=0.54*0.54;
1186 mbb=5.38;
1187 nf = 4.0;
1188
1189 if (dgt==DSSTP||dgt==DSSTM) {
1190
1191 cf=0.984;
1192 msq=1.82;
1193 bx2=0.49*0.49;
1194 mbx=0.75*2.11+0.25*1.97;
1195 nfp = 3.0;
1196 }
1197 else if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
1198
1199 cf=0.928;
1200 msq=0.55;
1201 bx2=0.33*0.33;
1202 mbx=0.75*0.892+0.25*0.494;
1203 nfp = 2.0;
1204 }
1205 else{
1206 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
1207 }
1208 }
1209
1210 else{
1211 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw2_ff_3S1.\n";
1212 }
1213 }
1214 }
1215 }
1216
1217
1218 mtb=msb+msd;
1219 mtx=msq+msd;
1220
1221 mup=1.0/(1.0/msq+1.0/msb);
1222 mum=1.0/(1.0/msq-1.0/msb);
1223 bbx2=0.5*(bb2+bx2);
1224 mb=EvtPDL::getMeanMass(parent);
1225 mx=mass;
1226 tm=(mb-mx)*(mb-mx);
1227 if ( t > tm ) t = 0.99*tm;
1228
1229 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1230 mqm = 0.1;
1231
1232 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1233 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1234 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
1235
1236 w = 1.0 + (( tm - t ) / ( 2.0* mb * mx ));
1237
1238 rcji = ( 1/sqrt(w*w -1 ))*log( w + sqrt( w*w -1 ));
1239
1240 al = (8.0 / ( 33.0 - 2.0*nfp ))*(w*rcji -1.0 );
1241
1242 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
1243
1244 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
1245 zji = msq / msb;
1246
1247 gammaji = EvtGetGammaji( zji );
1248
1249 chiji = -1.0 - ( gammaji / ( 1- zji ));
1250
1251 betaji_g = (2.0/3.0)+gammaji;
1252 betaji_f = (-2.0/3.0)+gammaji;
1253 betaji_appam = -1.0-chiji+(4.0/(3.0*(1.0-zji)))+
1254 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)));
1255
1256 betaji_apmam = (1.0/3.0)-chiji-(4.0/(3.0*(1.0-zji)))-
1257 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)))+
1258 gammaji;
1259
1260 r_g = cji*(1+(betaji_g*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
1261 r_f = cji*(1+(betaji_f*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
1262 r_appam = cji*(1+(betaji_appam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
1263 r_apmam = cji*(1+(betaji_apmam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
1264
1265
1266 f3=sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5)/
1267 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
1268
1269 f3f=sqrt(mbx*mbb/(mtx*mtb))*f3;
1270 f3g=sqrt(mtx*mtb/(mbx*mbb))*f3;
1271 f3appam=sqrt(mtb*mtb*mtb*mbx/(mbb*mbb*mbb*mtx))*f3;
1272 f3apmam=sqrt(mtx*mtb/(mbx*mbb))*f3;
1273 *f=cf*mtb*(1+wt+msd*(wt-1)/(2*mup))*f3f*r_f;
1274 *g=0.5*(1/msq-msd*bb2/(2*mum*mtx*bbx2))*f3g*r_g;
1275
1276 appam=cji*(msd*bx2*(1-msd*bx2/(2*mtb*bbx2))/
1277 ((1+wt)*msq*msb*bbx2)-
1278 betaji_appam*EvtGetas( msq,sqrt(msq*mb) )/
1279 (mtb*EvtConst::pi))*f3appam;
1280
1281 apmam=-1.0*(mtb/msb-msd*bx2/(2*mup*bbx2)+wt*msd*mtb*bx2*
1282 (1-msd*bx2/(2*mtb*bbx2))/((wt+1)*msq*msb*bbx2))*
1283 f3apmam*r_apmam/mtx;
1284
1285 *ap=0.5*(appam+apmam);
1286 *am=0.5*(appam-apmam);
1287 return;
1288}
1289
1290
1291void EvtISGW2FF::EvtISGW2FF21S0 (EvtId parent,EvtId daugt,
1292 double t, double mass, double *fppf, double *fpmf ) {
1293
1294 //added by Lange Jan4,2000
1295 static EvtId EM=EvtPDL::getId("e-");
1296 static EvtId EP=EvtPDL::getId("e+");
1297 static EvtId MUM=EvtPDL::getId("mu-");
1298 static EvtId MUP=EvtPDL::getId("mu+");
1299 static EvtId TAUM=EvtPDL::getId("tau-");
1300 static EvtId TAUP=EvtPDL::getId("tau+");
1301
1302 static EvtId BP=EvtPDL::getId("B+");
1303 static EvtId BM=EvtPDL::getId("B-");
1304 static EvtId B0=EvtPDL::getId("B0");
1305 static EvtId B0B=EvtPDL::getId("anti-B0");
1306
1307 static EvtId DST0=EvtPDL::getId("D*0");
1308 static EvtId DSTB=EvtPDL::getId("anti-D*0");
1309 static EvtId DSTP=EvtPDL::getId("D*+");
1310 static EvtId DSTM=EvtPDL::getId("D*-");
1311 static EvtId D0=EvtPDL::getId("D0");
1312 static EvtId D0B=EvtPDL::getId("anti-D0");
1313 static EvtId DP=EvtPDL::getId("D+");
1314 static EvtId DM=EvtPDL::getId("D-");
1315
1316 static EvtId D1P1P=EvtPDL::getId("D_1+");
1317 static EvtId D1P1N=EvtPDL::getId("D_1-");
1318 static EvtId D1P10=EvtPDL::getId("D_10");
1319 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
1320
1321 static EvtId D3P2P=EvtPDL::getId("D_2*+");
1322 static EvtId D3P2N=EvtPDL::getId("D_2*-");
1323 static EvtId D3P20=EvtPDL::getId("D_2*0");
1324 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
1325
1326 static EvtId D3P1P=EvtPDL::getId("D'_1+");
1327 static EvtId D3P1N=EvtPDL::getId("D'_1-");
1328 static EvtId D3P10=EvtPDL::getId("D'_10");
1329 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
1330
1331 static EvtId D3P0P=EvtPDL::getId("D_0*+");
1332 static EvtId D3P0N=EvtPDL::getId("D_0*-");
1333 static EvtId D3P00=EvtPDL::getId("D_0*0");
1334 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
1335
1336 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
1337 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
1338 static EvtId D21S00=EvtPDL::getId("D(2S)0");
1339 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
1340
1341 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
1342 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
1343 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
1344 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
1345
1346 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
1347 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
1348 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
1349 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
1350 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
1351
1352 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
1353 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
1354 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
1355
1356 static EvtId PIP=EvtPDL::getId("pi+");
1357 static EvtId PIM=EvtPDL::getId("pi-");
1358 static EvtId PI0=EvtPDL::getId("pi0");
1359
1360 static EvtId RHOP=EvtPDL::getId("rho+");
1361 static EvtId RHOM=EvtPDL::getId("rho-");
1362 static EvtId RHO0=EvtPDL::getId("rho0");
1363
1364 static EvtId A2P=EvtPDL::getId("a_2+");
1365 static EvtId A2M=EvtPDL::getId("a_2-");
1366 static EvtId A20=EvtPDL::getId("a_20");
1367
1368 static EvtId A1P=EvtPDL::getId("a_1+");
1369 static EvtId A1M=EvtPDL::getId("a_1-");
1370 static EvtId A10=EvtPDL::getId("a_10");
1371
1372 static EvtId A0P=EvtPDL::getId("a_0+");
1373 static EvtId A0M=EvtPDL::getId("a_0-");
1374 static EvtId A00=EvtPDL::getId("a_00");
1375
1376 static EvtId B1P=EvtPDL::getId("b_1+");
1377 static EvtId B1M=EvtPDL::getId("b_1-");
1378 static EvtId B10=EvtPDL::getId("b_10");
1379
1380 static EvtId H1=EvtPDL::getId("h_1");
1381 static EvtId H1PR=EvtPDL::getId("h'_1");
1382
1383 static EvtId F1=EvtPDL::getId("f_1");
1384 static EvtId F1PR=EvtPDL::getId("f'_1");
1385 static EvtId F0=EvtPDL::getId("f_0");
1386 static EvtId F0PR=EvtPDL::getId("f'_0");
1387 static EvtId F2=EvtPDL::getId("f_2");
1388 static EvtId F2PR=EvtPDL::getId("f'_2");
1389
1390 static EvtId ETA=EvtPDL::getId("eta");
1391 static EvtId ETAPR=EvtPDL::getId("eta'");
1392 static EvtId OMEG=EvtPDL::getId("omega");
1393
1394 static EvtId KP=EvtPDL::getId("K+");
1395 static EvtId KM=EvtPDL::getId("K-");
1396 static EvtId K0=EvtPDL::getId("K0");
1397 static EvtId KB=EvtPDL::getId("anti-K0");
1398 static EvtId K0S=EvtPDL::getId("K_S0");
1399 static EvtId K0L=EvtPDL::getId("K_L0");
1400
1401 static EvtId KSTP=EvtPDL::getId("K*+");
1402 static EvtId KSTM=EvtPDL::getId("K*-");
1403 static EvtId KST0=EvtPDL::getId("K*0");
1404 static EvtId KSTB=EvtPDL::getId("anti-K*0");
1405
1406 static EvtId K1P=EvtPDL::getId("K_1+");
1407 static EvtId K1M=EvtPDL::getId("K_1-");
1408 static EvtId K10=EvtPDL::getId("K_10");
1409 static EvtId K1B=EvtPDL::getId("anti-K_10");
1410
1411 static EvtId K1STP=EvtPDL::getId("K'_1+");
1412 static EvtId K1STM=EvtPDL::getId("K'_1-");
1413 static EvtId K1ST0=EvtPDL::getId("K'_10");
1414 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
1415
1416 static EvtId K2STP=EvtPDL::getId("K_2*+");
1417 static EvtId K2STM=EvtPDL::getId("K_2*-");
1418 static EvtId K2ST0=EvtPDL::getId("K_2*0");
1419 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
1420
1421 static EvtId K0STP=EvtPDL::getId("K_0*+");
1422 static EvtId K0STM=EvtPDL::getId("K_0*-");
1423 static EvtId K0ST0=EvtPDL::getId("K_0*0");
1424 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
1425
1426 static EvtId PHI=EvtPDL::getId("phi");
1427 static EvtId DSP=EvtPDL::getId("D_s+");
1428 static EvtId DSM=EvtPDL::getId("D_s-");
1429
1430 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
1431 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
1432
1433 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
1434 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
1435
1436 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
1437 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
1438
1439 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
1440 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
1441
1442 static EvtId DSSTP=EvtPDL::getId("D_s*+");
1443 static EvtId DSSTM=EvtPDL::getId("D_s*-");
1444
1445 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1446 static EvtId BS0=EvtPDL::getId("B_s0");
1447
1448 double mtb, mbb(0.0);
1449 double msd(0.0), mx,mb,nf,nfp(0.0);
1450 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1451 double f3fppfm,f3fpmfm,fppfm,fpmfm,f3;
1452 double mqm,msb(0.0);
1453 double mum,mup,r2,wt,tm,bb2(0.0),bbx2;
1454 double tau,udef,vdef;
1455
1456 EvtId prnt=parent;
1457 EvtId dgt=daugt;
1458
1459 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1460
1461 msb=5.2;
1462 msd=0.33;
1463 bb2=0.431*0.431;
1464 mbb=0.75*5.325+0.25*5.279;
1465 nf = 4.0;
1466
1467 if (dgt==PI2S0||dgt==PI2SP||dgt==PI2SM||dgt==ETA2S) {
1468
1469 msq=0.33;
1470 bx2=0.406*0.406;
1471 mbx=0.75*1.45+0.25*1.300;
1472 nfp = 0.0;
1473 }
1474 else{
1475 if (dgt==D21S0P||dgt==D21S0B||dgt==D21S0N||dgt==D21S00) {
1476 msq=1.82;
1477 bx2=0.45*0.45;
1478 mbx=0.75*2.64+0.25*2.58;
1479 nfp=3.0;
1480 }
1481 else{
1482
1483 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
1484 }
1485 }
1486 }
1487 else{
1488 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1489 msb=1.82;
1490 msd=0.33;
1491 bb2=0.45*0.45;
1492 mbb=1.963;
1493 nf = 3.0;
1494 if (dgt==PI2SP||dgt==PI2SM||dgt==PI2S0||dgt==ETA2S) {
1495 msq=0.33;
1496 bx2=0.406*0.406;
1497 mbx=0.75*1.45+0.25*1.300;
1498 nfp = 0.0;
1499 }
1500 else{
1501 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
1502 }
1503 }
1504 else{
1505 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_21S0.\n";
1506 }
1507 }
1508
1509 mtb = msb + msd;
1510 mtx = msq + msd;
1511
1512 mb = EvtPDL::getMeanMass( parent );
1513 mx = mass;
1514
1515 mup=1.0/(1.0/msq+1.0/msb);
1516 mum=1.0/(1.0/msq-1.0/msb);
1517 bbx2=0.5*(bb2+bx2);
1518 tm=(mb-mx)*(mb-mx);
1519 if (t>tm) t = 0.99*tm;
1520 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1521
1522 mqm = 0.1;
1523 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1524 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1525 log(EvtGetas(mqm)/EvtGetas(msq));
1526
1527 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
1528 (pow((1.0+r2*(tm-t)/24.0),4.0));
1529
1530 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
1531 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
1532
1533 tau = msd*msd*bx2*(wt-1)/(bb2*bbx2);
1534 udef = (( bb2-bx2)/(2.0*bbx2)) + ((bb2*tau)/(3.0*bbx2));
1535 vdef = (bb2*(1.0+(msq/msb))/(6.0*bbx2))*(7.0 - ((bb2/bbx2)*(5+tau)));
1536
1537 fppfm = f3fppfm*sqrt(1.5)*((1.0-(msd/msq))*udef-(msd*vdef/msq));
1538 fpmfm = f3fpmfm*sqrt(1.5)*(mtb/msq)*(udef+(msd*vdef/mtx));
1539
1540 *fppf = (fppfm + fpmfm) /2.0;
1541 *fpmf = (fppfm - fpmfm) /2.0;
1542 return;
1543
1544} //get_ff_isgw_21s0
1545
1546
1547void EvtISGW2FF::EvtISGW2FF23S1 (EvtId parent,EvtId daugt,
1548 double t, double mass, double *fpf, double *gpf,
1549 double *appf, double *apmf ) {
1550
1551 //added by Lange Jan4,2000
1552 static EvtId EM=EvtPDL::getId("e-");
1553 static EvtId EP=EvtPDL::getId("e+");
1554 static EvtId MUM=EvtPDL::getId("mu-");
1555 static EvtId MUP=EvtPDL::getId("mu+");
1556 static EvtId TAUM=EvtPDL::getId("tau-");
1557 static EvtId TAUP=EvtPDL::getId("tau+");
1558
1559 static EvtId BP=EvtPDL::getId("B+");
1560 static EvtId BM=EvtPDL::getId("B-");
1561 static EvtId B0=EvtPDL::getId("B0");
1562 static EvtId B0B=EvtPDL::getId("anti-B0");
1563
1564 static EvtId DST0=EvtPDL::getId("D*0");
1565 static EvtId DSTB=EvtPDL::getId("anti-D*0");
1566 static EvtId DSTP=EvtPDL::getId("D*+");
1567 static EvtId DSTM=EvtPDL::getId("D*-");
1568 static EvtId D0=EvtPDL::getId("D0");
1569 static EvtId D0B=EvtPDL::getId("anti-D0");
1570 static EvtId DP=EvtPDL::getId("D+");
1571 static EvtId DM=EvtPDL::getId("D-");
1572
1573 static EvtId D1P1P=EvtPDL::getId("D_1+");
1574 static EvtId D1P1N=EvtPDL::getId("D_1-");
1575 static EvtId D1P10=EvtPDL::getId("D_10");
1576 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
1577
1578 static EvtId D3P2P=EvtPDL::getId("D_2*+");
1579 static EvtId D3P2N=EvtPDL::getId("D_2*-");
1580 static EvtId D3P20=EvtPDL::getId("D_2*0");
1581 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
1582
1583 static EvtId D3P1P=EvtPDL::getId("D'_1+");
1584 static EvtId D3P1N=EvtPDL::getId("D'_1-");
1585 static EvtId D3P10=EvtPDL::getId("D'_10");
1586 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
1587
1588 static EvtId D3P0P=EvtPDL::getId("D_0*+");
1589 static EvtId D3P0N=EvtPDL::getId("D_0*-");
1590 static EvtId D3P00=EvtPDL::getId("D_0*0");
1591 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
1592
1593 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
1594 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
1595 static EvtId D21S00=EvtPDL::getId("D(2S)0");
1596 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
1597
1598 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
1599 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
1600 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
1601 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
1602
1603 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
1604 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
1605 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
1606 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
1607 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
1608
1609 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
1610 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
1611 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
1612
1613 static EvtId PIP=EvtPDL::getId("pi+");
1614 static EvtId PIM=EvtPDL::getId("pi-");
1615 static EvtId PI0=EvtPDL::getId("pi0");
1616
1617 static EvtId RHOP=EvtPDL::getId("rho+");
1618 static EvtId RHOM=EvtPDL::getId("rho-");
1619 static EvtId RHO0=EvtPDL::getId("rho0");
1620
1621 static EvtId A2P=EvtPDL::getId("a_2+");
1622 static EvtId A2M=EvtPDL::getId("a_2-");
1623 static EvtId A20=EvtPDL::getId("a_20");
1624
1625 static EvtId A1P=EvtPDL::getId("a_1+");
1626 static EvtId A1M=EvtPDL::getId("a_1-");
1627 static EvtId A10=EvtPDL::getId("a_10");
1628
1629 static EvtId A0P=EvtPDL::getId("a_0+");
1630 static EvtId A0M=EvtPDL::getId("a_0-");
1631 static EvtId A00=EvtPDL::getId("a_00");
1632
1633 static EvtId B1P=EvtPDL::getId("b_1+");
1634 static EvtId B1M=EvtPDL::getId("b_1-");
1635 static EvtId B10=EvtPDL::getId("b_10");
1636
1637 static EvtId H1=EvtPDL::getId("h_1");
1638 static EvtId H1PR=EvtPDL::getId("h'_1");
1639
1640 static EvtId F1=EvtPDL::getId("f_1");
1641 static EvtId F1PR=EvtPDL::getId("f'_1");
1642 static EvtId F0=EvtPDL::getId("f_0");
1643 static EvtId F0PR=EvtPDL::getId("f'_0");
1644 static EvtId F2=EvtPDL::getId("f_2");
1645 static EvtId F2PR=EvtPDL::getId("f'_2");
1646
1647 static EvtId ETA=EvtPDL::getId("eta");
1648 static EvtId ETAPR=EvtPDL::getId("eta'");
1649 static EvtId OMEG=EvtPDL::getId("omega");
1650
1651 static EvtId KP=EvtPDL::getId("K+");
1652 static EvtId KM=EvtPDL::getId("K-");
1653 static EvtId K0=EvtPDL::getId("K0");
1654 static EvtId KB=EvtPDL::getId("anti-K0");
1655 static EvtId K0S=EvtPDL::getId("K_S0");
1656 static EvtId K0L=EvtPDL::getId("K_L0");
1657
1658 static EvtId KSTP=EvtPDL::getId("K*+");
1659 static EvtId KSTM=EvtPDL::getId("K*-");
1660 static EvtId KST0=EvtPDL::getId("K*0");
1661 static EvtId KSTB=EvtPDL::getId("anti-K*0");
1662
1663 static EvtId K1P=EvtPDL::getId("K_1+");
1664 static EvtId K1M=EvtPDL::getId("K_1-");
1665 static EvtId K10=EvtPDL::getId("K_10");
1666 static EvtId K1B=EvtPDL::getId("anti-K_10");
1667
1668 static EvtId K1STP=EvtPDL::getId("K'_1+");
1669 static EvtId K1STM=EvtPDL::getId("K'_1-");
1670 static EvtId K1ST0=EvtPDL::getId("K'_10");
1671 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
1672
1673 static EvtId K2STP=EvtPDL::getId("K_2*+");
1674 static EvtId K2STM=EvtPDL::getId("K_2*-");
1675 static EvtId K2ST0=EvtPDL::getId("K_2*0");
1676 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
1677
1678 static EvtId K0STP=EvtPDL::getId("K_0*+");
1679 static EvtId K0STM=EvtPDL::getId("K_0*-");
1680 static EvtId K0ST0=EvtPDL::getId("K_0*0");
1681 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
1682
1683 static EvtId PHI=EvtPDL::getId("phi");
1684 static EvtId DSP=EvtPDL::getId("D_s+");
1685 static EvtId DSM=EvtPDL::getId("D_s-");
1686
1687 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
1688 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
1689
1690 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
1691 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
1692
1693 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
1694 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
1695
1696 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
1697 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
1698
1699 static EvtId DSSTP=EvtPDL::getId("D_s*+");
1700 static EvtId DSSTM=EvtPDL::getId("D_s*-");
1701
1702 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1703 static EvtId BS0=EvtPDL::getId("B_s0");
1704
1705 double mtb, mbb(0.0);
1706 double msd(0.0), mx,mb,nf,nfp(0.0);
1707 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1708 double f3appam,f3apmam,f3,appam,apmam,f3fp,f3gp;
1709 double udef,tau,mum,mup,bb2(0.0),bbx2,tm,wt,mqm,r2,msb(0.0);
1710 double cfp(0.0);
1711
1712 EvtId prnt=parent;
1713 EvtId dgt=daugt;
1714
1715 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1716
1717 msb=5.2;
1718 msd=0.33;
1719 bb2=0.431*0.431;
1720 mbb=0.75*5.325+0.25*5.279;
1721 nf = 4.0;
1722
1723 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
1724
1725 cfp=0.776;
1726 msq=0.33;
1727 bx2=0.299*0.299;
1728 mbx=0.75*1.45+0.25*1.300;
1729 nfp = 0.0;
1730
1731 }
1732 else{
1733 if (dgt==D23S1N||dgt==D23S1P||dgt==D23S1B||dgt==D23S10) {
1734 cfp=0.929;
1735 msq=1.82;
1736 bx2=0.38*0.38;
1737 mbx=0.75*2.64+0.25*2.58;
1738 nfp=3.0;
1739 }
1740 else{
1741 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
1742 }
1743 }
1744 }
1745 else{
1746 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1747 msb=1.82;
1748 msd=0.33;
1749 bb2=0.45*0.45;
1750 mbb=1.963;
1751 nf = 3.0;
1752
1753 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
1754 cfp=0.74;
1755 msq=0.33;
1756 bx2=0.299*0.299;
1757 mbx=0.75*1.45+0.25*1.300;
1758 nfp = 0.0;
1759 }
1760 else{
1761 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
1762 }
1763 }
1764 else{
1765 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_23P1.\n";
1766 }
1767 }
1768
1769 mtb = msb + msd;
1770 mtx = msq + msd;
1771 mb = EvtPDL::getMeanMass( parent );
1772 mx = mass;
1773
1774 mup=1.0/(1.0/msq+1.0/msb);
1775 mum=1.0/(1.0/msq-1.0/msb);
1776 bbx2=0.5*(bb2+bx2);
1777 tm=(mb-mx)*(mb-mx);
1778
1779 if (t>tm) t = 0.99*tm;
1780 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1781
1782 mqm = 0.1;
1783 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1784 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1785 log(EvtGetas(mqm)/EvtGetas(msq));
1786
1787 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
1788 (pow((1.0+r2*(tm-t)/24.0),4.0));
1789
1790 f3fp = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
1791 f3gp = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1792 f3appam = f3*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
1793 f3apmam = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1794
1795 tau = msd*msd*bx2*(wt-1.0)/(bb2*bbx2);
1796 udef = (( bb2-bx2)/(2.0*bbx2));
1797 udef = udef + ((bb2*tau)/(3.0*bbx2));
1798
1799 *fpf = cfp*sqrt(1.5)*mtb*(1.0+wt)*udef*f3fp;
1800
1801 *gpf = sqrt(3.0/8.0)*f3gp*(((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))*
1802 udef + ( (msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
1803
1804 appam = f3appam*sqrt(2.0/3.0)*(bb2/(msq*msb*bbx2))*((-7.0*msd*msd*bx2*
1805 bx2*(1.0+(tau/7.0))/(8.0*mtb*bbx2*bbx2))+(5.0*msd*bx2*(1.0+
1806 (tau/5.0))/(4.0*bbx2))+(3.0*msd*msd*bx2*bx2/(8.0*mtb*bb2*bbx2))-
1807 (3.0*msd*bx2/(4.0*bb2)));
1808
1809 apmam = f3apmam*sqrt(3.0/2.0)*(mtb/(msb*mtx))*(1.0-(bb2*(1.0+(tau/7.0))/
1810 bbx2)-(msd*bx2*(1.0-(5.0*bb2*(1.0+(tau/5.0))/(3.0*bbx2)))
1811 /(2.0*mtb*bbx2))-(7.0*msd*msd*bb2*bx2/(12.0*msq*mtb*bbx2*bbx2))*
1812 (1.0-(bx2/bbx2)+(bb2*tau/(7.0*bbx2))));
1813
1814 *appf = (appam + apmam) /2.0;
1815 *apmf = (appam - apmam) /2.0;
1816 return;
1817} //get_ff_isgw_23s1
1818
1819void EvtISGW2FF::EvtISGW2FF1P1 (EvtId parent,EvtId daugt,
1820 double t, double mass, double *rf, double *vf,
1821 double *spf, double *smf ) {
1822
1823 //added by Lange Jan4,2000
1824 static EvtId EM=EvtPDL::getId("e-");
1825 static EvtId EP=EvtPDL::getId("e+");
1826 static EvtId MUM=EvtPDL::getId("mu-");
1827 static EvtId MUP=EvtPDL::getId("mu+");
1828 static EvtId TAUM=EvtPDL::getId("tau-");
1829 static EvtId TAUP=EvtPDL::getId("tau+");
1830
1831 static EvtId BP=EvtPDL::getId("B+");
1832 static EvtId BM=EvtPDL::getId("B-");
1833 static EvtId B0=EvtPDL::getId("B0");
1834 static EvtId B0B=EvtPDL::getId("anti-B0");
1835
1836 static EvtId DST0=EvtPDL::getId("D*0");
1837 static EvtId DSTB=EvtPDL::getId("anti-D*0");
1838 static EvtId DSTP=EvtPDL::getId("D*+");
1839 static EvtId DSTM=EvtPDL::getId("D*-");
1840 static EvtId D0=EvtPDL::getId("D0");
1841 static EvtId D0B=EvtPDL::getId("anti-D0");
1842 static EvtId DP=EvtPDL::getId("D+");
1843 static EvtId DM=EvtPDL::getId("D-");
1844
1845 static EvtId D1P1P=EvtPDL::getId("D_1+");
1846 static EvtId D1P1N=EvtPDL::getId("D_1-");
1847 static EvtId D1P10=EvtPDL::getId("D_10");
1848 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
1849
1850 static EvtId D3P2P=EvtPDL::getId("D_2*+");
1851 static EvtId D3P2N=EvtPDL::getId("D_2*-");
1852 static EvtId D3P20=EvtPDL::getId("D_2*0");
1853 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
1854
1855 static EvtId D3P1P=EvtPDL::getId("D'_1+");
1856 static EvtId D3P1N=EvtPDL::getId("D'_1-");
1857 static EvtId D3P10=EvtPDL::getId("D'_10");
1858 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
1859
1860 static EvtId D3P0P=EvtPDL::getId("D_0*+");
1861 static EvtId D3P0N=EvtPDL::getId("D_0*-");
1862 static EvtId D3P00=EvtPDL::getId("D_0*0");
1863 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
1864
1865 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
1866 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
1867 static EvtId D21S00=EvtPDL::getId("D(2S)0");
1868 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
1869
1870 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
1871 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
1872 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
1873 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
1874
1875 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
1876 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
1877 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
1878 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
1879 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
1880
1881 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
1882 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
1883 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
1884
1885 static EvtId PIP=EvtPDL::getId("pi+");
1886 static EvtId PIM=EvtPDL::getId("pi-");
1887 static EvtId PI0=EvtPDL::getId("pi0");
1888
1889 static EvtId RHOP=EvtPDL::getId("rho+");
1890 static EvtId RHOM=EvtPDL::getId("rho-");
1891 static EvtId RHO0=EvtPDL::getId("rho0");
1892
1893 static EvtId A2P=EvtPDL::getId("a_2+");
1894 static EvtId A2M=EvtPDL::getId("a_2-");
1895 static EvtId A20=EvtPDL::getId("a_20");
1896
1897 static EvtId A1P=EvtPDL::getId("a_1+");
1898 static EvtId A1M=EvtPDL::getId("a_1-");
1899 static EvtId A10=EvtPDL::getId("a_10");
1900
1901 static EvtId A0P=EvtPDL::getId("a_0+");
1902 static EvtId A0M=EvtPDL::getId("a_0-");
1903 static EvtId A00=EvtPDL::getId("a_00");
1904
1905 static EvtId B1P=EvtPDL::getId("b_1+");
1906 static EvtId B1M=EvtPDL::getId("b_1-");
1907 static EvtId B10=EvtPDL::getId("b_10");
1908
1909 static EvtId H1=EvtPDL::getId("h_1");
1910 static EvtId H1PR=EvtPDL::getId("h'_1");
1911
1912 static EvtId F1=EvtPDL::getId("f_1");
1913 static EvtId F1PR=EvtPDL::getId("f'_1");
1914 static EvtId F0=EvtPDL::getId("f_0");
1915 static EvtId F0PR=EvtPDL::getId("f'_0");
1916 static EvtId F2=EvtPDL::getId("f_2");
1917 static EvtId F2PR=EvtPDL::getId("f'_2");
1918
1919 static EvtId ETA=EvtPDL::getId("eta");
1920 static EvtId ETAPR=EvtPDL::getId("eta'");
1921 static EvtId OMEG=EvtPDL::getId("omega");
1922
1923 static EvtId KP=EvtPDL::getId("K+");
1924 static EvtId KM=EvtPDL::getId("K-");
1925 static EvtId K0=EvtPDL::getId("K0");
1926 static EvtId KB=EvtPDL::getId("anti-K0");
1927 static EvtId K0S=EvtPDL::getId("K_S0");
1928 static EvtId K0L=EvtPDL::getId("K_L0");
1929
1930 static EvtId KSTP=EvtPDL::getId("K*+");
1931 static EvtId KSTM=EvtPDL::getId("K*-");
1932 static EvtId KST0=EvtPDL::getId("K*0");
1933 static EvtId KSTB=EvtPDL::getId("anti-K*0");
1934
1935 static EvtId K1P=EvtPDL::getId("K_1+");
1936 static EvtId K1M=EvtPDL::getId("K_1-");
1937 static EvtId K10=EvtPDL::getId("K_10");
1938 static EvtId K1B=EvtPDL::getId("anti-K_10");
1939
1940 static EvtId K1STP=EvtPDL::getId("K'_1+");
1941 static EvtId K1STM=EvtPDL::getId("K'_1-");
1942 static EvtId K1ST0=EvtPDL::getId("K'_10");
1943 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
1944
1945 static EvtId K2STP=EvtPDL::getId("K_2*+");
1946 static EvtId K2STM=EvtPDL::getId("K_2*-");
1947 static EvtId K2ST0=EvtPDL::getId("K_2*0");
1948 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
1949
1950 static EvtId K0STP=EvtPDL::getId("K_0*+");
1951 static EvtId K0STM=EvtPDL::getId("K_0*-");
1952 static EvtId K0ST0=EvtPDL::getId("K_0*0");
1953 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
1954
1955 static EvtId PHI=EvtPDL::getId("phi");
1956 static EvtId DSP=EvtPDL::getId("D_s+");
1957 static EvtId DSM=EvtPDL::getId("D_s-");
1958
1959 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
1960 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
1961
1962 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
1963 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
1964
1965 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
1966 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
1967
1968 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
1969 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
1970
1971 static EvtId DSSTP=EvtPDL::getId("D_s*+");
1972 static EvtId DSSTM=EvtPDL::getId("D_s*-");
1973
1974 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1975 static EvtId BS0=EvtPDL::getId("B_s0");
1976
1977 double mtb, mbb(0.0);
1978 double msd(0.0), mx,mb,nf,nfp(0.0);
1979 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
1980 double f5sppsm,f5spmsm;
1981 double f5v,f5r,mup,mum,vv,rr,spmsm,sppsm;
1982 double mqm,msb(0.0),bb2(0.0),bbx2,tm,wt,r2;
1983 EvtId prnt=parent;
1984 EvtId dgt=daugt;
1985 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1986 msb=5.2;
1987 msd=0.33;
1988 bb2=0.431*0.431;
1989 mbb=5.31;
1990 nf = 4.0;
1991 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
1992 msq=0.33;
1993 bx2=0.275*0.275;
1994 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
1995 nfp = 0.0;
1996 }
1997 else{
1998 if (dgt==D1P1P||dgt==D1P10||dgt==D1P1B||dgt==D1P1N) {
1999 msq=1.82;
2000 bx2=0.33*0.33;
2001 mbx=(5.0*2.46+3.0*2.42)/8.0;
2002 nfp = 3.0;
2003 }
2004 else{
2005 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
2006 }
2007 }
2008 }
2009 else{
2010 if (prnt==DM||prnt==DP||prnt==D0B||prnt==D0) {
2011 msb=1.82;
2012 msd=0.33;
2013 bb2=0.45*0.45;
2014 mbb=1.963;
2015 nf = 3.0;
2016 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
2017 msq=0.33;
2018 bx2=0.275*0.275;
2019 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
2020 nfp = 0.0;
2021 }
2022 else{
2023 if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
2024 msq=0.55;
2025 bx2=0.30*0.30;
2026 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
2027 nfp = 2.0;
2028 }
2029 else{
2030 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
2031 }
2032 }
2033 }
2034 else{
2035 //BS -> cs constants added by djl on Jan. 21,1998
2036 if (prnt==BS0||prnt==BSB){
2037
2038 msb=5.2;
2039 msd=0.55;
2040 bb2=0.54*0.54;
2041 mbb=5.38;
2042 nf = 4.0;
2043
2044 if (dgt==D1P1SP||dgt==D1P1SN) {
2045
2046 msq=1.82;
2047 bx2=0.41*0.41;
2048 mbx=(5.0*2.61+3.0*2.54)/8.0;
2049 nfp = 3.0;
2050 }
2051 else if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
2052 msq=0.55;
2053 bx2=0.30*0.30;
2054 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
2055 nfp = 2.0;
2056 }
2057 else{
2058 report(ERROR,"EvtGen") << "Not implemented daugt:"
2059 <<daugt.getId()<<" in get_isgw_ff_1S0.\n";
2060 }
2061 }
2062
2063 else{
2064 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1P1.\n";
2065 }
2066 }
2067 }
2068
2069
2070 mtb = msb + msd;
2071 mtx = msq + msd;
2072
2073 mb = EvtPDL::getMeanMass( parent );
2074 mx = mass;
2075
2076 mup=1.0/(1.0/msq+1.0/msb);
2077 mum=1.0/(1.0/msq-1.0/msb);
2078 bbx2=0.5*(bb2+bx2);
2079 tm=(mb-mx)*(mb-mx);
2080 if (t>tm) t = 0.99*tm;
2081 wt=1.0+(tm-t)/(2.0*mbb*mbx);
2082
2083 mqm = 0.1;
2084 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
2085 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2086 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
2087
2088 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2089 (pow((1.0+r2*(tm-t)/18.0),3.0));
2090
2091 f5v = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2092 f5r = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
2093 f5sppsm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
2094 f5spmsm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2095
2096 if (msq == msd) {
2097 vv = f5v*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)) +
2098 (((wt-1)*msd)/(6.0*sqrt(2.0*bb2)*mtx)));
2099
2100 rr = f5r*mtb*sqrt(bb2/2)*((1.0/mup)+((msd*mtx*(wt-1)*(wt-1))/
2101 (3.0*msq*bb2)));
2102
2103 sppsm = msd*f5sppsm/(sqrt(2.0*bb2)*mtb)*(1.0-(msd/msq)+((msd*bb2)/
2104 (2.0*mup*bbx2)));
2105
2106 spmsm = msd*f5spmsm/(sqrt(2.0*bb2)*msq)*(((4-wt)/3.0)- ( (msd*msq*bb2)/
2107 (2.0*mtx*mup*bbx2)));
2108
2109 } else {
2110 vv = -1.0*msd*f5v/(2.0*sqrt(3.0*bb2)*mtx)*
2111 ((wt+1)/2.0+bb2*mtb/(2.0*msd*msq*msb));
2112
2113 rr = -2.0*mtb*sqrt(bb2/3.0)*f5r*(1.0/msq + mtx*msd*(wt-1)/(2.0*bb2)*
2114 ((wt+1)/(2.0*msq)-msd*bb2/(2.0*mum*mtx*bbx2)));
2115
2116 sppsm = -1.0*sqrt(3.0)*msd*f5sppsm/(2.0*sqrt(bb2)*mtb)*(1 - msd/(3.0*msq) -
2117 msd*bb2/(3.0*bbx2)*(1.0/(2.0*mum)-1.0/mup));
2118
2119 spmsm = -1.0*msd*f5spmsm/(2.0*sqrt(3.0*bb2)*mtx)*((2-wt)*mtx/msq +
2120 msd*bb2/bbx2*(1.0/(2.0*mum)-1.0/mup));
2121
2122 }
2123
2124 //smooth out the mass(meson) dependence a little
2125 double parMass=EvtPDL::getMeanMass(prnt);
2126 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
2127 double massNom= EvtPDL::getMeanMass(dgt);
2128 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
2129 double q2maxin=sqrt(q2maxNom/q2max);
2130 if ( q2maxin > 1000. ) q2maxin=1000.;
2131
2132 vv*=q2maxin;
2133 rr*=q2maxin;
2134 sppsm*=q2maxin;
2135 spmsm*=q2maxin;
2136
2137 *vf = vv;
2138 *rf = rr;
2139 *spf = (sppsm + spmsm)/2.0;
2140 *smf = (sppsm - spmsm)/2.0;
2141 return;
2142} //get_ff_isgw_1p1
2143
2144
2145void EvtISGW2FF::EvtISGW2FF3P1 (EvtId parent,EvtId daugt,
2146 double t, double mass, double *lf, double *qf,
2147 double *cpf, double *cmf ) {
2148
2149 //added by Lange Jan4,2000
2150 static EvtId EM=EvtPDL::getId("e-");
2151 static EvtId EP=EvtPDL::getId("e+");
2152 static EvtId MUM=EvtPDL::getId("mu-");
2153 static EvtId MUP=EvtPDL::getId("mu+");
2154 static EvtId TAUM=EvtPDL::getId("tau-");
2155 static EvtId TAUP=EvtPDL::getId("tau+");
2156
2157 static EvtId BP=EvtPDL::getId("B+");
2158 static EvtId BM=EvtPDL::getId("B-");
2159 static EvtId B0=EvtPDL::getId("B0");
2160 static EvtId B0B=EvtPDL::getId("anti-B0");
2161
2162 static EvtId DST0=EvtPDL::getId("D*0");
2163 static EvtId DSTB=EvtPDL::getId("anti-D*0");
2164 static EvtId DSTP=EvtPDL::getId("D*+");
2165 static EvtId DSTM=EvtPDL::getId("D*-");
2166 static EvtId D0=EvtPDL::getId("D0");
2167 static EvtId D0B=EvtPDL::getId("anti-D0");
2168 static EvtId DP=EvtPDL::getId("D+");
2169 static EvtId DM=EvtPDL::getId("D-");
2170
2171 static EvtId D1P1P=EvtPDL::getId("D_1+");
2172 static EvtId D1P1N=EvtPDL::getId("D_1-");
2173 static EvtId D1P10=EvtPDL::getId("D_10");
2174 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
2175
2176 static EvtId D3P2P=EvtPDL::getId("D_2*+");
2177 static EvtId D3P2N=EvtPDL::getId("D_2*-");
2178 static EvtId D3P20=EvtPDL::getId("D_2*0");
2179 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
2180
2181 static EvtId D3P1P=EvtPDL::getId("D'_1+");
2182 static EvtId D3P1N=EvtPDL::getId("D'_1-");
2183 static EvtId D3P10=EvtPDL::getId("D'_10");
2184 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
2185
2186 static EvtId D3P0P=EvtPDL::getId("D_0*+");
2187 static EvtId D3P0N=EvtPDL::getId("D_0*-");
2188 static EvtId D3P00=EvtPDL::getId("D_0*0");
2189 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
2190
2191 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
2192 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
2193 static EvtId D21S00=EvtPDL::getId("D(2S)0");
2194 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
2195
2196 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
2197 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
2198 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
2199 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
2200
2201 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
2202 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
2203 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
2204 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
2205 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
2206
2207 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
2208 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
2209 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
2210
2211 static EvtId PIP=EvtPDL::getId("pi+");
2212 static EvtId PIM=EvtPDL::getId("pi-");
2213 static EvtId PI0=EvtPDL::getId("pi0");
2214
2215 static EvtId RHOP=EvtPDL::getId("rho+");
2216 static EvtId RHOM=EvtPDL::getId("rho-");
2217 static EvtId RHO0=EvtPDL::getId("rho0");
2218
2219 static EvtId A2P=EvtPDL::getId("a_2+");
2220 static EvtId A2M=EvtPDL::getId("a_2-");
2221 static EvtId A20=EvtPDL::getId("a_20");
2222
2223 static EvtId A1P=EvtPDL::getId("a_1+");
2224 static EvtId A1M=EvtPDL::getId("a_1-");
2225 static EvtId A10=EvtPDL::getId("a_10");
2226
2227 static EvtId A0P=EvtPDL::getId("a_0+");
2228 static EvtId A0M=EvtPDL::getId("a_0-");
2229 static EvtId A00=EvtPDL::getId("a_00");
2230
2231 static EvtId B1P=EvtPDL::getId("b_1+");
2232 static EvtId B1M=EvtPDL::getId("b_1-");
2233 static EvtId B10=EvtPDL::getId("b_10");
2234
2235 static EvtId H1=EvtPDL::getId("h_1");
2236 static EvtId H1PR=EvtPDL::getId("h'_1");
2237
2238 static EvtId F1=EvtPDL::getId("f_1");
2239 static EvtId F1PR=EvtPDL::getId("f'_1");
2240 static EvtId F0=EvtPDL::getId("f_0");
2241 static EvtId F0PR=EvtPDL::getId("f'_0");
2242 static EvtId F2=EvtPDL::getId("f_2");
2243 static EvtId F2PR=EvtPDL::getId("f'_2");
2244
2245 static EvtId ETA=EvtPDL::getId("eta");
2246 static EvtId ETAPR=EvtPDL::getId("eta'");
2247 static EvtId OMEG=EvtPDL::getId("omega");
2248
2249 static EvtId KP=EvtPDL::getId("K+");
2250 static EvtId KM=EvtPDL::getId("K-");
2251 static EvtId K0=EvtPDL::getId("K0");
2252 static EvtId KB=EvtPDL::getId("anti-K0");
2253 static EvtId K0S=EvtPDL::getId("K_S0");
2254 static EvtId K0L=EvtPDL::getId("K_L0");
2255
2256 static EvtId KSTP=EvtPDL::getId("K*+");
2257 static EvtId KSTM=EvtPDL::getId("K*-");
2258 static EvtId KST0=EvtPDL::getId("K*0");
2259 static EvtId KSTB=EvtPDL::getId("anti-K*0");
2260
2261 static EvtId K1P=EvtPDL::getId("K_1+");
2262 static EvtId K1M=EvtPDL::getId("K_1-");
2263 static EvtId K10=EvtPDL::getId("K_10");
2264 static EvtId K1B=EvtPDL::getId("anti-K_10");
2265
2266 static EvtId K1STP=EvtPDL::getId("K'_1+");
2267 static EvtId K1STM=EvtPDL::getId("K'_1-");
2268 static EvtId K1ST0=EvtPDL::getId("K'_10");
2269 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
2270
2271 static EvtId K2STP=EvtPDL::getId("K_2*+");
2272 static EvtId K2STM=EvtPDL::getId("K_2*-");
2273 static EvtId K2ST0=EvtPDL::getId("K_2*0");
2274 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
2275
2276 static EvtId K0STP=EvtPDL::getId("K_0*+");
2277 static EvtId K0STM=EvtPDL::getId("K_0*-");
2278 static EvtId K0ST0=EvtPDL::getId("K_0*0");
2279 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
2280
2281 static EvtId PHI=EvtPDL::getId("phi");
2282 static EvtId DSP=EvtPDL::getId("D_s+");
2283 static EvtId DSM=EvtPDL::getId("D_s-");
2284
2285 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
2286 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
2287
2288 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
2289 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
2290
2291 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
2292 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
2293
2294 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
2295 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
2296 static EvtId DSSTP=EvtPDL::getId("D_s*+");
2297 static EvtId DSSTM=EvtPDL::getId("D_s*-");
2298
2299 static EvtId BSB=EvtPDL::getId("anti-B_s0");
2300 static EvtId BS0=EvtPDL::getId("B_s0");
2301
2302 double mtb, mbb(0.0);
2303 double msd(0.0), mx,mb,nf,nfp(0.0);
2304 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
2305 double f5cppcm,f5cpmcm,f5,ql,ll,cppcm,cpmcm,f5q,f5l;
2306 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2;
2307 EvtId prnt=parent;
2308 EvtId dgt=daugt;
2309
2310 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2311
2312 msb=5.2;
2313 msd=0.33;
2314 bb2=0.431*0.431;
2315 mbb=5.31;
2316 nf = 4.0;
2317
2318 if (dgt==A10||dgt==A1P||dgt==A1M||dgt==F1||dgt==F1PR) {
2319
2320 msq=0.33;
2321 bx2=0.275*0.275;
2322 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2323 nfp = 0.0;
2324 }
2325 else{
2326 if (dgt==D3P1P||dgt==D3P1N||dgt==D3P10||dgt==D3P1B) {
2327 msq=1.82;
2328 bx2=0.33*0.33;
2329 mbx=(3.0*2.49+2.40)/4.0;
2330 nfp = 3.0;
2331 }
2332 else{
2333 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
2334 }
2335 }
2336 }
2337 else{
2338 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2339
2340 msb=1.82;
2341 msd=0.33;
2342 bb2=0.45*0.45;
2343 mbb=1.963;
2344 nf = 3.0;
2345
2346 if (dgt==F1||dgt==F1PR||dgt==A10||dgt==A1P||dgt==A1M) {
2347
2348 msq=0.33;
2349 bx2=0.275*0.275;
2350 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2351 nfp = 0.0;
2352 }
2353 else{
2354 if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
2355 msq=0.55;
2356 bx2=0.30*0.30;
2357 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2358 nfp = 2.0;
2359 }
2360 else{
2361 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
2362 }
2363 }
2364 }
2365 else{
2366 //BS -> cs constants added by djl on Jan. 21,1998
2367 if (prnt==BS0||prnt==BSB){
2368
2369 msb=5.2;
2370 msd=0.55;
2371 bb2=0.54*0.54;
2372 mbb=5.38;
2373 nf = 4.0;
2374
2375 if (dgt==D3P1SP||dgt==D3P1SN) {
2376
2377 msq=1.82;
2378 bx2=0.41*0.41;
2379 mbx=(3.0*2.54+2.46)/4.0;
2380 nfp = 3.0;
2381 }
2382 else if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
2383 msq=0.55;
2384 bx2=0.30*0.30;
2385 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2386 nfp = 2.0;
2387 }
2388 else{
2389 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
2390 }
2391 }
2392
2393 else{
2394 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
2395 }
2396 }
2397 }
2398
2399
2400
2401 mtb = msb + msd;
2402 mtx = msq + msd;
2403
2404 mb = EvtPDL::getMeanMass( parent );
2405 mx = mass;
2406
2407 mup=1.0/(1.0/msq+1.0/msb);
2408 mum=1.0/(1.0/msq-1.0/msb);
2409 bbx2=0.5*(bb2+bx2);
2410 tm=(mb-mx)*(mb-mx);
2411 if (t>tm) t = 0.99*tm;
2412 wt=1.0+(tm-t)/(2.0*mbb*mbx);
2413
2414 mqm = 0.1;
2415 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
2416 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2417 log(EvtGetas(mqm)/EvtGetas(msq));
2418
2419 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2420 (pow((1.0+r2*(tm-t)/18.0),3.0));
2421
2422 f5q = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2423 f5l = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
2424 f5cppcm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
2425 f5cpmcm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
2426
2427 if (msq == msd) {
2428
2429 ql = -1.0*(msd*(5.0+wt)*f5q/(2.0*mtx*sqrt(bb2)*6.0));
2430
2431 ll = -1.0*mtb*sqrt(bb2)*f5l*(1/mum+ ( (msd*mtx*(wt-1)/bb2)*
2432 ( (5.0+wt)/(6.0*msq)-(msd*bb2)/(2.0*mum*mtx*bbx2))));
2433
2434 cppcm = (-1.0*(msd*mtx*f5cppcm/(2.0*msq*mtb*sqrt(bb2)))*
2435 (1-(msd*msq*bb2)/(2.0*mtx*mum*bbx2)));
2436
2437 cpmcm = 1.0*(msd*mtx*f5cpmcm/(2.0*msq*mtb*sqrt(bb2)))*
2438 (((wt+2.0)/3.0)-(msd*msq*bb2)/(2.0*mtx*mum*bbx2))
2439 *(mtb/mtx);
2440 } else {
2441
2442 ql = f5q*sqrt(1.0/6.0)*msd/(sqrt(bb2)*mtx)*
2443 (1.0-bb2*mtb/(4.0*msd*msq*msb));
2444 ll = f5l*sqrt(2.0/3.0)*mtb*sqrt(bb2)*(1.0/(2.0*msq) - 3.0/(2.0*msb) +
2445 msd*mtx*(wt-1)/bb2*(1.0/msq-msd*bb2/(2.0*mum*mtx*bbx2)));
2446 cppcm = msd*msd*bx2*f5cppcm/(sqrt(6.0)*mtb*msq*sqrt(bb2)*bbx2);
2447 cpmcm = -sqrt(2.0/3.0)*msd*f5cpmcm/(sqrt(bb2)*mtx)*
2448 (1+msd*bx2/(2.0*msq*bbx2));
2449 }
2450
2451 //smooth out the mass(meson) dependence a little
2452 double parMass=EvtPDL::getMeanMass(prnt);
2453 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
2454 double massNom= EvtPDL::getMeanMass(dgt);
2455 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
2456 double q2maxin=sqrt(q2maxNom/q2max);
2457 if ( q2maxin > 1000. ) q2maxin=1000.;
2458 ql*=q2maxin;
2459 ll*=q2maxin;
2460 cppcm*=q2maxin;
2461 cpmcm*=q2maxin;
2462
2463 *qf = ql;
2464 *lf = ll;
2465 *cpf = (cppcm + cpmcm)/2.0;
2466 *cmf = (cppcm - cpmcm)/2.0;
2467 return;
2468} //get_ff_isgw_3p1
2469
2470
2471void EvtISGW2FF::EvtISGW2FF3P0 (EvtId parent,EvtId daugt,
2472 double t, double mass, double *upf, double *umf ) {
2473
2474 //added by Lange Jan4,2000
2475 static EvtId EM=EvtPDL::getId("e-");
2476 static EvtId EP=EvtPDL::getId("e+");
2477 static EvtId MUM=EvtPDL::getId("mu-");
2478 static EvtId MUP=EvtPDL::getId("mu+");
2479 static EvtId TAUM=EvtPDL::getId("tau-");
2480 static EvtId TAUP=EvtPDL::getId("tau+");
2481
2482 static EvtId BP=EvtPDL::getId("B+");
2483 static EvtId BM=EvtPDL::getId("B-");
2484 static EvtId B0=EvtPDL::getId("B0");
2485 static EvtId B0B=EvtPDL::getId("anti-B0");
2486
2487 static EvtId DST0=EvtPDL::getId("D*0");
2488 static EvtId DSTB=EvtPDL::getId("anti-D*0");
2489 static EvtId DSTP=EvtPDL::getId("D*+");
2490 static EvtId DSTM=EvtPDL::getId("D*-");
2491 static EvtId D0=EvtPDL::getId("D0");
2492 static EvtId D0B=EvtPDL::getId("anti-D0");
2493 static EvtId DP=EvtPDL::getId("D+");
2494 static EvtId DM=EvtPDL::getId("D-");
2495
2496 static EvtId D1P1P=EvtPDL::getId("D_1+");
2497 static EvtId D1P1N=EvtPDL::getId("D_1-");
2498 static EvtId D1P10=EvtPDL::getId("D_10");
2499 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
2500
2501 static EvtId D3P2P=EvtPDL::getId("D_2*+");
2502 static EvtId D3P2N=EvtPDL::getId("D_2*-");
2503 static EvtId D3P20=EvtPDL::getId("D_2*0");
2504 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
2505
2506 static EvtId D3P1P=EvtPDL::getId("D'_1+");
2507 static EvtId D3P1N=EvtPDL::getId("D'_1-");
2508 static EvtId D3P10=EvtPDL::getId("D'_10");
2509 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
2510
2511 static EvtId D3P0P=EvtPDL::getId("D_0*+");
2512 static EvtId D3P0N=EvtPDL::getId("D_0*-");
2513 static EvtId D3P00=EvtPDL::getId("D_0*0");
2514 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
2515
2516 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
2517 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
2518 static EvtId D21S00=EvtPDL::getId("D(2S)0");
2519 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
2520
2521 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
2522 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
2523 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
2524 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
2525
2526 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
2527 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
2528 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
2529 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
2530 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
2531
2532 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
2533 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
2534 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
2535
2536 static EvtId PIP=EvtPDL::getId("pi+");
2537 static EvtId PIM=EvtPDL::getId("pi-");
2538 static EvtId PI0=EvtPDL::getId("pi0");
2539
2540 static EvtId RHOP=EvtPDL::getId("rho+");
2541 static EvtId RHOM=EvtPDL::getId("rho-");
2542 static EvtId RHO0=EvtPDL::getId("rho0");
2543
2544 static EvtId A2P=EvtPDL::getId("a_2+");
2545 static EvtId A2M=EvtPDL::getId("a_2-");
2546 static EvtId A20=EvtPDL::getId("a_20");
2547
2548 static EvtId A1P=EvtPDL::getId("a_1+");
2549 static EvtId A1M=EvtPDL::getId("a_1-");
2550 static EvtId A10=EvtPDL::getId("a_10");
2551
2552 static EvtId A0P=EvtPDL::getId("a_0+");
2553 static EvtId A0M=EvtPDL::getId("a_0-");
2554 static EvtId A00=EvtPDL::getId("a_00");
2555
2556 static EvtId B1P=EvtPDL::getId("b_1+");
2557 static EvtId B1M=EvtPDL::getId("b_1-");
2558 static EvtId B10=EvtPDL::getId("b_10");
2559
2560 static EvtId H1=EvtPDL::getId("h_1");
2561 static EvtId H1PR=EvtPDL::getId("h'_1");
2562
2563 static EvtId F1=EvtPDL::getId("f_1");
2564 static EvtId F1PR=EvtPDL::getId("f'_1");
2565 static EvtId F0=EvtPDL::getId("f_0");
2566 static EvtId F0PR=EvtPDL::getId("f'_0");
2567 static EvtId F2=EvtPDL::getId("f_2");
2568 static EvtId F2PR=EvtPDL::getId("f'_2");
2569
2570 static EvtId ETA=EvtPDL::getId("eta");
2571 static EvtId ETAPR=EvtPDL::getId("eta'");
2572 static EvtId OMEG=EvtPDL::getId("omega");
2573
2574 static EvtId KP=EvtPDL::getId("K+");
2575 static EvtId KM=EvtPDL::getId("K-");
2576 static EvtId K0=EvtPDL::getId("K0");
2577 static EvtId KB=EvtPDL::getId("anti-K0");
2578 static EvtId K0S=EvtPDL::getId("K_S0");
2579 static EvtId K0L=EvtPDL::getId("K_L0");
2580
2581 static EvtId KSTP=EvtPDL::getId("K*+");
2582 static EvtId KSTM=EvtPDL::getId("K*-");
2583 static EvtId KST0=EvtPDL::getId("K*0");
2584 static EvtId KSTB=EvtPDL::getId("anti-K*0");
2585
2586 static EvtId K1P=EvtPDL::getId("K_1+");
2587 static EvtId K1M=EvtPDL::getId("K_1-");
2588 static EvtId K10=EvtPDL::getId("K_10");
2589 static EvtId K1B=EvtPDL::getId("anti-K_10");
2590
2591 static EvtId K1STP=EvtPDL::getId("K'_1+");
2592 static EvtId K1STM=EvtPDL::getId("K'_1-");
2593 static EvtId K1ST0=EvtPDL::getId("K'_10");
2594 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
2595
2596 static EvtId K2STP=EvtPDL::getId("K_2*+");
2597 static EvtId K2STM=EvtPDL::getId("K_2*-");
2598 static EvtId K2ST0=EvtPDL::getId("K_2*0");
2599 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
2600
2601 static EvtId K0STP=EvtPDL::getId("K_0*+");
2602 static EvtId K0STM=EvtPDL::getId("K_0*-");
2603 static EvtId K0ST0=EvtPDL::getId("K_0*0");
2604 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
2605
2606 static EvtId PHI=EvtPDL::getId("phi");
2607 static EvtId DSP=EvtPDL::getId("D_s+");
2608 static EvtId DSM=EvtPDL::getId("D_s-");
2609
2610 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
2611 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
2612
2613 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
2614 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
2615
2616 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
2617 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
2618
2619 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
2620 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
2621
2622 static EvtId DSSTP=EvtPDL::getId("D_s*+");
2623 static EvtId DSSTM=EvtPDL::getId("D_s*-");
2624
2625 static EvtId BSB=EvtPDL::getId("anti-B_s0");
2626 static EvtId BS0=EvtPDL::getId("B_s0");
2627
2628 double mtb, mbb(0.0);
2629 double msd(0.0), mx,mb,nf,nfp(0.0);
2630 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
2631 double f5uppum,f5upmum,uppum,upmum,f5;
2632 double mqm,mum,mup,wt,r2,bb2(0.0),bbx2,msb(0.0),tm;
2633
2634 EvtId prnt=parent;
2635 EvtId dgt=daugt;
2636
2637 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2638
2639 msb=5.2;
2640 msd=0.33;
2641 bb2=0.431*0.431;
2642 mbb=5.31;
2643 nf = 4.0;
2644 if (dgt==A00||dgt==A0P||dgt==A0M||dgt==F0||dgt==F0PR) {
2645
2646 msq=0.33;
2647 bx2=0.275*0.275;
2648 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2649 nfp = 0.0;
2650 }
2651 else{
2652 if (dgt==D3P0P||dgt==D3P0N||dgt==D3P00||dgt==D3P0B) {
2653 msq=1.82;
2654 bx2=0.33*0.33;
2655 mbx=(3.0*2.49+2.40)/4.0;
2656 nfp = 3.0;
2657 }
2658 else{
2659 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2660 }
2661 }
2662 }
2663 else{
2664 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2665
2666 msb=1.82;
2667 msd=0.33;
2668 bb2=0.45*0.45;
2669 mbb=1.963;
2670 nf = 3.0;
2671 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
2672 msq=0.33;
2673 bx2=0.275*0.275;
2674 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2675 nfp = 0.0;
2676 }
2677 else{
2678 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2679 msq=0.55;
2680 bx2=0.30*0.30;
2681 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2682 nfp = 2.0;
2683 }
2684 else{
2685 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2686 }
2687 }
2688 }
2689 else{
2690 if (prnt==DSP||prnt==DSM){
2691 msb=1.82;
2692 msd=0.55;
2693 bb2=0.56*0.56;
2694 mbb=1.968;
2695 nf = 3.0;
2696
2697 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
2698 msq=0.55;
2699 bx2=0.33*0.33;
2700 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2701 nfp = 2.0;
2702 }
2703 else{
2704 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2705 msq=0.33;
2706 bx2=0.30*0.30;
2707 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2708 nfp = 0.0;
2709 }
2710 else{
2711 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
2712 }
2713 }
2714 }
2715 else{
2716 //BS -> cs constants added by djl on Jan. 21,1998
2717 if (prnt==BS0||prnt==BSB){
2718
2719 msb=5.2;
2720 msd=0.55;
2721 bb2=0.54*0.54;
2722 mbb=5.38;
2723 nf = 4.0;
2724
2725 if (dgt==D3P0SP||dgt==D3P0SN) {
2726
2727 msq=1.82;
2728 bx2=0.41*0.41;
2729 mbx=(3.0*2.54+2.46)/4.0;
2730 nfp = 3.0;
2731 }
2732 else if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
2733 msq=0.55;
2734 bx2=0.30*0.30;
2735 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
2736 nfp = 2.0;
2737 }
2738 else{
2739 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
2740 }
2741 }
2742 else{
2743 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_3P0.\n";
2744 }
2745 }
2746 }
2747 }
2748
2749
2750 mtb = msb + msd;
2751 mtx = msq + msd;
2752
2753 mb = EvtPDL::getMeanMass( parent );
2754 mx = mass;
2755
2756 mup=1.0/(1.0/msq+1.0/msb);
2757 mum=1.0/(1.0/msq-1.0/msb);
2758 bbx2=0.5*(bb2+bx2);
2759 tm=(mb-mx)*(mb-mx);
2760 if (t>tm) t = 0.99*tm;
2761 wt=1.0+(tm-t)/(2.0*mbb*mbx);
2762
2763 mqm = 0.1;
2764 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
2765 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
2766 log(EvtGetas(mqm)/EvtGetas(msq));
2767
2768 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
2769 (pow((1.0+r2*(tm-t)/18.0),3.0));
2770
2771 f5uppum = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
2772 f5upmum = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
2773
2774 uppum = -1.0*f5uppum*sqrt(2.0/(3.0*bb2))*msd;
2775 upmum = 1.0*f5upmum*sqrt(2.0/(3.0*bb2))*msd*mtb/mtx;
2776
2777 *upf = (uppum + upmum)/2.0;
2778 *umf = (uppum - upmum)/2.0;
2779
2780 return;
2781
2782}
2783
2784
2785void EvtISGW2FF::EvtISGW2FF3P2 (EvtId parent,EvtId daugt,
2786 double t, double mass, double *hf, double *kf,
2787 double *bpf, double *bmf ) {
2788
2789 //added by Lange Jan4,2000
2790 static EvtId EM=EvtPDL::getId("e-");
2791 static EvtId EP=EvtPDL::getId("e+");
2792 static EvtId MUM=EvtPDL::getId("mu-");
2793 static EvtId MUP=EvtPDL::getId("mu+");
2794 static EvtId TAUM=EvtPDL::getId("tau-");
2795 static EvtId TAUP=EvtPDL::getId("tau+");
2796
2797 static EvtId BP=EvtPDL::getId("B+");
2798 static EvtId BM=EvtPDL::getId("B-");
2799 static EvtId B0=EvtPDL::getId("B0");
2800 static EvtId B0B=EvtPDL::getId("anti-B0");
2801
2802 static EvtId DST0=EvtPDL::getId("D*0");
2803 static EvtId DSTB=EvtPDL::getId("anti-D*0");
2804 static EvtId DSTP=EvtPDL::getId("D*+");
2805 static EvtId DSTM=EvtPDL::getId("D*-");
2806 static EvtId D0=EvtPDL::getId("D0");
2807 static EvtId D0B=EvtPDL::getId("anti-D0");
2808 static EvtId DP=EvtPDL::getId("D+");
2809 static EvtId DM=EvtPDL::getId("D-");
2810
2811 static EvtId D1P1P=EvtPDL::getId("D_1+");
2812 static EvtId D1P1N=EvtPDL::getId("D_1-");
2813 static EvtId D1P10=EvtPDL::getId("D_10");
2814 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
2815
2816 static EvtId D3P2P=EvtPDL::getId("D_2*+");
2817 static EvtId D3P2N=EvtPDL::getId("D_2*-");
2818 static EvtId D3P20=EvtPDL::getId("D_2*0");
2819 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
2820
2821 static EvtId D3P1P=EvtPDL::getId("D'_1+");
2822 static EvtId D3P1N=EvtPDL::getId("D'_1-");
2823 static EvtId D3P10=EvtPDL::getId("D'_10");
2824 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
2825
2826 static EvtId D3P0P=EvtPDL::getId("D_0*+");
2827 static EvtId D3P0N=EvtPDL::getId("D_0*-");
2828 static EvtId D3P00=EvtPDL::getId("D_0*0");
2829 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
2830
2831 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
2832 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
2833 static EvtId D21S00=EvtPDL::getId("D(2S)0");
2834 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
2835
2836 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
2837 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
2838 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
2839 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
2840
2841
2842 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
2843 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
2844 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
2845 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
2846 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
2847
2848 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
2849 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
2850 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
2851
2852 static EvtId PIP=EvtPDL::getId("pi+");
2853 static EvtId PIM=EvtPDL::getId("pi-");
2854 static EvtId PI0=EvtPDL::getId("pi0");
2855
2856 static EvtId RHOP=EvtPDL::getId("rho+");
2857 static EvtId RHOM=EvtPDL::getId("rho-");
2858 static EvtId RHO0=EvtPDL::getId("rho0");
2859
2860 static EvtId A2P=EvtPDL::getId("a_2+");
2861 static EvtId A2M=EvtPDL::getId("a_2-");
2862 static EvtId A20=EvtPDL::getId("a_20");
2863
2864 static EvtId A1P=EvtPDL::getId("a_1+");
2865 static EvtId A1M=EvtPDL::getId("a_1-");
2866 static EvtId A10=EvtPDL::getId("a_10");
2867
2868 static EvtId A0P=EvtPDL::getId("a_0+");
2869 static EvtId A0M=EvtPDL::getId("a_0-");
2870 static EvtId A00=EvtPDL::getId("a_00");
2871
2872 static EvtId B1P=EvtPDL::getId("b_1+");
2873 static EvtId B1M=EvtPDL::getId("b_1-");
2874 static EvtId B10=EvtPDL::getId("b_10");
2875
2876 static EvtId H1=EvtPDL::getId("h_1");
2877 static EvtId H1PR=EvtPDL::getId("h'_1");
2878
2879 static EvtId F1=EvtPDL::getId("f_1");
2880 static EvtId F1PR=EvtPDL::getId("f'_1");
2881 static EvtId F0=EvtPDL::getId("f_0");
2882 static EvtId F0PR=EvtPDL::getId("f'_0");
2883 static EvtId F2=EvtPDL::getId("f_2");
2884 static EvtId F2PR=EvtPDL::getId("f'_2");
2885
2886 static EvtId ETA=EvtPDL::getId("eta");
2887 static EvtId ETAPR=EvtPDL::getId("eta'");
2888 static EvtId OMEG=EvtPDL::getId("omega");
2889
2890 static EvtId KP=EvtPDL::getId("K+");
2891 static EvtId KM=EvtPDL::getId("K-");
2892 static EvtId K0=EvtPDL::getId("K0");
2893 static EvtId KB=EvtPDL::getId("anti-K0");
2894 static EvtId K0S=EvtPDL::getId("K_S0");
2895 static EvtId K0L=EvtPDL::getId("K_L0");
2896
2897 static EvtId KSTP=EvtPDL::getId("K*+");
2898 static EvtId KSTM=EvtPDL::getId("K*-");
2899 static EvtId KST0=EvtPDL::getId("K*0");
2900 static EvtId KSTB=EvtPDL::getId("anti-K*0");
2901
2902 static EvtId K1P=EvtPDL::getId("K_1+");
2903 static EvtId K1M=EvtPDL::getId("K_1-");
2904 static EvtId K10=EvtPDL::getId("K_10");
2905 static EvtId K1B=EvtPDL::getId("anti-K_10");
2906
2907 static EvtId K1STP=EvtPDL::getId("K'_1+");
2908 static EvtId K1STM=EvtPDL::getId("K'_1-");
2909 static EvtId K1ST0=EvtPDL::getId("K'_10");
2910 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
2911
2912 static EvtId K2STP=EvtPDL::getId("K_2*+");
2913 static EvtId K2STM=EvtPDL::getId("K_2*-");
2914 static EvtId K2ST0=EvtPDL::getId("K_2*0");
2915 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
2916
2917 static EvtId K0STP=EvtPDL::getId("K_0*+");
2918 static EvtId K0STM=EvtPDL::getId("K_0*-");
2919 static EvtId K0ST0=EvtPDL::getId("K_0*0");
2920 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
2921
2922 static EvtId PHI=EvtPDL::getId("phi");
2923 static EvtId DSP=EvtPDL::getId("D_s+");
2924 static EvtId DSM=EvtPDL::getId("D_s-");
2925
2926 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
2927 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
2928
2929 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
2930 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
2931
2932 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
2933 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
2934
2935 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
2936 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
2937
2938 static EvtId DSSTP=EvtPDL::getId("D_s*+");
2939 static EvtId DSSTM=EvtPDL::getId("D_s*-");
2940
2941 static EvtId BSB=EvtPDL::getId("anti-B_s0");
2942 static EvtId BS0=EvtPDL::getId("B_s0");
2943
2944
2945 double mtb, mbb(0.0);
2946 double msd(0.0), mx,mb,nf,nfp(0.0);
2947 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
2948 double f5h,f5k,f5bppbm,f5bpmbm,bppbm,bpmbm;
2949 double mqm,mum,mup,tm,wt,r2,bb2(0.0),bbx2;
2950 double msb(0.0);
2951 EvtId prnt=parent;
2952 EvtId dgt=daugt;
2953
2954 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
2955
2956 msb=5.2;
2957 msd=0.33;
2958 bb2=0.431*0.431;
2959 mbb=5.31;
2960 nf = 4.0;
2961
2962 if (dgt==A20||dgt==A2P||dgt==A2M||dgt==F2||dgt==F2PR) {
2963
2964 msq=0.33;
2965 bx2=0.275*0.275;
2966 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2967 nfp = 0.0;
2968
2969 }
2970
2971 else{
2972 if (dgt==D3P2P||dgt==D3P2N||dgt==D3P20||dgt==D3P2B) {
2973
2974 msq=1.82;
2975 bx2=0.33*0.33;
2976 mbx=(5.0*2.46+3.0*2.42)/8.0;
2977 nfp = 3.0;
2978 }
2979 else{
2980
2981 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
2982 }
2983 }
2984 }
2985 else{
2986 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
2987
2988 msb=1.82;
2989 msd=0.33;
2990 bb2=0.45*0.45;
2991 mbb=1.963;
2992 nf = 3.0;
2993 if (dgt==F2||dgt==F2PR||dgt==A20||dgt==A2P||dgt==A2M) {
2994 msq=0.33;
2995 bx2=0.275*0.275;
2996 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
2997 nfp = 0.0;
2998 }
2999 else{
3000 if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
3001 msq=0.55;
3002 bx2=0.30*0.30;
3003 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
3004 nfp = 2.0;
3005 }
3006 else{
3007 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
3008 }
3009 }
3010 }
3011 else{
3012 //BS -> cs constants added by djl on Jan. 21,1998
3013 if (prnt==BS0||prnt==BSB){
3014
3015 msb=5.2;
3016 msd=0.55;
3017 bb2=0.54*0.54;
3018 mbb=5.38;
3019 nf = 4.0;
3020
3021 if (dgt==D3P2SP||dgt==D3P2SN) {
3022
3023 msq=1.82;
3024 bx2=0.41*0.41;
3025 mbx=(5.0*2.61+3.0*2.54)/8.0;
3026 nfp = 3.0;
3027 }
3028 else if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
3029 msq=0.55;
3030 bx2=0.30*0.30;
3031 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
3032 nfp = 2.0;
3033 }
3034 else{
3035 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
3036 }
3037 }
3038
3039 else{
3040 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P2.\n";
3041 }
3042 }
3043 }
3044 mtb = msb + msd;
3045 mtx = msq + msd;
3046
3047 mb = EvtPDL::getMeanMass( parent );
3048 mx = mass;
3049 mup=1.0/(1.0/msq+1.0/msb);
3050 mum=1.0/(1.0/msq-1.0/msb);
3051 bbx2=0.5*(bb2+bx2);
3052 tm=(mb-mx)*(mb-mx);
3053 if (t>tm) t = 0.99*tm;
3054 wt=1.0+(tm-t)/(2.0*mbb*mbx);
3055
3056 mqm = 0.1;
3057 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
3058 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
3059 log(EvtGetas(mqm)/EvtGetas(msq));
3060
3061 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
3062 (pow((1.0+r2*(tm-t)/18.0),3.0));
3063
3064 f5h = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
3065 f5k = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
3066 f5bppbm = f5*pow(( mbb / mtb ),-2.5)*pow((mbx/mtx),0.5);
3067 f5bpmbm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
3068
3069 *hf = f5h*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
3070 mtx*bbx2)));
3071
3072 *kf = f5k*(msd/(sqrt(2.0*bb2)))*(1.0+wt);
3073
3074 bppbm = ((msd*msd*f5bppbm*bx2)/(sqrt(32.0*bb2)*msq*msb*mtb*bbx2))*
3075 (1.0-(msd*bx2/(2.0*mtb*bbx2)));
3076
3077 bpmbm = -1.0*(msd*f5bpmbm/(sqrt(2.0*bb2)*msb*mtx))*(1.0-
3078 ((msd*msb*bx2)/(2.0*mup*mtb*bbx2))+((msd*bx2*(1.0-
3079 ((msd*bx2)/(2.0*mtb*bbx2))))/(4.0*msq*bbx2)));
3080
3081 *bpf = (bppbm + bpmbm)/2.0;
3082 *bmf = (bppbm - bpmbm)/2.0;
3083 return;
3084} //get_ff_isgw_1p1
3085
3086
3087double EvtISGW2FF::EvtGetGammaji ( double z )
3088
3089{
3090double temp;
3091
3092 temp = 2+((2.0*z)/(1-z))*log(z);
3093 temp = -1.0*temp;
3094
3095 return temp;
3096
3097} //EvtGetGammaji
3098
3099
3100
3101double EvtISGW2FF::EvtGetas ( double massq, double massx )
3102{
3103 double lqcd2 = 0.04;
3104 double nflav = 4;
3105 double temp = 0.6;
3106
3107 if ( massx > 0.6 ) {
3108 if ( massq < 1.85 ) {
3109 nflav = 3.0;}
3110
3111 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
3112 log( massx*massx/lqcd2);
3113 }
3114 return temp;
3115
3116} //EvtGetas
3117
3118double EvtISGW2FF::EvtGetas ( double mass )
3119
3120{
3121 double lqcd2 = 0.04;
3122 double nflav = 4;
3123 double temp = 0.6;
3124
3125 if ( mass > 0.6 ) {
3126 if ( mass < 1.85 ) {
3127 nflav = 3.0;}
3128
3129 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
3130 log( mass*mass/lqcd2);
3131 }
3132 return temp;
3133
3134} //EvtGetas
3135
3136
3137void EvtISGW2FF::getbaryonff(EvtId, EvtId, double, double, double*,
3138 double*, double*, double*){
3139
3140 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtISGW2FF.\n";
3141
3142 ::abort();
3143
3144}
3145
double ai[4]
Definition AbsCor.cxx:58
double mass
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:36
@ ERROR
Definition EvtReport.hh:49
static const double pi
Definition EvtConst.hh:28
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f)
Definition EvtISGW2FF.cc:35
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf)
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *)
Definition EvtId.hh:27
int getId() const
Definition EvtId.hh:41
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:45
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:287
int t()
Definition t.c:1