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