]>
Commit | Line | Data |
---|---|---|
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> | |
33 | using std::endl; | |
34 | ||
35 | void 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 | ||
258 | void 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 | ||
466 | void 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 | ||
709 | void 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 | ||
829 | void 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 | ||
965 | void 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 | ||
1167 | void 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 | ||
1370 | void 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 | ||
1560 | void 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 | ||
1738 | double EvtISGW2FF::EvtGetGammaji ( double z ) | |
1739 | ||
1740 | { | |
1741 | double 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 | ||
1752 | double 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 | ||
1769 | double 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 | ||
1788 | void 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 | ||
1797 | void 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 | ||
1805 | void 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 | } |