]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGen/EvtGenModels/EvtISGW2FF.cpp
Converting TEvtGen to native cmake
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGenModels / EvtISGW2FF.cpp
CommitLineData
0ca57c2f 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//
22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
24#include "EvtGenBase/EvtReport.hh"
25#include "EvtGenModels/EvtISGW2FF.hh"
26#include "EvtGenBase/EvtPDL.hh"
27#include "EvtGenBase/EvtId.hh"
28#include "EvtGenBase/EvtIdSet.hh"
29#include "EvtGenBase/EvtConst.hh"
30#include <string>
31#include <math.h>
32#include <stdlib.h>
33using std::endl;
34
35void EvtISGW2FF::getscalarff(EvtId parent,EvtId daught,
36 double t, double mass, double *fpf,
37 double *f0f ) {
38
39 //added by Lange Jan4,2000
40 static EvtId D0=EvtPDL::getId("D0");
41 static EvtId D0B=EvtPDL::getId("anti-D0");
42 static EvtId DP=EvtPDL::getId("D+");
43 static EvtId DM=EvtPDL::getId("D-");
44
45 static EvtId D3P0P=EvtPDL::getId("D_0*+");
46 static EvtId D3P0N=EvtPDL::getId("D_0*-");
47 static EvtId D3P00=EvtPDL::getId("D_0*0");
48 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
49
50 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
51 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
52 static EvtId D21S00=EvtPDL::getId("D(2S)0");
53 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
54
55 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
56
57 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
58 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
59 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
60
61 static EvtId PIP=EvtPDL::getId("pi+");
62 static EvtId PIM=EvtPDL::getId("pi-");
63 static EvtId PI0=EvtPDL::getId("pi0");
64
65
66 static EvtId A0P=EvtPDL::getId("a_0+");
67 static EvtId A0M=EvtPDL::getId("a_0-");
68 static EvtId A00=EvtPDL::getId("a_00");
69
70 static EvtId F0=EvtPDL::getId("f_0");
71 static EvtId F0PR=EvtPDL::getId("f'_0");
72
73 static EvtId ETA=EvtPDL::getId("eta");
74 static EvtId ETAPR=EvtPDL::getId("eta'");
75
76 static EvtId KP=EvtPDL::getId("K+");
77 static EvtId KM=EvtPDL::getId("K-");
78 static EvtId K0=EvtPDL::getId("K0");
79 static EvtId KB=EvtPDL::getId("anti-K0");
80 static EvtId K0S=EvtPDL::getId("K_S0");
81 static EvtId K0L=EvtPDL::getId("K_L0");
82
83 static EvtId K0STP=EvtPDL::getId("K_0*+");
84 static EvtId K0STM=EvtPDL::getId("K_0*-");
85 static EvtId K0ST0=EvtPDL::getId("K_0*0");
86 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
87
88 static EvtId DSP=EvtPDL::getId("D_s+");
89 static EvtId DSM=EvtPDL::getId("D_s-");
90
91 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
92 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
93
94 double fmf;
95 double mb=EvtPDL::getMeanMass(parent);
96
97 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
98 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
99 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0S||
100 daught==K0L||daught==KB||daught==DSP||daught==DSM) {
101
102 EvtISGW2FF1S0(parent,daught,t,mass,fpf,&fmf);
103 }
104
105 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
106 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
107 EvtISGW2FF21S0(parent,daught,t,mass,fpf,&fmf);
108 }
109
110 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
111 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
112 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
113 daught==D3P0SP||daught==D3P0SN||
114 daught==K0ST0) {
115 EvtISGW2FF3P0(parent,daught,t,mass,fpf,&fmf);
116 }
117
118 *f0f = (fmf/((mb*mb-mass*mass)/t))+(*fpf);
119
120 return ;
121}
122
123 void EvtISGW2FF::gettensorff(EvtId parent,EvtId daught,
124 double t, double mass, double *hf,
125 double *kf, double *bpf, double *bmf ){
126
127 //added by Lange Jan4,2000
128 EvtISGW2FF3P2(parent,daught,t,mass,hf,kf,bpf,bmf);
129
130 return;
131
132 }
133
134
135 void EvtISGW2FF::getvectorff(EvtId parent,EvtId daught,
136 double t, double mass, double *a1f,
137 double *a2f, double *vf, double *a0f ){
138 double ff,gf,apf,amf;
139
140 //added by Lange Jan4,2000
141
142 static EvtId DST0=EvtPDL::getId("D*0");
143 static EvtId DSTB=EvtPDL::getId("anti-D*0");
144 static EvtId DSTP=EvtPDL::getId("D*+");
145 static EvtId DSTM=EvtPDL::getId("D*-");
146
147
148 static EvtId D1P1P=EvtPDL::getId("D_1+");
149 static EvtId D1P1N=EvtPDL::getId("D_1-");
150 static EvtId D1P10=EvtPDL::getId("D_10");
151 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
152
153 static EvtId D3P1P=EvtPDL::getId("D'_1+");
154 static EvtId D3P1N=EvtPDL::getId("D'_1-");
155 static EvtId D3P10=EvtPDL::getId("D'_10");
156 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
157
158 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
159 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
160 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
161 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
162
163 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
164 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
165 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
166 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
167
168 static EvtId RHOP=EvtPDL::getId("rho+");
169 static EvtId RHOM=EvtPDL::getId("rho-");
170 static EvtId RHO0=EvtPDL::getId("rho0");
171
172 static EvtId A1P=EvtPDL::getId("a_1+");
173 static EvtId A1M=EvtPDL::getId("a_1-");
174 static EvtId A10=EvtPDL::getId("a_10");
175
176 static EvtId B1P=EvtPDL::getId("b_1+");
177 static EvtId B1M=EvtPDL::getId("b_1-");
178 static EvtId B10=EvtPDL::getId("b_10");
179
180 static EvtId H1=EvtPDL::getId("h_1");
181 static EvtId H1PR=EvtPDL::getId("h'_1");
182
183 static EvtId F1=EvtPDL::getId("f_1");
184 static EvtId F1PR=EvtPDL::getId("f'_1");
185
186 static EvtId OMEG=EvtPDL::getId("omega");
187 static EvtId KSTP=EvtPDL::getId("K*+");
188 static EvtId KSTM=EvtPDL::getId("K*-");
189 static EvtId KST0=EvtPDL::getId("K*0");
190 static EvtId KSTB=EvtPDL::getId("anti-K*0");
191
192 static EvtId K1P=EvtPDL::getId("K_1+");
193 static EvtId K1M=EvtPDL::getId("K_1-");
194 static EvtId K10=EvtPDL::getId("K_10");
195 static EvtId K1B=EvtPDL::getId("anti-K_10");
196
197 static EvtId K1STP=EvtPDL::getId("K'_1+");
198 static EvtId K1STM=EvtPDL::getId("K'_1-");
199 static EvtId K1ST0=EvtPDL::getId("K'_10");
200 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
201
202 static EvtId PHI=EvtPDL::getId("phi");
203
204 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
205 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
206
207 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
208 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
209
210 static EvtId DSSTP=EvtPDL::getId("D_s*+");
211 static EvtId DSSTM=EvtPDL::getId("D_s*-");
212
213 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
214 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
215 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
216 daught==PHI||daught==DSSTP||daught==DSSTM) {
217 EvtISGW2FF3S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
218 }
219 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
220 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
221 daught==D1P1SP||daught==D1P1SN||
222 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
223 daught==K1M) {
224 EvtISGW2FF1P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
225 }
226 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
227 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
228 EvtISGW2FF23S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
229 }
230 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
231 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
232 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
233 daught==D3P1SP||daught==D3P1SN||
234 daught==K1ST0) {
235 EvtISGW2FF3P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
236 }
237
238 // Need to stuff in some factors to make these the ffs that
239 // is used elsewhere...
240
241 double mb=EvtPDL::getMeanMass(parent);
242
243
244 *vf = (gf)*(mb+mass);
245 *a1f = (ff)/(mb+mass);
246 *a2f = -1.0*(apf)*(mb+mass);
247
248 double a3f = ((mb+mass)/(2.0*mass))*(*a1f) -
249 ((mb-mass)/(2.0*mass))*(*a2f);
250
251 *a0f = a3f + ( (t*amf)/(2.0*mass));
252
253 return;
254 }
255
256
257
258void EvtISGW2FF::EvtISGW2FF1S0 (EvtId parent,EvtId daugt,
259 double t, double mass, double *fpf, double *fmf ) {
260
261 double mtb, mbb(0.0);
262 double msd(0.0), mx,mb,nf(0.0),nfp(0.0);
263 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
264 double zji,cji,gammaji,chiji,betaji_fppfm;
265 double rfppfm,rfpmfm,f3fppfm,f3fpmfm,fppfm,fpmfm,ai,f3;
266 double mqm,msb(0.0),bb2(0.0),mup,bbx2,tm,r2,betaji_fpmfm;
267
268 EvtId prnt=parent;
269 EvtId dgt=daugt;
270
271 //added by Lange Jan4,2000
272 static EvtIdSet theB("B+","B-","B0","anti-B0");
273
274 static EvtId D0=EvtPDL::getId("D0");
275 static EvtId D0B=EvtPDL::getId("anti-D0");
276 static EvtId DP=EvtPDL::getId("D+");
277 static EvtId DM=EvtPDL::getId("D-");
278
279 static EvtId PIP=EvtPDL::getId("pi+");
280 static EvtId PIM=EvtPDL::getId("pi-");
281 static EvtId PI0=EvtPDL::getId("pi0");
282
283 static EvtId ETA=EvtPDL::getId("eta");
284 static EvtId ETAPR=EvtPDL::getId("eta'");
285
286 static EvtId KP=EvtPDL::getId("K+");
287 static EvtId KM=EvtPDL::getId("K-");
288 static EvtId K0=EvtPDL::getId("K0");
289 static EvtId KB=EvtPDL::getId("anti-K0");
290 static EvtId K0S=EvtPDL::getId("K_S0");
291 static EvtId K0L=EvtPDL::getId("K_L0");
292
293 static EvtId DSP=EvtPDL::getId("D_s+");
294 static EvtId DSM=EvtPDL::getId("D_s-");
295
296 static EvtId BSB=EvtPDL::getId("anti-B_s0");
297 static EvtId BS0=EvtPDL::getId("B_s0");
298
299 if (theB.contains(prnt)) {
300
301 msb=5.2;
302 msd=0.33;
303 bb2=0.431*0.431;
304 mbb=5.31;
305 nf = 4.0;
306
307 if (dgt==PI0||dgt==PIP||dgt==PIM||dgt==ETA||dgt==ETAPR) {
308
309 msq=0.33;
310 bx2=0.406*0.406;
311 mbx=0.75*0.770+0.25*0.14;
312 nfp = 0.0;
313 }
314 else{
315 if (dgt==D0||dgt==D0B||dgt==DP||dgt==DM) {
316 msq=1.82;
317 bx2=0.45*0.45;
318 mbx=0.75*2.01+0.25*1.87;
319 nfp = 3.0;
320 }
321 else{
322 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
323 }
324 }
325 }
326 else{
327 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
328 msb=1.82;
329 msd=0.33;
330 bb2=0.45*0.45;
331 mbb=1.963;
332 nf = 3.0;
333
334 if (dgt==PIP||dgt==PIM||dgt==PI0||dgt==ETA||dgt==ETAPR) {
335 msq=0.33;
336 bx2=0.406*0.406;
337 mbx=0.75*0.770+0.25*0.14;
338 nfp = 0.0;
339 }
340 else{
341 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB||dgt==KP||dgt==KM) {
342 msq=0.55;
343 bx2=0.44*0.44;
344 mbx=0.75*0.892+0.25*0.49767;
345 nfp = 2.0;
346 }
347 else{
348 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
349 }
350 }
351 }
352 else{
353 if (prnt==DSP||prnt==DSM){
354 msb=1.82;
355 msd=0.55;
356 bb2=0.56*0.56;
357 mbb=1.968;
358 nf = 3.0;
359
360 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB) {
361
362 msq=0.33;
363 bx2=0.44*0.44;
364 mbx=0.75*0.770+0.25*0.14;
365 nfp = 0.0;
366 }
367 else{
368 if (dgt==PI0||dgt==ETA||dgt==ETAPR) {
369 msq=0.33;
370 bx2=0.53*0.53;
371 mbx=0.75*0.892+0.25*0.49767;
372 nfp = 0.0;
373 }
374 else{
375
376 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
377 }
378 }
379 }
380 else{
381 //BS -> cs constants added by djl on Jan. 21,1998
382 if (prnt==BS0||prnt==BSB){
383
384 msb=5.2;
385 msd=0.55;
386 bb2=0.54*0.54;
387 mbb=5.38;
388 nf = 4.0;
389
390 if (dgt==DSP||dgt==DSM) {
391
392 msq=1.82;
393 bx2=0.56*0.56;
394 mbx=0.75*2.11+0.25*1.97;
395 nfp = 3.0;
396 }
397 else if (dgt==KP||dgt==KM) {
398
399 msq=0.55;
400 bx2=0.44*0.44;
401 mbx=0.75*0.892+0.25*0.49767;
402 nfp = 2.0;
403 }
404 else{
405 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
406 }
407 }
408
409 else{
410 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1S0.\n";
411 report(ERROR,"EvtGen") << "Parent:"<<parent.getId()<<endl;
412 }
413 }
414 }
415 }
416
417 mtb = msb + msd;
418 mtx = msq + msd;
419 mb=EvtPDL::getMeanMass(parent);
420 mx=mass;
421
422 mup=1.0/(1.0/msq+1.0/msb);
423 bbx2=0.5*(bb2+bx2);
424 tm=(mb-mx)*(mb-mx);
425 if ( t>tm ) t=0.99*tm;
426
427 mqm = 0.1;
428 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
429 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
430 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
431
432 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5) /
433 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
434
435// for w use wt def with physical masses.
436// report(ERROR,"EvtGen") << "before w\n";
437
438 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
439 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
440
441 zji = msq / msb;
442
443 gammaji = EvtGetGammaji( zji );
444 chiji = -1.0 - ( gammaji / ( 1- zji ));
445 betaji_fppfm = gammaji - (2.0/3.0)*chiji;
446 betaji_fpmfm = gammaji + (2.0/3.0)*chiji;
447 rfppfm = cji *(1.0 + betaji_fppfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
448 rfpmfm = cji *(1.0 + betaji_fpmfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
449 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
450 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
451 fppfm = f3fppfm* rfppfm * ( 2.0 - ( ( mtx/msq)*(1- ( (msd*msq*bb2)
452 /(2.0*mup*mtx*bbx2)))));
453 fpmfm = f3fpmfm* rfpmfm * ( mtb/msq) * ( 1 - ( ( msd*msq*bb2)/
454 ( 2.0*mup*mtx*bbx2)));
455
456 *fpf = (fppfm + fpmfm)/2.0;
457 *fmf = (fppfm - fpmfm)/2.0;
458
459 return;
460} //get_ff_isgw_1s0
461
462
463
464
465
466void EvtISGW2FF::EvtISGW2FF3S1(EvtId parent,EvtId daugt,double t,double mass,
467 double *f,double *g,double *ap,double *am){
468
469 //added by Lange Jan4,2000
470 static EvtId BP=EvtPDL::getId("B+");
471 static EvtId BM=EvtPDL::getId("B-");
472 static EvtId B0=EvtPDL::getId("B0");
473 static EvtId B0B=EvtPDL::getId("anti-B0");
474
475 static EvtId DST0=EvtPDL::getId("D*0");
476 static EvtId DSTB=EvtPDL::getId("anti-D*0");
477 static EvtId DSTP=EvtPDL::getId("D*+");
478 static EvtId DSTM=EvtPDL::getId("D*-");
479 static EvtId D0=EvtPDL::getId("D0");
480 static EvtId D0B=EvtPDL::getId("anti-D0");
481 static EvtId DP=EvtPDL::getId("D+");
482 static EvtId DM=EvtPDL::getId("D-");
483
484 static EvtId RHOP=EvtPDL::getId("rho+");
485 static EvtId RHOM=EvtPDL::getId("rho-");
486 static EvtId RHO0=EvtPDL::getId("rho0");
487 static EvtId OMEG=EvtPDL::getId("omega");
488
489 static EvtId KSTP=EvtPDL::getId("K*+");
490 static EvtId KSTM=EvtPDL::getId("K*-");
491 static EvtId KST0=EvtPDL::getId("K*0");
492 static EvtId KSTB=EvtPDL::getId("anti-K*0");
493
494 static EvtId PHI=EvtPDL::getId("phi");
495 static EvtId DSP=EvtPDL::getId("D_s+");
496 static EvtId DSM=EvtPDL::getId("D_s-");
497
498 static EvtId DSSTP=EvtPDL::getId("D_s*+");
499 static EvtId DSSTM=EvtPDL::getId("D_s*-");
500
501 static EvtId BSB=EvtPDL::getId("anti-B_s0");
502 static EvtId BS0=EvtPDL::getId("B_s0");
503
504 double cf(0.0),mtb,wt,msd(0.0),mup,f3f,msq(0.0),bb2(0.0),mum,mtx,bbx2,f3g;
505 double cji,bx2(0.0),f3appam,msb(0.0),tm,mbb(0.0),mbx(0.0);
506 double f3apmam,appam,apmam,mb,mx,f3;
507 double r_f,r_g,r_apmam, betaji_f,betaji_g;
508 double betaji_appam, betaji_apmam;
509 double mqm,r2,chiji,zji,ai,nf(0.0),nfp(0.0),gammaji;
510
511 EvtId prnt=parent;
512 EvtId dgt=daugt;
513
514 if (parent==B0||parent==B0B||parent==BP||parent==BM) {
515
516 msb=5.2;
517 msd=0.33;
518 bb2=0.431*0.431;
519 mbb=5.31;
520 nf = 4.0;
521
522 if (dgt==DST0||dgt==DSTP||dgt==DSTM||dgt==DSTB) {
523
524 cf=0.989;
525 msq=1.82;
526 bx2=0.38*0.38;
527 mbx=0.75*2.01+0.25*1.87;
528 nfp = 3.0;
529 }
530 else{
531 if (dgt==OMEG||dgt==RHO0||dgt==RHOM||dgt==RHOP) {
532
533 cf=0.905;
534 msq=0.33;
535 bx2=0.299*0.299;
536 mbx=0.75*0.770+0.25*0.14;
537 nfp = 0.0;
538 }
539 else{
540 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
541 }
542 }
543 }
544 else{
545 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
546
547 msb=1.82;
548 msd=0.33;
549 bb2=0.45*0.45;
550 mbb=1.963;
551 nf = 3.0;
552
553 if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
554
555 cf=0.928;
556 msq=0.55;
557 bx2=0.33*0.33;
558 mbx=0.75*0.892+0.25*0.494;
559 nfp = 2.0;
560 }
561 else{
562 if (dgt==RHO0||dgt==OMEG||dgt==RHOM||dgt==RHOP) {
563 cf=0.889;
564 msq=0.33;
565 bx2=0.299*0.299;
566 mbx=0.75*0.770+0.25*0.14;
567 nfp = 0.0;
568 }
569 else{
570 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
571 }
572 }
573 }
574 else{
575 if (prnt==DSP||prnt==DSM){
576
577 msb=1.82;
578 msd=0.55;
579 bb2=0.56*0.56;
580 mbb=1.968;
581 nf = 3.0;
582
583 if (dgt==KSTB||dgt==KST0) {
584
585 cf=0.8731;
586 msq=0.55;
587 bx2=0.33*0.33;
588 mbx=0.87;
589 nfp = 2.0;
590 }
591 else{
592 if(dgt==PHI){
593 cf=0.911;
594 msq=0.55;
595 bx2=0.37*0.37;
596 mbx=0.97;
597 nfp = 2.0;
598 }
599 else{
600 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
601 }
602 }
603 }
604 else{
605 //BS -> cs constants added by djl on Jan. 21,1998
606 if (prnt==BS0||prnt==BSB){
607
608 msb=5.2;
609 msd=0.55;
610 bb2=0.54*0.54;
611 mbb=5.38;
612 nf = 4.0;
613
614 if (dgt==DSSTP||dgt==DSSTM) {
615
616 cf=0.984;
617 msq=1.82;
618 bx2=0.49*0.49;
619 mbx=0.75*2.11+0.25*1.97;
620 nfp = 3.0;
621 }
622 else if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
623
624 cf=0.928;
625 msq=0.55;
626 bx2=0.33*0.33;
627 mbx=0.75*0.892+0.25*0.494;
628 nfp = 2.0;
629 }
630 else{
631 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
632 }
633 }
634
635 else{
636 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw2_ff_3S1.\n";
637 }
638 }
639 }
640 }
641
642
643 mtb=msb+msd;
644 mtx=msq+msd;
645
646 mup=1.0/(1.0/msq+1.0/msb);
647 mum=1.0/(1.0/msq-1.0/msb);
648 bbx2=0.5*(bb2+bx2);
649 mb=EvtPDL::getMeanMass(parent);
650 mx=mass;
651 tm=(mb-mx)*(mb-mx);
652 if ( t > tm ) t = 0.99*tm;
653
654 wt=1.0+(tm-t)/(2.0*mbb*mbx);
655 mqm = 0.1;
656
657 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
658 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
659 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
660
661 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
662
663 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
664 zji = msq / msb;
665
666 gammaji = EvtGetGammaji( zji );
667
668 chiji = -1.0 - ( gammaji / ( 1- zji ));
669
670 betaji_g = (2.0/3.0)+gammaji;
671 betaji_f = (-2.0/3.0)+gammaji;
672 betaji_appam = -1.0-chiji+(4.0/(3.0*(1.0-zji)))+
673 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)));
674
675 betaji_apmam = (1.0/3.0)-chiji-(4.0/(3.0*(1.0-zji)))-
676 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)))+
677 gammaji;
678
679 r_g = cji*(1+(betaji_g*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
680 r_f = cji*(1+(betaji_f*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
681 r_apmam = cji*(1+(betaji_apmam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
682
683
684 f3=sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5)/
685 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
686
687 f3f=sqrt(mbx*mbb/(mtx*mtb))*f3;
688 f3g=sqrt(mtx*mtb/(mbx*mbb))*f3;
689 f3appam=sqrt(mtb*mtb*mtb*mbx/(mbb*mbb*mbb*mtx))*f3;
690 f3apmam=sqrt(mtx*mtb/(mbx*mbb))*f3;
691 *f=cf*mtb*(1+wt+msd*(wt-1)/(2*mup))*f3f*r_f;
692 *g=0.5*(1/msq-msd*bb2/(2*mum*mtx*bbx2))*f3g*r_g;
693
694 appam=cji*(msd*bx2*(1-msd*bx2/(2*mtb*bbx2))/
695 ((1+wt)*msq*msb*bbx2)-
696 betaji_appam*EvtGetas( msq,sqrt(msq*mb) )/
697 (mtb*EvtConst::pi))*f3appam;
698
699 apmam=-1.0*(mtb/msb-msd*bx2/(2*mup*bbx2)+wt*msd*mtb*bx2*
700 (1-msd*bx2/(2*mtb*bbx2))/((wt+1)*msq*msb*bbx2))*
701 f3apmam*r_apmam/mtx;
702
703 *ap=0.5*(appam+apmam);
704 *am=0.5*(appam-apmam);
705 return;
706}
707
708
709void EvtISGW2FF::EvtISGW2FF21S0 (EvtId parent,EvtId daugt,
710 double t, double mass, double *fppf, double *fpmf ) {
711
712 //added by Lange Jan4,2000
713 static EvtId BP=EvtPDL::getId("B+");
714 static EvtId BM=EvtPDL::getId("B-");
715 static EvtId B0=EvtPDL::getId("B0");
716 static EvtId B0B=EvtPDL::getId("anti-B0");
717
718 static EvtId D0=EvtPDL::getId("D0");
719 static EvtId D0B=EvtPDL::getId("anti-D0");
720 static EvtId DP=EvtPDL::getId("D+");
721 static EvtId DM=EvtPDL::getId("D-");
722
723 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
724 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
725 static EvtId D21S00=EvtPDL::getId("D(2S)0");
726 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
727
728 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
729
730 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
731 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
732 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
733
734 double mtb, mbb(0.0);
735 double msd(0.0), mx,mb,nfp(0.0);
736 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
737 double f3fppfm,f3fpmfm,fppfm,fpmfm,f3;
738 double mqm,msb(0.0);
739 double r2,wt,tm,bb2(0.0),bbx2;
740 double tau,udef,vdef;
741
742 EvtId prnt=parent;
743 EvtId dgt=daugt;
744
745 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
746
747 msb=5.2;
748 msd=0.33;
749 bb2=0.431*0.431;
750 mbb=0.75*5.325+0.25*5.279;
751
752 if (dgt==PI2S0||dgt==PI2SP||dgt==PI2SM||dgt==ETA2S) {
753
754 msq=0.33;
755 bx2=0.406*0.406;
756 mbx=0.75*1.45+0.25*1.300;
757 nfp = 0.0;
758 }
759 else{
760 if (dgt==D21S0P||dgt==D21S0B||dgt==D21S0N||dgt==D21S00) {
761 msq=1.82;
762 bx2=0.45*0.45;
763 mbx=0.75*2.64+0.25*2.58;
764 nfp=3.0;
765 }
766 else{
767
768 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
769 }
770 }
771 }
772 else{
773 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
774 msb=1.82;
775 msd=0.33;
776 bb2=0.45*0.45;
777 mbb=1.963;
778 if (dgt==PI2SP||dgt==PI2SM||dgt==PI2S0||dgt==ETA2S) {
779 msq=0.33;
780 bx2=0.406*0.406;
781 mbx=0.75*1.45+0.25*1.300;
782 nfp = 0.0;
783 }
784 else{
785 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
786 }
787 }
788 else{
789 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_21S0.\n";
790 }
791 }
792
793 mtb = msb + msd;
794 mtx = msq + msd;
795
796 mb = EvtPDL::getMeanMass( parent );
797 mx = mass;
798
799 bbx2=0.5*(bb2+bx2);
800 tm=(mb-mx)*(mb-mx);
801 if (t>tm) t = 0.99*tm;
802 wt=1.0+(tm-t)/(2.0*mbb*mbx);
803
804 mqm = 0.1;
805 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
806 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
807 log(EvtGetas(mqm)/EvtGetas(msq));
808
809 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
810 (pow((1.0+r2*(tm-t)/24.0),4.0));
811
812 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
813 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
814
815 tau = msd*msd*bx2*(wt-1)/(bb2*bbx2);
816 udef = (( bb2-bx2)/(2.0*bbx2)) + ((bb2*tau)/(3.0*bbx2));
817 vdef = (bb2*(1.0+(msq/msb))/(6.0*bbx2))*(7.0 - ((bb2/bbx2)*(5+tau)));
818
819 fppfm = f3fppfm*sqrt(1.5)*((1.0-(msd/msq))*udef-(msd*vdef/msq));
820 fpmfm = f3fpmfm*sqrt(1.5)*(mtb/msq)*(udef+(msd*vdef/mtx));
821
822 *fppf = (fppfm + fpmfm) /2.0;
823 *fpmf = (fppfm - fpmfm) /2.0;
824 return;
825
826} //get_ff_isgw_21s0
827
828
829void EvtISGW2FF::EvtISGW2FF23S1 (EvtId parent,EvtId daugt,
830 double t, double mass, double *fpf, double *gpf,
831 double *appf, double *apmf ) {
832
833 //added by Lange Jan4,2000
834 static EvtId BP=EvtPDL::getId("B+");
835 static EvtId BM=EvtPDL::getId("B-");
836 static EvtId B0=EvtPDL::getId("B0");
837 static EvtId B0B=EvtPDL::getId("anti-B0");
838
839 static EvtId D0=EvtPDL::getId("D0");
840 static EvtId D0B=EvtPDL::getId("anti-D0");
841 static EvtId DP=EvtPDL::getId("D+");
842 static EvtId DM=EvtPDL::getId("D-");
843
844 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
845 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
846 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
847 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
848
849 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
850 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
851 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
852 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
853
854 double mtb, mbb(0.0);
855 double msd(0.0), mx,mb,nfp(0.0);
856 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
857 double f3appam,f3apmam,f3,appam,apmam,f3fp,f3gp;
858 double udef,tau,mum,bb2(0.0),bbx2,tm,wt,mqm,r2,msb(0.0);
859 double cfp(0.0);
860
861 EvtId prnt=parent;
862 EvtId dgt=daugt;
863
864 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
865
866 msb=5.2;
867 msd=0.33;
868 bb2=0.431*0.431;
869 mbb=0.75*5.325+0.25*5.279;
870
871 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
872
873 cfp=0.776;
874 msq=0.33;
875 bx2=0.299*0.299;
876 mbx=0.75*1.45+0.25*1.300;
877 nfp = 0.0;
878
879 }
880 else{
881 if (dgt==D23S1N||dgt==D23S1P||dgt==D23S1B||dgt==D23S10) {
882 cfp=0.929;
883 msq=1.82;
884 bx2=0.38*0.38;
885 mbx=0.75*2.64+0.25*2.58;
886 nfp=3.0;
887 }
888 else{
889 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
890 }
891 }
892 }
893 else{
894 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
895 msb=1.82;
896 msd=0.33;
897 bb2=0.45*0.45;
898 mbb=1.963;
899
900 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
901 cfp=0.74;
902 msq=0.33;
903 bx2=0.299*0.299;
904 mbx=0.75*1.45+0.25*1.300;
905 nfp = 0.0;
906 }
907 else{
908 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
909 }
910 }
911 else{
912 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_23P1.\n";
913 }
914 }
915
916 mtb = msb + msd;
917 mtx = msq + msd;
918 mb = EvtPDL::getMeanMass( parent );
919 mx = mass;
920
921 mum=1.0/(1.0/msq-1.0/msb);
922 bbx2=0.5*(bb2+bx2);
923 tm=(mb-mx)*(mb-mx);
924
925 if (t>tm) t = 0.99*tm;
926 wt=1.0+(tm-t)/(2.0*mbb*mbx);
927
928 mqm = 0.1;
929 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
930 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
931 log(EvtGetas(mqm)/EvtGetas(msq));
932
933 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
934 (pow((1.0+r2*(tm-t)/24.0),4.0));
935
936 f3fp = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
937 f3gp = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
938 f3appam = f3*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
939 f3apmam = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
940
941 tau = msd*msd*bx2*(wt-1.0)/(bb2*bbx2);
942 udef = (( bb2-bx2)/(2.0*bbx2));
943 udef = udef + ((bb2*tau)/(3.0*bbx2));
944
945 *fpf = cfp*sqrt(1.5)*mtb*(1.0+wt)*udef*f3fp;
946
947 *gpf = sqrt(3.0/8.0)*f3gp*(((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))*
948 udef + ( (msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
949
950 appam = f3appam*sqrt(2.0/3.0)*(bb2/(msq*msb*bbx2))*((-7.0*msd*msd*bx2*
951 bx2*(1.0+(tau/7.0))/(8.0*mtb*bbx2*bbx2))+(5.0*msd*bx2*(1.0+
952 (tau/5.0))/(4.0*bbx2))+(3.0*msd*msd*bx2*bx2/(8.0*mtb*bb2*bbx2))-
953 (3.0*msd*bx2/(4.0*bb2)));
954
955 apmam = f3apmam*sqrt(3.0/2.0)*(mtb/(msb*mtx))*(1.0-(bb2*(1.0+(tau/7.0))/
956 bbx2)-(msd*bx2*(1.0-(5.0*bb2*(1.0+(tau/5.0))/(3.0*bbx2)))
957 /(2.0*mtb*bbx2))-(7.0*msd*msd*bb2*bx2/(12.0*msq*mtb*bbx2*bbx2))*
958 (1.0-(bx2/bbx2)+(bb2*tau/(7.0*bbx2))));
959
960 *appf = (appam + apmam) /2.0;
961 *apmf = (appam - apmam) /2.0;
962 return;
963} //get_ff_isgw_23s1
964
965void EvtISGW2FF::EvtISGW2FF1P1 (EvtId parent,EvtId daugt,
966 double t, double mass, double *rf, double *vf,
967 double *spf, double *smf ) {
968 //added by Lange Jan4,2000
969 static EvtId BP=EvtPDL::getId("B+");
970 static EvtId BM=EvtPDL::getId("B-");
971 static EvtId B0=EvtPDL::getId("B0");
972 static EvtId B0B=EvtPDL::getId("anti-B0");
973
974 static EvtId D0=EvtPDL::getId("D0");
975 static EvtId D0B=EvtPDL::getId("anti-D0");
976 static EvtId DP=EvtPDL::getId("D+");
977 static EvtId DM=EvtPDL::getId("D-");
978
979 static EvtId D1P1P=EvtPDL::getId("D_1+");
980 static EvtId D1P1N=EvtPDL::getId("D_1-");
981 static EvtId D1P10=EvtPDL::getId("D_10");
982 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
983
984 static EvtId B1P=EvtPDL::getId("b_1+");
985 static EvtId B1M=EvtPDL::getId("b_1-");
986 static EvtId B10=EvtPDL::getId("b_10");
987
988 static EvtId H1=EvtPDL::getId("h_1");
989 static EvtId H1PR=EvtPDL::getId("h'_1");
990
991 static EvtId K1P=EvtPDL::getId("K_1+");
992 static EvtId K1M=EvtPDL::getId("K_1-");
993 static EvtId K10=EvtPDL::getId("K_10");
994 static EvtId K1B=EvtPDL::getId("anti-K_10");
995
996 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
997 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
998
999 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1000 static EvtId BS0=EvtPDL::getId("B_s0");
1001
1002 double mtb, mbb(0.0);
1003 double msd(0.0), mx,mb,nfp(0.0);
1004 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
1005 double f5sppsm,f5spmsm;
1006 double f5v,f5r,mup,mum,vv,rr,spmsm,sppsm;
1007 double mqm,msb(0.0),bb2(0.0),bbx2,tm,wt,r2;
1008 EvtId prnt=parent;
1009 EvtId dgt=daugt;
1010 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1011 msb=5.2;
1012 msd=0.33;
1013 bb2=0.431*0.431;
1014 mbb=5.31;
1015 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
1016 msq=0.33;
1017 bx2=0.275*0.275;
1018 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
1019 nfp = 0.0;
1020 }
1021 else{
1022 if (dgt==D1P1P||dgt==D1P10||dgt==D1P1B||dgt==D1P1N) {
1023 msq=1.82;
1024 bx2=0.33*0.33;
1025 mbx=(5.0*2.46+3.0*2.42)/8.0;
1026 nfp = 3.0;
1027 }
1028 else{
1029 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
1030 }
1031 }
1032 }
1033 else{
1034 if (prnt==DM||prnt==DP||prnt==D0B||prnt==D0) {
1035 msb=1.82;
1036 msd=0.33;
1037 bb2=0.45*0.45;
1038 mbb=1.963;
1039 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
1040 msq=0.33;
1041 bx2=0.275*0.275;
1042 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
1043 nfp = 0.0;
1044 }
1045 else{
1046 if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
1047 msq=0.55;
1048 bx2=0.30*0.30;
1049 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
1050 nfp = 2.0;
1051 }
1052 else{
1053 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
1054 }
1055 }
1056 }
1057 else{
1058 //BS -> cs constants added by djl on Jan. 21,1998
1059 if (prnt==BS0||prnt==BSB){
1060
1061 msb=5.2;
1062 msd=0.55;
1063 bb2=0.54*0.54;
1064 mbb=5.38;
1065
1066 if (dgt==D1P1SP||dgt==D1P1SN) {
1067
1068 msq=1.82;
1069 bx2=0.41*0.41;
1070 mbx=(5.0*2.61+3.0*2.54)/8.0;
1071 nfp = 3.0;
1072 }
1073 else if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
1074 msq=0.55;
1075 bx2=0.30*0.30;
1076 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
1077 nfp = 2.0;
1078 }
1079 else{
1080 report(ERROR,"EvtGen") << "Not implemented daugt:"
1081 <<daugt.getId()<<" in get_isgw_ff_1S0.\n";
1082 }
1083 }
1084
1085 else{
1086 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1P1.\n";
1087 }
1088 }
1089 }
1090
1091
1092 mtb = msb + msd;
1093 mtx = msq + msd;
1094
1095 mb = EvtPDL::getMeanMass( parent );
1096 mx = mass;
1097
1098 mup=1.0/(1.0/msq+1.0/msb);
1099 mum=1.0/(1.0/msq-1.0/msb);
1100 bbx2=0.5*(bb2+bx2);
1101 tm=(mb-mx)*(mb-mx);
1102 if (t>tm) t = 0.99*tm;
1103 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1104
1105 mqm = 0.1;
1106 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
1107 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1108 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
1109
1110 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
1111 (pow((1.0+r2*(tm-t)/18.0),3.0));
1112
1113 f5v = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1114 f5r = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
1115 f5sppsm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
1116 f5spmsm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1117
1118 if (msq == msd) {
1119 vv = f5v*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)) +
1120 (((wt-1)*msd)/(6.0*sqrt(2.0*bb2)*mtx)));
1121
1122 rr = f5r*mtb*sqrt(bb2/2)*((1.0/mup)+((msd*mtx*(wt-1)*(wt-1))/
1123 (3.0*msq*bb2)));
1124
1125 sppsm = msd*f5sppsm/(sqrt(2.0*bb2)*mtb)*(1.0-(msd/msq)+((msd*bb2)/
1126 (2.0*mup*bbx2)));
1127
1128 spmsm = msd*f5spmsm/(sqrt(2.0*bb2)*msq)*(((4-wt)/3.0)- ( (msd*msq*bb2)/
1129 (2.0*mtx*mup*bbx2)));
1130
1131 } else {
1132 vv = -1.0*msd*f5v/(2.0*sqrt(3.0*bb2)*mtx)*
1133 ((wt+1)/2.0+bb2*mtb/(2.0*msd*msq*msb));
1134
1135 rr = -2.0*mtb*sqrt(bb2/3.0)*f5r*(1.0/msq + mtx*msd*(wt-1)/(2.0*bb2)*
1136 ((wt+1)/(2.0*msq)-msd*bb2/(2.0*mum*mtx*bbx2)));
1137
1138 sppsm = -1.0*sqrt(3.0)*msd*f5sppsm/(2.0*sqrt(bb2)*mtb)*(1 - msd/(3.0*msq) -
1139 msd*bb2/(3.0*bbx2)*(1.0/(2.0*mum)-1.0/mup));
1140
1141 spmsm = -1.0*msd*f5spmsm/(2.0*sqrt(3.0*bb2)*mtx)*((2-wt)*mtx/msq +
1142 msd*bb2/bbx2*(1.0/(2.0*mum)-1.0/mup));
1143
1144 }
1145
1146 //smooth out the mass(meson) dependence a little
1147 double parMass=EvtPDL::getMeanMass(prnt);
1148 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
1149 double massNom= EvtPDL::getMeanMass(dgt);
1150 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
1151 double q2maxin=sqrt(q2maxNom/q2max);
1152 if ( q2maxin > 1000. ) q2maxin=1000.;
1153
1154 vv*=q2maxin;
1155 rr*=q2maxin;
1156 sppsm*=q2maxin;
1157 spmsm*=q2maxin;
1158
1159 *vf = vv;
1160 *rf = rr;
1161 *spf = (sppsm + spmsm)/2.0;
1162 *smf = (sppsm - spmsm)/2.0;
1163 return;
1164} //get_ff_isgw_1p1
1165
1166
1167void EvtISGW2FF::EvtISGW2FF3P1 (EvtId parent,EvtId daugt,
1168 double t, double mass, double *lf, double *qf,
1169 double *cpf, double *cmf ) {
1170
1171 //added by Lange Jan4,2000
1172 static EvtId BP=EvtPDL::getId("B+");
1173 static EvtId BM=EvtPDL::getId("B-");
1174 static EvtId B0=EvtPDL::getId("B0");
1175 static EvtId B0B=EvtPDL::getId("anti-B0");
1176
1177 static EvtId D0=EvtPDL::getId("D0");
1178 static EvtId D0B=EvtPDL::getId("anti-D0");
1179 static EvtId DP=EvtPDL::getId("D+");
1180 static EvtId DM=EvtPDL::getId("D-");
1181
1182 static EvtId D3P1P=EvtPDL::getId("D'_1+");
1183 static EvtId D3P1N=EvtPDL::getId("D'_1-");
1184 static EvtId D3P10=EvtPDL::getId("D'_10");
1185 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
1186
1187 static EvtId A1P=EvtPDL::getId("a_1+");
1188 static EvtId A1M=EvtPDL::getId("a_1-");
1189 static EvtId A10=EvtPDL::getId("a_10");
1190
1191 static EvtId F1=EvtPDL::getId("f_1");
1192 static EvtId F1PR=EvtPDL::getId("f'_1");
1193
1194 static EvtId K1STP=EvtPDL::getId("K'_1+");
1195 static EvtId K1STM=EvtPDL::getId("K'_1-");
1196 static EvtId K1ST0=EvtPDL::getId("K'_10");
1197 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
1198
1199 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
1200 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
1201
1202 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1203 static EvtId BS0=EvtPDL::getId("B_s0");
1204
1205 double mtb, mbb(0.0);
1206 double msd(0.0), mx,mb,nfp(0.0);
1207 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1208 double f5cppcm,f5cpmcm,f5,ql,ll,cppcm,cpmcm,f5q,f5l;
1209 double mqm,msb(0.0),bb2(0.0),mum,bbx2,tm,wt,r2;
1210 EvtId prnt=parent;
1211 EvtId dgt=daugt;
1212
1213 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1214
1215 msb=5.2;
1216 msd=0.33;
1217 bb2=0.431*0.431;
1218 mbb=5.31;
1219
1220 if (dgt==A10||dgt==A1P||dgt==A1M||dgt==F1||dgt==F1PR) {
1221
1222 msq=0.33;
1223 bx2=0.275*0.275;
1224 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1225 nfp = 0.0;
1226 }
1227 else{
1228 if (dgt==D3P1P||dgt==D3P1N||dgt==D3P10||dgt==D3P1B) {
1229 msq=1.82;
1230 bx2=0.33*0.33;
1231 mbx=(3.0*2.49+2.40)/4.0;
1232 nfp = 3.0;
1233 }
1234 else{
1235 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
1236 }
1237 }
1238 }
1239 else{
1240 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1241
1242 msb=1.82;
1243 msd=0.33;
1244 bb2=0.45*0.45;
1245 mbb=1.963;
1246
1247 if (dgt==F1||dgt==F1PR||dgt==A10||dgt==A1P||dgt==A1M) {
1248
1249 msq=0.33;
1250 bx2=0.275*0.275;
1251 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1252 nfp = 0.0;
1253 }
1254 else{
1255 if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
1256 msq=0.55;
1257 bx2=0.30*0.30;
1258 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1259 nfp = 2.0;
1260 }
1261 else{
1262 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
1263 }
1264 }
1265 }
1266 else{
1267 //BS -> cs constants added by djl on Jan. 21,1998
1268 if (prnt==BS0||prnt==BSB){
1269
1270 msb=5.2;
1271 msd=0.55;
1272 bb2=0.54*0.54;
1273 mbb=5.38;
1274
1275 if (dgt==D3P1SP||dgt==D3P1SN) {
1276
1277 msq=1.82;
1278 bx2=0.41*0.41;
1279 mbx=(3.0*2.54+2.46)/4.0;
1280 nfp = 3.0;
1281 }
1282 else if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
1283 msq=0.55;
1284 bx2=0.30*0.30;
1285 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1286 nfp = 2.0;
1287 }
1288 else{
1289 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
1290 }
1291 }
1292
1293 else{
1294 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
1295 }
1296 }
1297 }
1298
1299
1300
1301 mtb = msb + msd;
1302 mtx = msq + msd;
1303
1304 mb = EvtPDL::getMeanMass( parent );
1305 mx = mass;
1306
1307 mum=1.0/(1.0/msq-1.0/msb);
1308 bbx2=0.5*(bb2+bx2);
1309 tm=(mb-mx)*(mb-mx);
1310 if (t>tm) t = 0.99*tm;
1311 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1312
1313 mqm = 0.1;
1314 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1315 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1316 log(EvtGetas(mqm)/EvtGetas(msq));
1317
1318 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
1319 (pow((1.0+r2*(tm-t)/18.0),3.0));
1320
1321 f5q = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1322 f5l = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
1323 f5cppcm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
1324 f5cpmcm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
1325
1326 if (msq == msd) {
1327
1328 ql = -1.0*(msd*(5.0+wt)*f5q/(2.0*mtx*sqrt(bb2)*6.0));
1329
1330 ll = -1.0*mtb*sqrt(bb2)*f5l*(1/mum+ ( (msd*mtx*(wt-1)/bb2)*
1331 ( (5.0+wt)/(6.0*msq)-(msd*bb2)/(2.0*mum*mtx*bbx2))));
1332
1333 cppcm = (-1.0*(msd*mtx*f5cppcm/(2.0*msq*mtb*sqrt(bb2)))*
1334 (1-(msd*msq*bb2)/(2.0*mtx*mum*bbx2)));
1335
1336 cpmcm = 1.0*(msd*mtx*f5cpmcm/(2.0*msq*mtb*sqrt(bb2)))*
1337 (((wt+2.0)/3.0)-(msd*msq*bb2)/(2.0*mtx*mum*bbx2))
1338 *(mtb/mtx);
1339 } else {
1340
1341 ql = f5q*sqrt(1.0/6.0)*msd/(sqrt(bb2)*mtx)*
1342 (1.0-bb2*mtb/(4.0*msd*msq*msb));
1343 ll = f5l*sqrt(2.0/3.0)*mtb*sqrt(bb2)*(1.0/(2.0*msq) - 3.0/(2.0*msb) +
1344 msd*mtx*(wt-1)/bb2*(1.0/msq-msd*bb2/(2.0*mum*mtx*bbx2)));
1345 cppcm = msd*msd*bx2*f5cppcm/(sqrt(6.0)*mtb*msq*sqrt(bb2)*bbx2);
1346 cpmcm = -sqrt(2.0/3.0)*msd*f5cpmcm/(sqrt(bb2)*mtx)*
1347 (1+msd*bx2/(2.0*msq*bbx2));
1348 }
1349
1350 //smooth out the mass(meson) dependence a little
1351 double parMass=EvtPDL::getMeanMass(prnt);
1352 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
1353 double massNom= EvtPDL::getMeanMass(dgt);
1354 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
1355 double q2maxin=sqrt(q2maxNom/q2max);
1356 if ( q2maxin > 1000. ) q2maxin=1000.;
1357 ql*=q2maxin;
1358 ll*=q2maxin;
1359 cppcm*=q2maxin;
1360 cpmcm*=q2maxin;
1361
1362 *qf = ql;
1363 *lf = ll;
1364 *cpf = (cppcm + cpmcm)/2.0;
1365 *cmf = (cppcm - cpmcm)/2.0;
1366 return;
1367} //get_ff_isgw_3p1
1368
1369
1370void EvtISGW2FF::EvtISGW2FF3P0 (EvtId parent,EvtId daugt,
1371 double t, double mass, double *upf, double *umf ) {
1372
1373 //added by Lange Jan4,2000
1374 static EvtId BP=EvtPDL::getId("B+");
1375 static EvtId BM=EvtPDL::getId("B-");
1376 static EvtId B0=EvtPDL::getId("B0");
1377 static EvtId B0B=EvtPDL::getId("anti-B0");
1378
1379 static EvtId D0=EvtPDL::getId("D0");
1380 static EvtId D0B=EvtPDL::getId("anti-D0");
1381 static EvtId DP=EvtPDL::getId("D+");
1382 static EvtId DM=EvtPDL::getId("D-");
1383
1384 static EvtId D3P0P=EvtPDL::getId("D_0*+");
1385 static EvtId D3P0N=EvtPDL::getId("D_0*-");
1386 static EvtId D3P00=EvtPDL::getId("D_0*0");
1387 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
1388
1389 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
1390 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
1391
1392 static EvtId A0P=EvtPDL::getId("a_0+");
1393 static EvtId A0M=EvtPDL::getId("a_0-");
1394 static EvtId A00=EvtPDL::getId("a_00");
1395
1396 static EvtId F0=EvtPDL::getId("f_0");
1397 static EvtId F0PR=EvtPDL::getId("f'_0");
1398
1399 static EvtId K0STP=EvtPDL::getId("K_0*+");
1400 static EvtId K0STM=EvtPDL::getId("K_0*-");
1401 static EvtId K0ST0=EvtPDL::getId("K_0*0");
1402 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
1403
1404 static EvtId DSP=EvtPDL::getId("D_s+");
1405 static EvtId DSM=EvtPDL::getId("D_s-");
1406
1407 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1408 static EvtId BS0=EvtPDL::getId("B_s0");
1409
1410 double mtb, mbb(0.0);
1411 double msd(0.0), mx,mb,nfp(0.0);
1412 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
1413 double f5uppum,f5upmum,uppum,upmum,f5;
1414 double mqm,r2,bb2(0.0),bbx2,msb(0.0),tm;
1415
1416 EvtId prnt=parent;
1417 EvtId dgt=daugt;
1418
1419 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1420
1421 msb=5.2;
1422 msd=0.33;
1423 bb2=0.431*0.431;
1424 mbb=5.31;
1425 if (dgt==A00||dgt==A0P||dgt==A0M||dgt==F0||dgt==F0PR) {
1426
1427 msq=0.33;
1428 bx2=0.275*0.275;
1429 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1430 nfp = 0.0;
1431 }
1432 else{
1433 if (dgt==D3P0P||dgt==D3P0N||dgt==D3P00||dgt==D3P0B) {
1434 msq=1.82;
1435 bx2=0.33*0.33;
1436 mbx=(3.0*2.49+2.40)/4.0;
1437 nfp = 3.0;
1438 }
1439 else{
1440 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1441 }
1442 }
1443 }
1444 else{
1445 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1446
1447 msb=1.82;
1448 msd=0.33;
1449 bb2=0.45*0.45;
1450 mbb=1.963;
1451 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
1452 msq=0.33;
1453 bx2=0.275*0.275;
1454 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1455 nfp = 0.0;
1456 }
1457 else{
1458 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
1459 msq=0.55;
1460 bx2=0.30*0.30;
1461 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1462 nfp = 2.0;
1463 }
1464 else{
1465 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1466 }
1467 }
1468 }
1469 else{
1470 if (prnt==DSP||prnt==DSM){
1471 msb=1.82;
1472 msd=0.55;
1473 bb2=0.56*0.56;
1474 mbb=1.968;
1475
1476 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
1477 msq=0.55;
1478 bx2=0.33*0.33;
1479 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1480 nfp = 2.0;
1481 }
1482 else{
1483 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
1484 msq=0.33;
1485 bx2=0.30*0.30;
1486 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1487 nfp = 0.0;
1488 }
1489 else{
1490 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
1491 }
1492 }
1493 }
1494 else{
1495 //BS -> cs constants added by djl on Jan. 21,1998
1496 if (prnt==BS0||prnt==BSB){
1497
1498 msb=5.2;
1499 msd=0.55;
1500 bb2=0.54*0.54;
1501 mbb=5.38;
1502
1503 if (dgt==D3P0SP||dgt==D3P0SN) {
1504
1505 msq=1.82;
1506 bx2=0.41*0.41;
1507 mbx=(3.0*2.54+2.46)/4.0;
1508 nfp = 3.0;
1509 }
1510 else if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
1511 msq=0.55;
1512 bx2=0.30*0.30;
1513 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1514 nfp = 2.0;
1515 }
1516 else{
1517 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
1518 }
1519 }
1520 else{
1521 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_3P0.\n";
1522 }
1523 }
1524 }
1525 }
1526
1527
1528 mtb = msb + msd;
1529 mtx = msq + msd;
1530
1531 mb = EvtPDL::getMeanMass( parent );
1532 mx = mass;
1533
1534 bbx2=0.5*(bb2+bx2);
1535 tm=(mb-mx)*(mb-mx);
1536 if (t>tm) t = 0.99*tm;
1537
1538 mqm = 0.1;
1539 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
1540 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1541 log(EvtGetas(mqm)/EvtGetas(msq));
1542
1543 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
1544 (pow((1.0+r2*(tm-t)/18.0),3.0));
1545
1546 f5uppum = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
1547 f5upmum = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
1548
1549 uppum = -1.0*f5uppum*sqrt(2.0/(3.0*bb2))*msd;
1550 upmum = 1.0*f5upmum*sqrt(2.0/(3.0*bb2))*msd*mtb/mtx;
1551
1552 *upf = (uppum + upmum)/2.0;
1553 *umf = (uppum - upmum)/2.0;
1554
1555 return;
1556
1557}
1558
1559
1560void EvtISGW2FF::EvtISGW2FF3P2 (EvtId parent,EvtId daugt,
1561 double t, double mass, double *hf, double *kf,
1562 double *bpf, double *bmf ) {
1563
1564 //added by Lange Jan4,2000
1565 static EvtId BP=EvtPDL::getId("B+");
1566 static EvtId BM=EvtPDL::getId("B-");
1567 static EvtId B0=EvtPDL::getId("B0");
1568 static EvtId B0B=EvtPDL::getId("anti-B0");
1569
1570 static EvtId D0=EvtPDL::getId("D0");
1571 static EvtId D0B=EvtPDL::getId("anti-D0");
1572 static EvtId DP=EvtPDL::getId("D+");
1573 static EvtId DM=EvtPDL::getId("D-");
1574
1575 static EvtId D3P2P=EvtPDL::getId("D_2*+");
1576 static EvtId D3P2N=EvtPDL::getId("D_2*-");
1577 static EvtId D3P20=EvtPDL::getId("D_2*0");
1578 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
1579
1580 static EvtId A2P=EvtPDL::getId("a_2+");
1581 static EvtId A2M=EvtPDL::getId("a_2-");
1582 static EvtId A20=EvtPDL::getId("a_20");
1583
1584 static EvtId F2=EvtPDL::getId("f_2");
1585 static EvtId F2PR=EvtPDL::getId("f'_2");
1586
1587 static EvtId K2STP=EvtPDL::getId("K_2*+");
1588 static EvtId K2STM=EvtPDL::getId("K_2*-");
1589 static EvtId K2ST0=EvtPDL::getId("K_2*0");
1590 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
1591
1592 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
1593 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
1594
1595 static EvtId BSB=EvtPDL::getId("anti-B_s0");
1596 static EvtId BS0=EvtPDL::getId("B_s0");
1597
1598
1599 double mtb, mbb(0.0);
1600 double msd(0.0), mx,mb,nfp(0.0);
1601 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
1602 double f5h,f5k,f5bppbm,f5bpmbm,bppbm,bpmbm;
1603 double mqm,mum,mup,tm,wt,r2,bb2(0.0),bbx2;
1604 double msb(0.0);
1605 EvtId prnt=parent;
1606 EvtId dgt=daugt;
1607
1608 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
1609
1610 msb=5.2;
1611 msd=0.33;
1612 bb2=0.431*0.431;
1613 mbb=5.31;
1614
1615 if (dgt==A20||dgt==A2P||dgt==A2M||dgt==F2||dgt==F2PR) {
1616
1617 msq=0.33;
1618 bx2=0.275*0.275;
1619 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1620 nfp = 0.0;
1621
1622 }
1623
1624 else{
1625 if (dgt==D3P2P||dgt==D3P2N||dgt==D3P20||dgt==D3P2B) {
1626
1627 msq=1.82;
1628 bx2=0.33*0.33;
1629 mbx=(5.0*2.46+3.0*2.42)/8.0;
1630 nfp = 3.0;
1631 }
1632 else{
1633
1634 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
1635 }
1636 }
1637 }
1638 else{
1639 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
1640
1641 msb=1.82;
1642 msd=0.33;
1643 bb2=0.45*0.45;
1644 mbb=1.963;
1645 if (dgt==F2||dgt==F2PR||dgt==A20||dgt==A2P||dgt==A2M) {
1646 msq=0.33;
1647 bx2=0.275*0.275;
1648 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
1649 nfp = 0.0;
1650 }
1651 else{
1652 if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
1653 msq=0.55;
1654 bx2=0.30*0.30;
1655 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1656 nfp = 2.0;
1657 }
1658 else{
1659 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
1660 }
1661 }
1662 }
1663 else{
1664 //BS -> cs constants added by djl on Jan. 21,1998
1665 if (prnt==BS0||prnt==BSB){
1666
1667 msb=5.2;
1668 msd=0.55;
1669 bb2=0.54*0.54;
1670 mbb=5.38;
1671
1672 if (dgt==D3P2SP||dgt==D3P2SN) {
1673
1674 msq=1.82;
1675 bx2=0.41*0.41;
1676 mbx=(5.0*2.61+3.0*2.54)/8.0;
1677 nfp = 3.0;
1678 }
1679 else if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
1680 msq=0.55;
1681 bx2=0.30*0.30;
1682 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
1683 nfp = 2.0;
1684 }
1685 else{
1686 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
1687 }
1688 }
1689
1690 else{
1691 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P2.\n";
1692 }
1693 }
1694 }
1695 mtb = msb + msd;
1696 mtx = msq + msd;
1697
1698 mb = EvtPDL::getMeanMass( parent );
1699 mx = mass;
1700 mup=1.0/(1.0/msq+1.0/msb);
1701 mum=1.0/(1.0/msq-1.0/msb);
1702 bbx2=0.5*(bb2+bx2);
1703 tm=(mb-mx)*(mb-mx);
1704 if (t>tm) t = 0.99*tm;
1705 wt=1.0+(tm-t)/(2.0*mbb*mbx);
1706
1707 mqm = 0.1;
1708 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
1709 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
1710 log(EvtGetas(mqm)/EvtGetas(msq));
1711
1712 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
1713 (pow((1.0+r2*(tm-t)/18.0),3.0));
1714
1715 f5h = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
1716 f5k = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
1717 f5bppbm = f5*pow(( mbb / mtb ),-2.5)*pow((mbx/mtx),0.5);
1718 f5bpmbm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
1719
1720 *hf = f5h*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
1721 mtx*bbx2)));
1722
1723 *kf = f5k*(msd/(sqrt(2.0*bb2)))*(1.0+wt);
1724
1725 bppbm = ((msd*msd*f5bppbm*bx2)/(sqrt(32.0*bb2)*msq*msb*mtb*bbx2))*
1726 (1.0-(msd*bx2/(2.0*mtb*bbx2)));
1727
1728 bpmbm = -1.0*(msd*f5bpmbm/(sqrt(2.0*bb2)*msb*mtx))*(1.0-
1729 ((msd*msb*bx2)/(2.0*mup*mtb*bbx2))+((msd*bx2*(1.0-
1730 ((msd*bx2)/(2.0*mtb*bbx2))))/(4.0*msq*bbx2)));
1731
1732 *bpf = (bppbm + bpmbm)/2.0;
1733 *bmf = (bppbm - bpmbm)/2.0;
1734 return;
1735} //get_ff_isgw_1p1
1736
1737
1738double EvtISGW2FF::EvtGetGammaji ( double z )
1739
1740{
1741double temp;
1742
1743 temp = 2+((2.0*z)/(1-z))*log(z);
1744 temp = -1.0*temp;
1745
1746 return temp;
1747
1748} //EvtGetGammaji
1749
1750
1751
1752double EvtISGW2FF::EvtGetas ( double massq, double massx )
1753{
1754 double lqcd2 = 0.04;
1755 double nflav = 4;
1756 double temp = 0.6;
1757
1758 if ( massx > 0.6 ) {
1759 if ( massq < 1.85 ) {
1760 nflav = 3.0;}
1761
1762 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
1763 log( massx*massx/lqcd2);
1764 }
1765 return temp;
1766
1767} //EvtGetas
1768
1769double EvtISGW2FF::EvtGetas ( double mass )
1770
1771{
1772 double lqcd2 = 0.04;
1773 double nflav = 4;
1774 double temp = 0.6;
1775
1776 if ( mass > 0.6 ) {
1777 if ( mass < 1.85 ) {
1778 nflav = 3.0;}
1779
1780 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
1781 log( mass*mass/lqcd2);
1782 }
1783 return temp;
1784
1785} //EvtGetas
1786
1787
1788void EvtISGW2FF::getbaryonff(EvtId, EvtId, double, double, double*,
1789 double*, double*, double*){
1790
1791 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtISGW2FF.\n";
1792
1793 ::abort();
1794
1795}
1796
1797void EvtISGW2FF::getdiracff(EvtId, EvtId, double, double, double*, double*,
1798 double*, double*, double*, double*) {
1799
1800 report(ERROR,"EvtGen") << "Not implemented :getdiracff in EvtISGW2FF.\n";
1801 ::abort();
1802
1803}
1804
1805void EvtISGW2FF::getraritaff(EvtId, EvtId, double, double, double*, double*,
1806 double*, double*, double*, double*, double*, double*) {
1807
1808 report(ERROR,"EvtGen") << "Not implemented :getraritaff in EvtISGW2FF.\n";
1809 ::abort();
1810
1811}