BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtISGWFF.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: EvtISGWFF.cc
12//
13// Description: Routine to implement semileptonic form factors
14// according to the model ISGW
15//
16// Modification history:
17//
18// DJL April 17, 1998 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtISGWFF.hh"
27#include <math.h>
28#include <string>
29using std::endl;
30
31void EvtISGWFF::getscalarff( EvtId parent, EvtId daught, double t, double mass, double* fpf,
32 double* f0f ) {
33
34 // added by Lange Jan4,2000
35 static EvtId EM = EvtPDL::getId( "e-" );
36 static EvtId EP = EvtPDL::getId( "e+" );
37 static EvtId MUM = EvtPDL::getId( "mu-" );
38 static EvtId MUP = EvtPDL::getId( "mu+" );
39 static EvtId TAUM = EvtPDL::getId( "tau-" );
40 static EvtId TAUP = EvtPDL::getId( "tau+" );
41
42 static EvtId BP = EvtPDL::getId( "B+" );
43 static EvtId BM = EvtPDL::getId( "B-" );
44 static EvtId B0 = EvtPDL::getId( "B0" );
45 static EvtId B0B = EvtPDL::getId( "anti-B0" );
46
47 static EvtId DST0 = EvtPDL::getId( "D*0" );
48 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
49 static EvtId DSTP = EvtPDL::getId( "D*+" );
50 static EvtId DSTM = EvtPDL::getId( "D*-" );
51 static EvtId D0 = EvtPDL::getId( "D0" );
52 static EvtId D0B = EvtPDL::getId( "anti-D0" );
53 static EvtId DP = EvtPDL::getId( "D+" );
54 static EvtId DM = EvtPDL::getId( "D-" );
55
56 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
57 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
58 static EvtId D1P10 = EvtPDL::getId( "D_10" );
59 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
60
61 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
62 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
63 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
64 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
65
66 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
67 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
68 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
69 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
70
71 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
72 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
73 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
74 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
75
76 static EvtId D21S0P = EvtPDL::getId( "hi" );
77 static EvtId D21S0N = EvtPDL::getId( "hi" );
78 static EvtId D21S00 = EvtPDL::getId( "hi" );
79 static EvtId D21S0B = EvtPDL::getId( "hi" );
80
81 static EvtId D23S1P = EvtPDL::getId( "hi" );
82 static EvtId D23S1N = EvtPDL::getId( "hi" );
83 static EvtId D23S10 = EvtPDL::getId( "hi" );
84 static EvtId D23S1B = EvtPDL::getId( "hi" );
85
86 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
87 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
88 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
89 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
90 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
91
92 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
93 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
94 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
95
96 static EvtId PIP = EvtPDL::getId( "pi+" );
97 static EvtId PIM = EvtPDL::getId( "pi-" );
98 static EvtId PI0 = EvtPDL::getId( "pi0" );
99
100 static EvtId RHOP = EvtPDL::getId( "rho+" );
101 static EvtId RHOM = EvtPDL::getId( "rho-" );
102 static EvtId RHO0 = EvtPDL::getId( "rho0" );
103
104 static EvtId A2P = EvtPDL::getId( "a_2+" );
105 static EvtId A2M = EvtPDL::getId( "a_2-" );
106 static EvtId A20 = EvtPDL::getId( "a_20" );
107
108 static EvtId A1P = EvtPDL::getId( "a_1+" );
109 static EvtId A1M = EvtPDL::getId( "a_1-" );
110 static EvtId A10 = EvtPDL::getId( "a_10" );
111
112 static EvtId A0P = EvtPDL::getId( "a_0+" );
113 static EvtId A0M = EvtPDL::getId( "a_0-" );
114 static EvtId A00 = EvtPDL::getId( "a_00" );
115
116 static EvtId B1P = EvtPDL::getId( "b_1+" );
117 static EvtId B1M = EvtPDL::getId( "b_1-" );
118 static EvtId B10 = EvtPDL::getId( "b_10" );
119
120 static EvtId H1 = EvtPDL::getId( "h_1" );
121 static EvtId H1PR = EvtPDL::getId( "h'_1" );
122
123 static EvtId F1 = EvtPDL::getId( "f_1" );
124 static EvtId F1PR = EvtPDL::getId( "f'_1" );
125 static EvtId F0 = EvtPDL::getId( "f_0" );
126 static EvtId F0PR = EvtPDL::getId( "f'_0" );
127 static EvtId F2 = EvtPDL::getId( "f_2" );
128 static EvtId F2PR = EvtPDL::getId( "f'_2" );
129
130 static EvtId ETA = EvtPDL::getId( "eta" );
131 static EvtId ETAPR = EvtPDL::getId( "eta'" );
132 static EvtId OMEG = EvtPDL::getId( "omega" );
133
134 static EvtId KP = EvtPDL::getId( "K+" );
135 static EvtId KM = EvtPDL::getId( "K-" );
136 static EvtId K0 = EvtPDL::getId( "K0" );
137 static EvtId KB = EvtPDL::getId( "anti-K0" );
138 static EvtId K0S = EvtPDL::getId( "K_S0" );
139 static EvtId K0L = EvtPDL::getId( "K_L0" );
140
141 static EvtId KSTP = EvtPDL::getId( "K*+" );
142 static EvtId KSTM = EvtPDL::getId( "K*-" );
143 static EvtId KST0 = EvtPDL::getId( "K*0" );
144 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
145
146 static EvtId K1P = EvtPDL::getId( "K_1+" );
147 static EvtId K1M = EvtPDL::getId( "K_1-" );
148 static EvtId K10 = EvtPDL::getId( "K_10" );
149 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
150
151 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
152 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
153 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
154 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
155
156 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
157 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
158 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
159 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
160
161 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
162 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
163 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
164 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
165
166 static EvtId PHI = EvtPDL::getId( "phi" );
167 static EvtId DSP = EvtPDL::getId( "D_s+" );
168 static EvtId DSM = EvtPDL::getId( "D_s-" );
169
170 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
171 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
172
173 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
174 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
175
176 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
177 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
178
179 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
180 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
181
182 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
183 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
184
185 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
186 static EvtId BS0 = EvtPDL::getId( "B_s0" );
187 double fmf;
188 double mb = EvtPDL::getMeanMass( parent );
189
190 if ( daught == PI0 || daught == PIP || daught == PIM || daught == ETA || daught == ETAPR ||
191 daught == D0 || daught == D0B || daught == DP || daught == DM || daught == KP ||
192 daught == KM || daught == K0 || daught == K0L || daught == KB || daught == DSP ||
193 daught == DSM || daught == K0S )
194 { EvtISGW1FF1S0( parent, daught, t, mass, fpf, &fmf ); }
195
196 if ( daught == PI2S0 || daught == PI2SP || daught == PI2SM || daught == ETA2S ||
197 daught == D21S0P || daught == D21S0B || daught == D21S0N || daught == D21S00 )
198 { EvtISGW1FF21S0( parent, daught, t, mass, fpf, &fmf ); }
199
200 if ( daught == A00 || daught == A0P || daught == A0M || daught == F0 || daught == F0PR ||
201 daught == D3P0P || daught == D3P00 || daught == D3P0B || daught == D3P0N ||
202 daught == K0STM || daught == K0STB || daught == K0STP || daught == D3P0SP ||
203 daught == D3P0SN || daught == K0ST0 )
204 { EvtISGW1FF3P0( parent, daught, t, mass, fpf, &fmf ); }
205
206 *f0f = ( fmf / ( ( mb * mb - mass * mass ) / t ) ) + ( *fpf );
207
208 return;
209}
210
211void EvtISGWFF::gettensorff( EvtId parent, EvtId daught, double t, double mass, double* hf,
212 double* kf, double* bpf, double* bmf ) {
213
214 // added by Lange Jan4,2000
215 static EvtId EM = EvtPDL::getId( "e-" );
216 static EvtId EP = EvtPDL::getId( "e+" );
217 static EvtId MUM = EvtPDL::getId( "mu-" );
218 static EvtId MUP = EvtPDL::getId( "mu+" );
219 static EvtId TAUM = EvtPDL::getId( "tau-" );
220 static EvtId TAUP = EvtPDL::getId( "tau+" );
221
222 static EvtId BP = EvtPDL::getId( "B+" );
223 static EvtId BM = EvtPDL::getId( "B-" );
224 static EvtId B0 = EvtPDL::getId( "B0" );
225 static EvtId B0B = EvtPDL::getId( "anti-B0" );
226
227 static EvtId DST0 = EvtPDL::getId( "D*0" );
228 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
229 static EvtId DSTP = EvtPDL::getId( "D*+" );
230 static EvtId DSTM = EvtPDL::getId( "D*-" );
231 static EvtId D0 = EvtPDL::getId( "D0" );
232 static EvtId D0B = EvtPDL::getId( "anti-D0" );
233 static EvtId DP = EvtPDL::getId( "D+" );
234 static EvtId DM = EvtPDL::getId( "D-" );
235
236 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
237 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
238 static EvtId D1P10 = EvtPDL::getId( "D_10" );
239 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
240
241 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
242 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
243 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
244 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
245
246 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
247 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
248 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
249 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
250
251 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
252 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
253 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
254 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
255
256 static EvtId D21S0P = EvtPDL::getId( "hi" );
257 static EvtId D21S0N = EvtPDL::getId( "hi" );
258 static EvtId D21S00 = EvtPDL::getId( "hi" );
259 static EvtId D21S0B = EvtPDL::getId( "hi" );
260
261 static EvtId D23S1P = EvtPDL::getId( "hi" );
262 static EvtId D23S1N = EvtPDL::getId( "hi" );
263 static EvtId D23S10 = EvtPDL::getId( "hi" );
264 static EvtId D23S1B = EvtPDL::getId( "hi" );
265
266 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
267 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
268 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
269 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
270 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
271
272 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
273 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
274 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
275
276 static EvtId PIP = EvtPDL::getId( "pi+" );
277 static EvtId PIM = EvtPDL::getId( "pi-" );
278 static EvtId PI0 = EvtPDL::getId( "pi0" );
279
280 static EvtId RHOP = EvtPDL::getId( "rho+" );
281 static EvtId RHOM = EvtPDL::getId( "rho-" );
282 static EvtId RHO0 = EvtPDL::getId( "rho0" );
283
284 static EvtId A2P = EvtPDL::getId( "a_2+" );
285 static EvtId A2M = EvtPDL::getId( "a_2-" );
286 static EvtId A20 = EvtPDL::getId( "a_20" );
287
288 static EvtId A1P = EvtPDL::getId( "a_1+" );
289 static EvtId A1M = EvtPDL::getId( "a_1-" );
290 static EvtId A10 = EvtPDL::getId( "a_10" );
291
292 static EvtId A0P = EvtPDL::getId( "a_0+" );
293 static EvtId A0M = EvtPDL::getId( "a_0-" );
294 static EvtId A00 = EvtPDL::getId( "a_00" );
295
296 static EvtId B1P = EvtPDL::getId( "b_1+" );
297 static EvtId B1M = EvtPDL::getId( "b_1-" );
298 static EvtId B10 = EvtPDL::getId( "b_10" );
299
300 static EvtId H1 = EvtPDL::getId( "h_1" );
301 static EvtId H1PR = EvtPDL::getId( "h'_1" );
302
303 static EvtId F1 = EvtPDL::getId( "f_1" );
304 static EvtId F1PR = EvtPDL::getId( "f'_1" );
305 static EvtId F0 = EvtPDL::getId( "f_0" );
306 static EvtId F0PR = EvtPDL::getId( "f'_0" );
307 static EvtId F2 = EvtPDL::getId( "f_2" );
308 static EvtId F2PR = EvtPDL::getId( "f'_2" );
309
310 static EvtId ETA = EvtPDL::getId( "eta" );
311 static EvtId ETAPR = EvtPDL::getId( "eta'" );
312 static EvtId OMEG = EvtPDL::getId( "omega" );
313
314 static EvtId KP = EvtPDL::getId( "K+" );
315 static EvtId KM = EvtPDL::getId( "K-" );
316 static EvtId K0 = EvtPDL::getId( "K0" );
317 static EvtId KB = EvtPDL::getId( "anti-K0" );
318 static EvtId K0S = EvtPDL::getId( "K_S0" );
319 static EvtId K0L = EvtPDL::getId( "K_L0" );
320
321 static EvtId KSTP = EvtPDL::getId( "K*+" );
322 static EvtId KSTM = EvtPDL::getId( "K*-" );
323 static EvtId KST0 = EvtPDL::getId( "K*0" );
324 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
325
326 static EvtId K1P = EvtPDL::getId( "K_1+" );
327 static EvtId K1M = EvtPDL::getId( "K_1-" );
328 static EvtId K10 = EvtPDL::getId( "K_10" );
329 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
330
331 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
332 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
333 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
334 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
335
336 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
337 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
338 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
339 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
340
341 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
342 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
343 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
344 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
345
346 static EvtId PHI = EvtPDL::getId( "phi" );
347 static EvtId DSP = EvtPDL::getId( "D_s+" );
348 static EvtId DSM = EvtPDL::getId( "D_s-" );
349
350 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
351 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
352
353 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
354 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
355
356 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
357 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
358
359 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
360 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
361
362 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
363 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
364
365 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
366 static EvtId BS0 = EvtPDL::getId( "B_s0" );
367
368 EvtISGW1FF3P2( parent, daught, t, mass, hf, kf, bpf, bmf );
369
370 return;
371}
372
373void EvtISGWFF::getvectorff( EvtId parent, EvtId daught, double t, double mass, double* a1f,
374 double* a2f, double* vf, double* a0f ) {
375
376 // added by Lange Jan4,2000
377 static EvtId EM = EvtPDL::getId( "e-" );
378 static EvtId EP = EvtPDL::getId( "e+" );
379 static EvtId MUM = EvtPDL::getId( "mu-" );
380 static EvtId MUP = EvtPDL::getId( "mu+" );
381 static EvtId TAUM = EvtPDL::getId( "tau-" );
382 static EvtId TAUP = EvtPDL::getId( "tau+" );
383
384 static EvtId BP = EvtPDL::getId( "B+" );
385 static EvtId BM = EvtPDL::getId( "B-" );
386 static EvtId B0 = EvtPDL::getId( "B0" );
387 static EvtId B0B = EvtPDL::getId( "anti-B0" );
388
389 static EvtId DST0 = EvtPDL::getId( "D*0" );
390 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
391 static EvtId DSTP = EvtPDL::getId( "D*+" );
392 static EvtId DSTM = EvtPDL::getId( "D*-" );
393 static EvtId D0 = EvtPDL::getId( "D0" );
394 static EvtId D0B = EvtPDL::getId( "anti-D0" );
395 static EvtId DP = EvtPDL::getId( "D+" );
396 static EvtId DM = EvtPDL::getId( "D-" );
397
398 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
399 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
400 static EvtId D1P10 = EvtPDL::getId( "D_10" );
401 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
402
403 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
404 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
405 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
406 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
407
408 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
409 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
410 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
411 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
412
413 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
414 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
415 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
416 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
417
418 static EvtId D21S0P = EvtPDL::getId( "hi" );
419 static EvtId D21S0N = EvtPDL::getId( "hi" );
420 static EvtId D21S00 = EvtPDL::getId( "hi" );
421 static EvtId D21S0B = EvtPDL::getId( "hi" );
422
423 static EvtId D23S1P = EvtPDL::getId( "hi" );
424 static EvtId D23S1N = EvtPDL::getId( "hi" );
425 static EvtId D23S10 = EvtPDL::getId( "hi" );
426 static EvtId D23S1B = EvtPDL::getId( "hi" );
427
428 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
429 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
430 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
431 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
432 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
433
434 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
435 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
436 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
437
438 static EvtId PIP = EvtPDL::getId( "pi+" );
439 static EvtId PIM = EvtPDL::getId( "pi-" );
440 static EvtId PI0 = EvtPDL::getId( "pi0" );
441
442 static EvtId RHOP = EvtPDL::getId( "rho+" );
443 static EvtId RHOM = EvtPDL::getId( "rho-" );
444 static EvtId RHO0 = EvtPDL::getId( "rho0" );
445
446 static EvtId A2P = EvtPDL::getId( "a_2+" );
447 static EvtId A2M = EvtPDL::getId( "a_2-" );
448 static EvtId A20 = EvtPDL::getId( "a_20" );
449
450 static EvtId A1P = EvtPDL::getId( "a_1+" );
451 static EvtId A1M = EvtPDL::getId( "a_1-" );
452 static EvtId A10 = EvtPDL::getId( "a_10" );
453
454 static EvtId A0P = EvtPDL::getId( "a_0+" );
455 static EvtId A0M = EvtPDL::getId( "a_0-" );
456 static EvtId A00 = EvtPDL::getId( "a_00" );
457
458 static EvtId B1P = EvtPDL::getId( "b_1+" );
459 static EvtId B1M = EvtPDL::getId( "b_1-" );
460 static EvtId B10 = EvtPDL::getId( "b_10" );
461
462 static EvtId H1 = EvtPDL::getId( "h_1" );
463 static EvtId H1PR = EvtPDL::getId( "h'_1" );
464
465 static EvtId F1 = EvtPDL::getId( "f_1" );
466 static EvtId F1PR = EvtPDL::getId( "f'_1" );
467 static EvtId F0 = EvtPDL::getId( "f_0" );
468 static EvtId F0PR = EvtPDL::getId( "f'_0" );
469 static EvtId F2 = EvtPDL::getId( "f_2" );
470 static EvtId F2PR = EvtPDL::getId( "f'_2" );
471
472 static EvtId ETA = EvtPDL::getId( "eta" );
473 static EvtId ETAPR = EvtPDL::getId( "eta'" );
474 static EvtId OMEG = EvtPDL::getId( "omega" );
475
476 static EvtId KP = EvtPDL::getId( "K+" );
477 static EvtId KM = EvtPDL::getId( "K-" );
478 static EvtId K0 = EvtPDL::getId( "K0" );
479 static EvtId KB = EvtPDL::getId( "anti-K0" );
480 static EvtId K0S = EvtPDL::getId( "K_S0" );
481 static EvtId K0L = EvtPDL::getId( "K_L0" );
482
483 static EvtId KSTP = EvtPDL::getId( "K*+" );
484 static EvtId KSTM = EvtPDL::getId( "K*-" );
485 static EvtId KST0 = EvtPDL::getId( "K*0" );
486 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
487
488 static EvtId K1P = EvtPDL::getId( "K_1+" );
489 static EvtId K1M = EvtPDL::getId( "K_1-" );
490 static EvtId K10 = EvtPDL::getId( "K_10" );
491 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
492
493 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
494 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
495 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
496 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
497
498 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
499 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
500 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
501 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
502
503 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
504 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
505 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
506 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
507
508 static EvtId PHI = EvtPDL::getId( "phi" );
509 static EvtId DSP = EvtPDL::getId( "D_s+" );
510 static EvtId DSM = EvtPDL::getId( "D_s-" );
511
512 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
513 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
514
515 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
516 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
517
518 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
519 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
520
521 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
522 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
523
524 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
525 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
526
527 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
528 static EvtId BS0 = EvtPDL::getId( "B_s0" );
529
530 double ff, gf, apf, amf;
531
532 if ( daught == DST0 || daught == DSTP || daught == DSTM || daught == DSTB ||
533 daught == OMEG || daught == RHO0 || daught == RHOM || daught == RHOP ||
534 daught == KSTP || daught == KSTM || daught == KST0 || daught == KSTB || daught == PHI ||
535 daught == DSSTP || daught == DSSTM )
536 { EvtISGW1FF3S1( parent, daught, t, mass, &ff, &gf, &apf, &amf ); }
537 if ( daught == B10 || daught == B1P || daught == B1M || daught == H1 || daught == H1PR ||
538 daught == D1P1P || daught == D1P10 || daught == D1P1B || daught == D1P1SP ||
539 daught == D1P1SN || daught == D1P1N || daught == K10 || daught == K1B ||
540 daught == K1P || daught == K1M )
541 { EvtISGW1FF1P1( parent, daught, t, mass, &ff, &gf, &apf, &amf ); }
542 if ( daught == RHO2S0 || daught == RHO2SP || daught == RHO2SM || daught == OMEG2S ||
543 daught == D23S1P || daught == D23S1B || daught == D23S1N || daught == D23S10 )
544 { EvtISGW1FF23S1( parent, daught, t, mass, &ff, &gf, &apf, &amf ); }
545 if ( daught == A10 || daught == A1P || daught == A1M || daught == F1 || daught == F1PR ||
546 daught == D3P1P || daught == D3P10 || daught == D3P1B || daught == D3P1N ||
547 daught == K1STM || daught == K1STB || daught == K1STP || daught == D3P1SP ||
548 daught == D3P1SN || daught == K1ST0 )
549 { EvtISGW1FF3P1( parent, daught, t, mass, &ff, &gf, &apf, &amf ); }
550
551 // Need to stuff in some factors to make these the ffs that
552 // is used elsewhere...
553
554 double mb = EvtPDL::getMeanMass( parent );
555
556 *vf = ( gf ) * ( mb + mass );
557 *a1f = ( ff ) / ( mb + mass );
558 *a2f = -1.0 * ( apf ) * ( mb + mass );
559 double a3f = ( ( mb + mass ) / ( 2.0 * mass ) ) * ( *a1f ) -
560 ( ( mb - mass ) / ( 2.0 * mass ) ) * ( *a2f );
561
562 *a0f = a3f - ( ( t * amf ) / ( 2.0 * mass ) );
563
564 return;
565}
566
567void EvtISGWFF::EvtISGW1FF3P2( EvtId parent, EvtId daugt, double t, double mass, double* hf,
568 double* kf, double* bpf, double* bmf ) {
569
570 // added by Lange Jan4,2000
571 static EvtId EM = EvtPDL::getId( "e-" );
572 static EvtId EP = EvtPDL::getId( "e+" );
573 static EvtId MUM = EvtPDL::getId( "mu-" );
574 static EvtId MUP = EvtPDL::getId( "mu+" );
575 static EvtId TAUM = EvtPDL::getId( "tau-" );
576 static EvtId TAUP = EvtPDL::getId( "tau+" );
577
578 static EvtId BP = EvtPDL::getId( "B+" );
579 static EvtId BM = EvtPDL::getId( "B-" );
580 static EvtId B0 = EvtPDL::getId( "B0" );
581 static EvtId B0B = EvtPDL::getId( "anti-B0" );
582
583 static EvtId DST0 = EvtPDL::getId( "D*0" );
584 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
585 static EvtId DSTP = EvtPDL::getId( "D*+" );
586 static EvtId DSTM = EvtPDL::getId( "D*-" );
587 static EvtId D0 = EvtPDL::getId( "D0" );
588 static EvtId D0B = EvtPDL::getId( "anti-D0" );
589 static EvtId DP = EvtPDL::getId( "D+" );
590 static EvtId DM = EvtPDL::getId( "D-" );
591
592 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
593 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
594 static EvtId D1P10 = EvtPDL::getId( "D_10" );
595 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
596
597 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
598 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
599 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
600 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
601
602 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
603 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
604 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
605 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
606
607 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
608 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
609 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
610 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
611
612 static EvtId D21S0P = EvtPDL::getId( "hi" );
613 static EvtId D21S0N = EvtPDL::getId( "hi" );
614 static EvtId D21S00 = EvtPDL::getId( "hi" );
615 static EvtId D21S0B = EvtPDL::getId( "hi" );
616
617 static EvtId D23S1P = EvtPDL::getId( "hi" );
618 static EvtId D23S1N = EvtPDL::getId( "hi" );
619 static EvtId D23S10 = EvtPDL::getId( "hi" );
620 static EvtId D23S1B = EvtPDL::getId( "hi" );
621
622 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
623 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
624 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
625 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
626 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
627
628 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
629 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
630 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
631
632 static EvtId PIP = EvtPDL::getId( "pi+" );
633 static EvtId PIM = EvtPDL::getId( "pi-" );
634 static EvtId PI0 = EvtPDL::getId( "pi0" );
635
636 static EvtId RHOP = EvtPDL::getId( "rho+" );
637 static EvtId RHOM = EvtPDL::getId( "rho-" );
638 static EvtId RHO0 = EvtPDL::getId( "rho0" );
639
640 static EvtId A2P = EvtPDL::getId( "a_2+" );
641 static EvtId A2M = EvtPDL::getId( "a_2-" );
642 static EvtId A20 = EvtPDL::getId( "a_20" );
643
644 static EvtId A1P = EvtPDL::getId( "a_1+" );
645 static EvtId A1M = EvtPDL::getId( "a_1-" );
646 static EvtId A10 = EvtPDL::getId( "a_10" );
647
648 static EvtId A0P = EvtPDL::getId( "a_0+" );
649 static EvtId A0M = EvtPDL::getId( "a_0-" );
650 static EvtId A00 = EvtPDL::getId( "a_00" );
651
652 static EvtId B1P = EvtPDL::getId( "b_1+" );
653 static EvtId B1M = EvtPDL::getId( "b_1-" );
654 static EvtId B10 = EvtPDL::getId( "b_10" );
655
656 static EvtId H1 = EvtPDL::getId( "h_1" );
657 static EvtId H1PR = EvtPDL::getId( "h'_1" );
658
659 static EvtId F1 = EvtPDL::getId( "f_1" );
660 static EvtId F1PR = EvtPDL::getId( "f'_1" );
661 static EvtId F0 = EvtPDL::getId( "f_0" );
662 static EvtId F0PR = EvtPDL::getId( "f'_0" );
663 static EvtId F2 = EvtPDL::getId( "f_2" );
664 static EvtId F2PR = EvtPDL::getId( "f'_2" );
665
666 static EvtId ETA = EvtPDL::getId( "eta" );
667 static EvtId ETAPR = EvtPDL::getId( "eta'" );
668 static EvtId OMEG = EvtPDL::getId( "omega" );
669
670 static EvtId KP = EvtPDL::getId( "K+" );
671 static EvtId KM = EvtPDL::getId( "K-" );
672 static EvtId K0 = EvtPDL::getId( "K0" );
673 static EvtId KB = EvtPDL::getId( "anti-K0" );
674 static EvtId K0S = EvtPDL::getId( "K_S0" );
675 static EvtId K0L = EvtPDL::getId( "K_L0" );
676
677 static EvtId KSTP = EvtPDL::getId( "K*+" );
678 static EvtId KSTM = EvtPDL::getId( "K*-" );
679 static EvtId KST0 = EvtPDL::getId( "K*0" );
680 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
681
682 static EvtId K1P = EvtPDL::getId( "K_1+" );
683 static EvtId K1M = EvtPDL::getId( "K_1-" );
684 static EvtId K10 = EvtPDL::getId( "K_10" );
685 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
686
687 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
688 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
689 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
690 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
691
692 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
693 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
694 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
695 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
696
697 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
698 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
699 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
700 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
701
702 static EvtId PHI = EvtPDL::getId( "phi" );
703 static EvtId DSP = EvtPDL::getId( "D_s+" );
704 static EvtId DSM = EvtPDL::getId( "D_s-" );
705
706 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
707 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
708
709 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
710 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
711
712 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
713 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
714
715 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
716 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
717
718 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
719 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
720
721 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
722 static EvtId BS0 = EvtPDL::getId( "B_s0" );
723
724 double mtb;
725 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
726 double msq( 0.0 ), bx2( 0.0 ), mtx, f5;
727 double mum, mup, tm, bb2( 0.0 ), bbx2;
728 double msb( 0.0 ), kap;
729
730 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
731 {
732 msb = 5.2;
733 msd = 0.33;
734 bb2 = 0.41 * 0.41;
735 if ( daugt == A20 || daugt == A2P || daugt == A2M || daugt == F2 || daugt == F2PR )
736 {
737 msq = 0.33;
738 bx2 = 0.27 * 0.27;
739 }
740 else
741 {
742 if ( daugt == D3P2P || daugt == D3P2N || daugt == D3P2B || daugt == D3P20 )
743 {
744 msq = 1.82;
745 bx2 = 0.34 * 0.34;
746 }
747 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_3P1.\n"; }
748 }
749 }
750 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_3P1.\n"; }
751
752 mtb = msb + msd;
753 mtx = msq + msd;
754
755 mb = EvtPDL::getMeanMass( parent );
756 mx = mass;
757
758 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
759 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
760 bbx2 = 0.5 * ( bb2 + bx2 );
761
762 tm = ( mb - mx ) * ( mb - mx );
763 if ( t > tm ) t = 0.99 * tm;
764 kap = 0.7 * 0.7;
765
766 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) *
767 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
768
769 *hf = f5 * ( msd / ( sqrt( 8.0 * bb2 ) * mtb ) ) *
770 ( ( 1.0 / msq ) - ( msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) );
771
772 *kf = f5 * msd * sqrt( 2.0 / bb2 );
773
774 *bpf = ( -1.0 * f5 * msd / ( sqrt( 8.0 * bb2 ) * msb * mtx ) ) *
775 ( 1.0 - ( msd * msb * bx2 / ( 2.0 * mup * mtb * bbx2 ) ) +
776 ( msd * msb * bx2 * ( 1.0 - ( msd * bx2 / ( 2.0 * mtb * bbx2 ) ) ) /
777 ( 4.0 * mtb * mum * bbx2 ) ) );
778 *bmf = 0.0;
779 return;
780} // get_ff_isgw_1p1
781
782void EvtISGWFF::EvtISGW1FF1S0( EvtId parent, EvtId daugt, double t, double mass, double* fpf,
783 double* fmf ) {
784
785 // added by Lange Jan4,2000
786 static EvtId EM = EvtPDL::getId( "e-" );
787 static EvtId EP = EvtPDL::getId( "e+" );
788 static EvtId MUM = EvtPDL::getId( "mu-" );
789 static EvtId MUP = EvtPDL::getId( "mu+" );
790 static EvtId TAUM = EvtPDL::getId( "tau-" );
791 static EvtId TAUP = EvtPDL::getId( "tau+" );
792
793 static EvtId BP = EvtPDL::getId( "B+" );
794 static EvtId BM = EvtPDL::getId( "B-" );
795 static EvtId B0 = EvtPDL::getId( "B0" );
796 static EvtId B0B = EvtPDL::getId( "anti-B0" );
797
798 static EvtId DST0 = EvtPDL::getId( "D*0" );
799 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
800 static EvtId DSTP = EvtPDL::getId( "D*+" );
801 static EvtId DSTM = EvtPDL::getId( "D*-" );
802 static EvtId D0 = EvtPDL::getId( "D0" );
803 static EvtId D0B = EvtPDL::getId( "anti-D0" );
804 static EvtId DP = EvtPDL::getId( "D+" );
805 static EvtId DM = EvtPDL::getId( "D-" );
806
807 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
808 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
809 static EvtId D1P10 = EvtPDL::getId( "D_10" );
810 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
811
812 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
813 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
814 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
815 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
816
817 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
818 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
819 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
820 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
821
822 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
823 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
824 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
825 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
826
827 static EvtId D21S0P = EvtPDL::getId( "hi" );
828 static EvtId D21S0N = EvtPDL::getId( "hi" );
829 static EvtId D21S00 = EvtPDL::getId( "hi" );
830 static EvtId D21S0B = EvtPDL::getId( "hi" );
831
832 static EvtId D23S1P = EvtPDL::getId( "hi" );
833 static EvtId D23S1N = EvtPDL::getId( "hi" );
834 static EvtId D23S10 = EvtPDL::getId( "hi" );
835 static EvtId D23S1B = EvtPDL::getId( "hi" );
836
837 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
838 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
839 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
840 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
841 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
842
843 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
844 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
845 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
846
847 static EvtId PIP = EvtPDL::getId( "pi+" );
848 static EvtId PIM = EvtPDL::getId( "pi-" );
849 static EvtId PI0 = EvtPDL::getId( "pi0" );
850
851 static EvtId RHOP = EvtPDL::getId( "rho+" );
852 static EvtId RHOM = EvtPDL::getId( "rho-" );
853 static EvtId RHO0 = EvtPDL::getId( "rho0" );
854
855 static EvtId A2P = EvtPDL::getId( "a_2+" );
856 static EvtId A2M = EvtPDL::getId( "a_2-" );
857 static EvtId A20 = EvtPDL::getId( "a_20" );
858
859 static EvtId A1P = EvtPDL::getId( "a_1+" );
860 static EvtId A1M = EvtPDL::getId( "a_1-" );
861 static EvtId A10 = EvtPDL::getId( "a_10" );
862
863 static EvtId A0P = EvtPDL::getId( "a_0+" );
864 static EvtId A0M = EvtPDL::getId( "a_0-" );
865 static EvtId A00 = EvtPDL::getId( "a_00" );
866
867 static EvtId B1P = EvtPDL::getId( "b_1+" );
868 static EvtId B1M = EvtPDL::getId( "b_1-" );
869 static EvtId B10 = EvtPDL::getId( "b_10" );
870
871 static EvtId H1 = EvtPDL::getId( "h_1" );
872 static EvtId H1PR = EvtPDL::getId( "h'_1" );
873
874 static EvtId F1 = EvtPDL::getId( "f_1" );
875 static EvtId F1PR = EvtPDL::getId( "f'_1" );
876 static EvtId F0 = EvtPDL::getId( "f_0" );
877 static EvtId F0PR = EvtPDL::getId( "f'_0" );
878 static EvtId F2 = EvtPDL::getId( "f_2" );
879 static EvtId F2PR = EvtPDL::getId( "f'_2" );
880
881 static EvtId ETA = EvtPDL::getId( "eta" );
882 static EvtId ETAPR = EvtPDL::getId( "eta'" );
883 static EvtId OMEG = EvtPDL::getId( "omega" );
884
885 static EvtId KP = EvtPDL::getId( "K+" );
886 static EvtId KM = EvtPDL::getId( "K-" );
887 static EvtId K0 = EvtPDL::getId( "K0" );
888 static EvtId KB = EvtPDL::getId( "anti-K0" );
889 static EvtId K0S = EvtPDL::getId( "K_S0" );
890 static EvtId K0L = EvtPDL::getId( "K_L0" );
891
892 static EvtId KSTP = EvtPDL::getId( "K*+" );
893 static EvtId KSTM = EvtPDL::getId( "K*-" );
894 static EvtId KST0 = EvtPDL::getId( "K*0" );
895 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
896
897 static EvtId K1P = EvtPDL::getId( "K_1+" );
898 static EvtId K1M = EvtPDL::getId( "K_1-" );
899 static EvtId K10 = EvtPDL::getId( "K_10" );
900 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
901
902 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
903 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
904 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
905 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
906
907 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
908 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
909 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
910 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
911
912 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
913 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
914 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
915 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
916
917 static EvtId PHI = EvtPDL::getId( "phi" );
918 static EvtId DSP = EvtPDL::getId( "D_s+" );
919 static EvtId DSM = EvtPDL::getId( "D_s-" );
920
921 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
922 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
923
924 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
925 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
926
927 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
928 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
929
930 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
931 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
932
933 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
934 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
935
936 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
937 static EvtId BS0 = EvtPDL::getId( "B_s0" );
938
939 double mtb;
940 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
941 double msq( 0.0 ), bx2( 0.0 ), mtx;
942 double f3, kap;
943 double msb( 0.0 ), bb2( 0.0 ), mup, mum, bbx2, tm;
944
945 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
946 {
947 msb = 5.2;
948 msd = 0.33;
949 bb2 = 0.41 * 0.41;
950 if ( daugt == PIP || daugt == PIM || daugt == PI0 || daugt == ETA || daugt == ETAPR )
951 {
952 msq = 0.33;
953 bx2 = 0.31 * 0.31;
954 }
955 else
956 {
957 if ( daugt == D0 || daugt == DP || daugt == DM || daugt == D0B )
958 {
959 msq = 1.82;
960 bx2 = 0.39 * 0.39;
961 }
962 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_1S0.\n"; }
963 }
964 }
965 else
966 {
967 report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_1S0.\n";
968 report( ERROR, "EvtGen" ) << "Parent:" << parent.getId() << endl;
969 }
970
971 mtb = msb + msd;
972 mtx = msq + msd;
973 mb = EvtPDL::getMeanMass( parent );
974 mx = mass;
975 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
976 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
977 bbx2 = 0.5 * ( bb2 + bx2 );
978 tm = ( mb - mx ) * ( mb - mx );
979 if ( t > tm ) t = 0.99 * tm;
980
981 kap = 0.7 * 0.7;
982 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) *
983 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
984
985 *fpf = f3 * ( 1 + ( msb / ( 2.0 * mum ) ) -
986 ( msb * msq * msd * bb2 / ( 4.0 * mup * mum * mtx * bbx2 ) ) );
987 *fmf = f3 *
988 ( 1.0 - ( mtb + mtx ) * ( 0.5 / msq - ( msd * bb2 / ( 4.0 * mup * mtx * bbx2 ) ) ) );
989
990 return;
991} // get_ff_isgw_1s0
992
993void EvtISGWFF::EvtISGW1FF3S1( EvtId parent, EvtId daugt, double t, double mass, double* f,
994 double* g, double* ap, double* am ) {
995
996 // added by Lange Jan4,2000
997 static EvtId EM = EvtPDL::getId( "e-" );
998 static EvtId EP = EvtPDL::getId( "e+" );
999 static EvtId MUM = EvtPDL::getId( "mu-" );
1000 static EvtId MUP = EvtPDL::getId( "mu+" );
1001 static EvtId TAUM = EvtPDL::getId( "tau-" );
1002 static EvtId TAUP = EvtPDL::getId( "tau+" );
1003
1004 static EvtId BP = EvtPDL::getId( "B+" );
1005 static EvtId BM = EvtPDL::getId( "B-" );
1006 static EvtId B0 = EvtPDL::getId( "B0" );
1007 static EvtId B0B = EvtPDL::getId( "anti-B0" );
1008
1009 static EvtId DST0 = EvtPDL::getId( "D*0" );
1010 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
1011 static EvtId DSTP = EvtPDL::getId( "D*+" );
1012 static EvtId DSTM = EvtPDL::getId( "D*-" );
1013 static EvtId D0 = EvtPDL::getId( "D0" );
1014 static EvtId D0B = EvtPDL::getId( "anti-D0" );
1015 static EvtId DP = EvtPDL::getId( "D+" );
1016 static EvtId DM = EvtPDL::getId( "D-" );
1017
1018 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
1019 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
1020 static EvtId D1P10 = EvtPDL::getId( "D_10" );
1021 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
1022
1023 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
1024 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
1025 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
1026 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
1027
1028 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
1029 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
1030 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
1031 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
1032
1033 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
1034 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
1035 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
1036 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
1037
1038 static EvtId D21S0P = EvtPDL::getId( "hi" );
1039 static EvtId D21S0N = EvtPDL::getId( "hi" );
1040 static EvtId D21S00 = EvtPDL::getId( "hi" );
1041 static EvtId D21S0B = EvtPDL::getId( "hi" );
1042
1043 static EvtId D23S1P = EvtPDL::getId( "hi" );
1044 static EvtId D23S1N = EvtPDL::getId( "hi" );
1045 static EvtId D23S10 = EvtPDL::getId( "hi" );
1046 static EvtId D23S1B = EvtPDL::getId( "hi" );
1047
1048 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
1049 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
1050 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
1051 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
1052 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
1053
1054 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
1055 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
1056 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
1057
1058 static EvtId PIP = EvtPDL::getId( "pi+" );
1059 static EvtId PIM = EvtPDL::getId( "pi-" );
1060 static EvtId PI0 = EvtPDL::getId( "pi0" );
1061
1062 static EvtId RHOP = EvtPDL::getId( "rho+" );
1063 static EvtId RHOM = EvtPDL::getId( "rho-" );
1064 static EvtId RHO0 = EvtPDL::getId( "rho0" );
1065
1066 static EvtId A2P = EvtPDL::getId( "a_2+" );
1067 static EvtId A2M = EvtPDL::getId( "a_2-" );
1068 static EvtId A20 = EvtPDL::getId( "a_20" );
1069
1070 static EvtId A1P = EvtPDL::getId( "a_1+" );
1071 static EvtId A1M = EvtPDL::getId( "a_1-" );
1072 static EvtId A10 = EvtPDL::getId( "a_10" );
1073
1074 static EvtId A0P = EvtPDL::getId( "a_0+" );
1075 static EvtId A0M = EvtPDL::getId( "a_0-" );
1076 static EvtId A00 = EvtPDL::getId( "a_00" );
1077
1078 static EvtId B1P = EvtPDL::getId( "b_1+" );
1079 static EvtId B1M = EvtPDL::getId( "b_1-" );
1080 static EvtId B10 = EvtPDL::getId( "b_10" );
1081
1082 static EvtId H1 = EvtPDL::getId( "h_1" );
1083 static EvtId H1PR = EvtPDL::getId( "h'_1" );
1084
1085 static EvtId F1 = EvtPDL::getId( "f_1" );
1086 static EvtId F1PR = EvtPDL::getId( "f'_1" );
1087 static EvtId F0 = EvtPDL::getId( "f_0" );
1088 static EvtId F0PR = EvtPDL::getId( "f'_0" );
1089 static EvtId F2 = EvtPDL::getId( "f_2" );
1090 static EvtId F2PR = EvtPDL::getId( "f'_2" );
1091
1092 static EvtId ETA = EvtPDL::getId( "eta" );
1093 static EvtId ETAPR = EvtPDL::getId( "eta'" );
1094 static EvtId OMEG = EvtPDL::getId( "omega" );
1095
1096 static EvtId KP = EvtPDL::getId( "K+" );
1097 static EvtId KM = EvtPDL::getId( "K-" );
1098 static EvtId K0 = EvtPDL::getId( "K0" );
1099 static EvtId KB = EvtPDL::getId( "anti-K0" );
1100 static EvtId K0S = EvtPDL::getId( "K_S0" );
1101 static EvtId K0L = EvtPDL::getId( "K_L0" );
1102
1103 static EvtId KSTP = EvtPDL::getId( "K*+" );
1104 static EvtId KSTM = EvtPDL::getId( "K*-" );
1105 static EvtId KST0 = EvtPDL::getId( "K*0" );
1106 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
1107
1108 static EvtId K1P = EvtPDL::getId( "K_1+" );
1109 static EvtId K1M = EvtPDL::getId( "K_1-" );
1110 static EvtId K10 = EvtPDL::getId( "K_10" );
1111 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
1112
1113 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
1114 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
1115 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
1116 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
1117
1118 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
1119 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
1120 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
1121 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
1122
1123 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
1124 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
1125 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
1126 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
1127
1128 static EvtId PHI = EvtPDL::getId( "phi" );
1129 static EvtId DSP = EvtPDL::getId( "D_s+" );
1130 static EvtId DSM = EvtPDL::getId( "D_s-" );
1131
1132 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
1133 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
1134
1135 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
1136 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
1137
1138 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
1139 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
1140
1141 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
1142 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
1143
1144 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
1145 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
1146
1147 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
1148 static EvtId BS0 = EvtPDL::getId( "B_s0" );
1149
1150 double msd( 0.0 ), mup, msq( 0.0 ), bb2( 0.0 ), mum, mtx, bbx2;
1151 double bx2( 0.0 ), msb( 0.0 ), tm;
1152 double mb, mx, f3, kap;
1153
1154 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
1155 {
1156 msb = 5.2;
1157 msd = 0.33;
1158 bb2 = 0.41 * 0.41;
1159 if ( daugt == DSTP || daugt == DSTM || daugt == DSTB || daugt == DST0 )
1160 {
1161 msq = 1.82;
1162 bx2 = 0.39 * 0.39;
1163 }
1164 else
1165 {
1166 if ( daugt == RHOP || daugt == RHOM || daugt == RHO0 || daugt == OMEG )
1167 {
1168 msq = 0.33;
1169 bx2 = 0.31 * 0.31;
1170 }
1171 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_3S1.\n"; }
1172 }
1173 }
1174 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_3S1.\n"; }
1175
1176 double mtb;
1177
1178 mtb = msb + msd;
1179 mtx = msq + msd;
1180
1181 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1182 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1183 bbx2 = 0.5 * ( bb2 + bx2 );
1184 mb = EvtPDL::getMeanMass( parent );
1185 mx = mass;
1186 tm = ( mb - mx ) * ( mb - mx );
1187 if ( t > tm ) t = 0.99 * tm;
1188
1189 kap = 0.7 * 0.7;
1190 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) *
1191 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
1192
1193 *f = 2.0 * mtb * f3;
1194 *g = 0.5 * f3 * ( ( 1 / msq ) - ( msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) );
1195 *ap = ( -1.0 * f3 / ( 2.0 * mtx ) ) *
1196 ( 1.0 + ( msd * ( bb2 - bx2 ) / ( msb * ( bb2 + bx2 ) ) ) -
1197 ( msd * msd * bx2 * bx2 / ( 4.0 * mum * mtb * bbx2 * bbx2 ) ) );
1198 *am = 0.0;
1199}
1200
1201void EvtISGWFF::EvtISGW1FF23S1( EvtId parent, EvtId daugt, double t, double mass, double* fpf,
1202 double* gpf, double* appf, double* apmf ) {
1203 // added by Lange Jan4,2000
1204 static EvtId EM = EvtPDL::getId( "e-" );
1205 static EvtId EP = EvtPDL::getId( "e+" );
1206 static EvtId MUM = EvtPDL::getId( "mu-" );
1207 static EvtId MUP = EvtPDL::getId( "mu+" );
1208 static EvtId TAUM = EvtPDL::getId( "tau-" );
1209 static EvtId TAUP = EvtPDL::getId( "tau+" );
1210
1211 static EvtId BP = EvtPDL::getId( "B+" );
1212 static EvtId BM = EvtPDL::getId( "B-" );
1213 static EvtId B0 = EvtPDL::getId( "B0" );
1214 static EvtId B0B = EvtPDL::getId( "anti-B0" );
1215
1216 static EvtId DST0 = EvtPDL::getId( "D*0" );
1217 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
1218 static EvtId DSTP = EvtPDL::getId( "D*+" );
1219 static EvtId DSTM = EvtPDL::getId( "D*-" );
1220 static EvtId D0 = EvtPDL::getId( "D0" );
1221 static EvtId D0B = EvtPDL::getId( "anti-D0" );
1222 static EvtId DP = EvtPDL::getId( "D+" );
1223 static EvtId DM = EvtPDL::getId( "D-" );
1224
1225 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
1226 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
1227 static EvtId D1P10 = EvtPDL::getId( "D_10" );
1228 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
1229
1230 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
1231 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
1232 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
1233 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
1234
1235 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
1236 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
1237 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
1238 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
1239
1240 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
1241 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
1242 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
1243 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
1244
1245 static EvtId D21S0P = EvtPDL::getId( "hi" );
1246 static EvtId D21S0N = EvtPDL::getId( "hi" );
1247 static EvtId D21S00 = EvtPDL::getId( "hi" );
1248 static EvtId D21S0B = EvtPDL::getId( "hi" );
1249
1250 static EvtId D23S1P = EvtPDL::getId( "hi" );
1251 static EvtId D23S1N = EvtPDL::getId( "hi" );
1252 static EvtId D23S10 = EvtPDL::getId( "hi" );
1253 static EvtId D23S1B = EvtPDL::getId( "hi" );
1254
1255 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
1256 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
1257 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
1258 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
1259 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
1260
1261 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
1262 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
1263 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
1264
1265 static EvtId PIP = EvtPDL::getId( "pi+" );
1266 static EvtId PIM = EvtPDL::getId( "pi-" );
1267 static EvtId PI0 = EvtPDL::getId( "pi0" );
1268
1269 static EvtId RHOP = EvtPDL::getId( "rho+" );
1270 static EvtId RHOM = EvtPDL::getId( "rho-" );
1271 static EvtId RHO0 = EvtPDL::getId( "rho0" );
1272
1273 static EvtId A2P = EvtPDL::getId( "a_2+" );
1274 static EvtId A2M = EvtPDL::getId( "a_2-" );
1275 static EvtId A20 = EvtPDL::getId( "a_20" );
1276
1277 static EvtId A1P = EvtPDL::getId( "a_1+" );
1278 static EvtId A1M = EvtPDL::getId( "a_1-" );
1279 static EvtId A10 = EvtPDL::getId( "a_10" );
1280
1281 static EvtId A0P = EvtPDL::getId( "a_0+" );
1282 static EvtId A0M = EvtPDL::getId( "a_0-" );
1283 static EvtId A00 = EvtPDL::getId( "a_00" );
1284
1285 static EvtId B1P = EvtPDL::getId( "b_1+" );
1286 static EvtId B1M = EvtPDL::getId( "b_1-" );
1287 static EvtId B10 = EvtPDL::getId( "b_10" );
1288
1289 static EvtId H1 = EvtPDL::getId( "h_1" );
1290 static EvtId H1PR = EvtPDL::getId( "h'_1" );
1291
1292 static EvtId F1 = EvtPDL::getId( "f_1" );
1293 static EvtId F1PR = EvtPDL::getId( "f'_1" );
1294 static EvtId F0 = EvtPDL::getId( "f_0" );
1295 static EvtId F0PR = EvtPDL::getId( "f'_0" );
1296 static EvtId F2 = EvtPDL::getId( "f_2" );
1297 static EvtId F2PR = EvtPDL::getId( "f'_2" );
1298
1299 static EvtId ETA = EvtPDL::getId( "eta" );
1300 static EvtId ETAPR = EvtPDL::getId( "eta'" );
1301 static EvtId OMEG = EvtPDL::getId( "omega" );
1302
1303 static EvtId KP = EvtPDL::getId( "K+" );
1304 static EvtId KM = EvtPDL::getId( "K-" );
1305 static EvtId K0 = EvtPDL::getId( "K0" );
1306 static EvtId KB = EvtPDL::getId( "anti-K0" );
1307 static EvtId K0S = EvtPDL::getId( "K_S0" );
1308 static EvtId K0L = EvtPDL::getId( "K_L0" );
1309
1310 static EvtId KSTP = EvtPDL::getId( "K*+" );
1311 static EvtId KSTM = EvtPDL::getId( "K*-" );
1312 static EvtId KST0 = EvtPDL::getId( "K*0" );
1313 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
1314
1315 static EvtId K1P = EvtPDL::getId( "K_1+" );
1316 static EvtId K1M = EvtPDL::getId( "K_1-" );
1317 static EvtId K10 = EvtPDL::getId( "K_10" );
1318 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
1319
1320 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
1321 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
1322 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
1323 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
1324
1325 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
1326 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
1327 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
1328 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
1329
1330 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
1331 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
1332 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
1333 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
1334
1335 static EvtId PHI = EvtPDL::getId( "phi" );
1336 static EvtId DSP = EvtPDL::getId( "D_s+" );
1337 static EvtId DSM = EvtPDL::getId( "D_s-" );
1338
1339 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
1340 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
1341
1342 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
1343 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
1344
1345 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
1346 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
1347
1348 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
1349 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
1350
1351 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
1352 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
1353
1354 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
1355 static EvtId BS0 = EvtPDL::getId( "B_s0" );
1356
1357 double mtb;
1358 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
1359 double msq( 0.0 ), bx2( 0.0 ), mtx;
1360 double f3, f5, tt;
1361 double mum, mup, bb2( 0.0 ), bbx2, tm, msb( 0.0 );
1362
1363 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
1364 {
1365 msb = 5.2;
1366 msd = 0.33;
1367 bb2 = 0.41 * 0.41;
1368 if ( daugt == RHO2SP || daugt == RHO2SM || daugt == RHO2S0 || daugt == OMEG2S )
1369 {
1370 msq = 0.33;
1371 bx2 = 0.31 * 0.31;
1372 }
1373 else
1374 {
1375 if ( daugt == D23S1N || daugt == D23S10 || daugt == D23S1P || daugt == D23S1B )
1376 {
1377 msq = 1.82;
1378 bx2 = 0.39 * 0.39;
1379 }
1380 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_23P1.\n"; }
1381 }
1382 }
1383 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_23P1.\n"; }
1384
1385 mtb = msb + msd;
1386 mtx = msq + msd;
1387 mb = EvtPDL::getMeanMass( parent );
1388 mx = mass;
1389 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1390 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1391 bbx2 = 0.5 * ( bb2 + bx2 );
1392 tm = ( mb - mx ) * ( mb - mx );
1393 if ( t > tm ) t = 0.99 * tm;
1394
1395 double kap = 0.7 * 0.7;
1396 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) *
1397 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
1398
1399 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) *
1400 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
1401
1402 *fpf = sqrt( 6.0 ) * f3 * mtb *
1403 ( ( ( bb2 - bx2 ) / ( bb2 + bx2 ) ) +
1404 ( ( msd * msd * bx2 * ( tm - t ) ) / ( 6.0 * mtx * mtb * bbx2 * kap * bbx2 ) ) );
1405
1406 *gpf =
1407 sqrt( 3.0 / 8.0 ) * f3 *
1408 ( ( ( ( ( bb2 - bx2 ) / ( bb2 + bx2 ) ) +
1409 ( ( msd * msd * bx2 * ( tm - t ) ) / ( 6.0 * mtx * mtb * bbx2 * kap * bbx2 ) ) ) *
1410 ( ( 1.0 / msq ) - ( ( msd * bb2 ) / ( 2.0 * mum * mtx * bbx2 ) ) ) ) +
1411 ( ( msd * bb2 * bx2 ) / ( 3.0 * mum * mtx * bbx2 * bbx2 ) ) );
1412
1413 tt = ( msd * msd * bx2 * ( tm - t ) ) / ( mtx * mtb * bb2 * kap * bbx2 );
1414
1415 *appf = ( f5 / ( sqrt( 6.0 ) * mtx ) ) *
1416 ( ( ( 3.0 * mtb * bbx2 / ( 2.0 * msb * sqrt( bb2 * bx2 ) ) ) *
1417 ( 1.0 - ( ( msd * msd * msb * bx2 * bx2 ) /
1418 ( 4.0 * mtb * mtb * mum * bbx2 * bbx2 ) ) ) ) -
1419 ( ( 3.0 * msd * sqrt( bx2 / bb2 ) ) / ( 2.0 * msb ) ) +
1420 ( ( 5.0 * msd * sqrt( bx2 * bb2 ) * ( 1.0 + 0.1 * tt ) ) / ( 2.0 * msb * bbx2 ) ) -
1421 ( ( 3.0 * mtb * sqrt( bb2 / bx2 ) * ( 1.0 + ( tt / 6.0 ) ) ) / ( 2.0 * msb ) ) +
1422 ( ( 7.0 * msd * msd * sqrt( bb2 / bx2 ) * bx2 * bx2 * ( 1.0 + ( tt / 14.0 ) ) ) /
1423 ( 8.0 * mtb * mum * bbx2 * bbx2 ) ) );
1424
1425 *apmf = 0.0;
1426 return;
1427} // get_ff_isgw_23s1
1428
1429void EvtISGWFF::EvtISGW1FF3P1( EvtId parent, EvtId daugt, double t, double mass, double* lf,
1430 double* qf, double* cpf, double* cmf ) {
1431 // added by Lange Jan4,2000
1432 static EvtId EM = EvtPDL::getId( "e-" );
1433 static EvtId EP = EvtPDL::getId( "e+" );
1434 static EvtId MUM = EvtPDL::getId( "mu-" );
1435 static EvtId MUP = EvtPDL::getId( "mu+" );
1436 static EvtId TAUM = EvtPDL::getId( "tau-" );
1437 static EvtId TAUP = EvtPDL::getId( "tau+" );
1438
1439 static EvtId BP = EvtPDL::getId( "B+" );
1440 static EvtId BM = EvtPDL::getId( "B-" );
1441 static EvtId B0 = EvtPDL::getId( "B0" );
1442 static EvtId B0B = EvtPDL::getId( "anti-B0" );
1443
1444 static EvtId DST0 = EvtPDL::getId( "D*0" );
1445 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
1446 static EvtId DSTP = EvtPDL::getId( "D*+" );
1447 static EvtId DSTM = EvtPDL::getId( "D*-" );
1448 static EvtId D0 = EvtPDL::getId( "D0" );
1449 static EvtId D0B = EvtPDL::getId( "anti-D0" );
1450 static EvtId DP = EvtPDL::getId( "D+" );
1451 static EvtId DM = EvtPDL::getId( "D-" );
1452
1453 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
1454 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
1455 static EvtId D1P10 = EvtPDL::getId( "D_10" );
1456 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
1457
1458 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
1459 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
1460 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
1461 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
1462
1463 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
1464 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
1465 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
1466 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
1467
1468 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
1469 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
1470 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
1471 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
1472
1473 static EvtId D21S0P = EvtPDL::getId( "hi" );
1474 static EvtId D21S0N = EvtPDL::getId( "hi" );
1475 static EvtId D21S00 = EvtPDL::getId( "hi" );
1476 static EvtId D21S0B = EvtPDL::getId( "hi" );
1477
1478 static EvtId D23S1P = EvtPDL::getId( "hi" );
1479 static EvtId D23S1N = EvtPDL::getId( "hi" );
1480 static EvtId D23S10 = EvtPDL::getId( "hi" );
1481 static EvtId D23S1B = EvtPDL::getId( "hi" );
1482
1483 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
1484 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
1485 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
1486 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
1487 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
1488
1489 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
1490 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
1491 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
1492
1493 static EvtId PIP = EvtPDL::getId( "pi+" );
1494 static EvtId PIM = EvtPDL::getId( "pi-" );
1495 static EvtId PI0 = EvtPDL::getId( "pi0" );
1496
1497 static EvtId RHOP = EvtPDL::getId( "rho+" );
1498 static EvtId RHOM = EvtPDL::getId( "rho-" );
1499 static EvtId RHO0 = EvtPDL::getId( "rho0" );
1500
1501 static EvtId A2P = EvtPDL::getId( "a_2+" );
1502 static EvtId A2M = EvtPDL::getId( "a_2-" );
1503 static EvtId A20 = EvtPDL::getId( "a_20" );
1504
1505 static EvtId A1P = EvtPDL::getId( "a_1+" );
1506 static EvtId A1M = EvtPDL::getId( "a_1-" );
1507 static EvtId A10 = EvtPDL::getId( "a_10" );
1508
1509 static EvtId A0P = EvtPDL::getId( "a_0+" );
1510 static EvtId A0M = EvtPDL::getId( "a_0-" );
1511 static EvtId A00 = EvtPDL::getId( "a_00" );
1512
1513 static EvtId B1P = EvtPDL::getId( "b_1+" );
1514 static EvtId B1M = EvtPDL::getId( "b_1-" );
1515 static EvtId B10 = EvtPDL::getId( "b_10" );
1516
1517 static EvtId H1 = EvtPDL::getId( "h_1" );
1518 static EvtId H1PR = EvtPDL::getId( "h'_1" );
1519
1520 static EvtId F1 = EvtPDL::getId( "f_1" );
1521 static EvtId F1PR = EvtPDL::getId( "f'_1" );
1522 static EvtId F0 = EvtPDL::getId( "f_0" );
1523 static EvtId F0PR = EvtPDL::getId( "f'_0" );
1524 static EvtId F2 = EvtPDL::getId( "f_2" );
1525 static EvtId F2PR = EvtPDL::getId( "f'_2" );
1526
1527 static EvtId ETA = EvtPDL::getId( "eta" );
1528 static EvtId ETAPR = EvtPDL::getId( "eta'" );
1529 static EvtId OMEG = EvtPDL::getId( "omega" );
1530
1531 static EvtId KP = EvtPDL::getId( "K+" );
1532 static EvtId KM = EvtPDL::getId( "K-" );
1533 static EvtId K0 = EvtPDL::getId( "K0" );
1534 static EvtId KB = EvtPDL::getId( "anti-K0" );
1535 static EvtId K0S = EvtPDL::getId( "K_S0" );
1536 static EvtId K0L = EvtPDL::getId( "K_L0" );
1537
1538 static EvtId KSTP = EvtPDL::getId( "K*+" );
1539 static EvtId KSTM = EvtPDL::getId( "K*-" );
1540 static EvtId KST0 = EvtPDL::getId( "K*0" );
1541 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
1542
1543 static EvtId K1P = EvtPDL::getId( "K_1+" );
1544 static EvtId K1M = EvtPDL::getId( "K_1-" );
1545 static EvtId K10 = EvtPDL::getId( "K_10" );
1546 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
1547
1548 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
1549 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
1550 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
1551 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
1552
1553 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
1554 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
1555 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
1556 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
1557
1558 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
1559 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
1560 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
1561 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
1562
1563 static EvtId PHI = EvtPDL::getId( "phi" );
1564 static EvtId DSP = EvtPDL::getId( "D_s+" );
1565 static EvtId DSM = EvtPDL::getId( "D_s-" );
1566
1567 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
1568 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
1569
1570 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
1571 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
1572
1573 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
1574 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
1575
1576 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
1577 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
1578
1579 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
1580 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
1581
1582 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
1583 static EvtId BS0 = EvtPDL::getId( "B_s0" );
1584
1585 double mtb;
1586 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
1587 double msq( 0.0 ), bx2( 0.0 ), mtx, f5;
1588 double msb( 0.0 ), bb2( 0.0 ), mup, mum, bbx2, tm;
1589 double kap;
1590
1591 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
1592 {
1593 msb = 5.2;
1594 msd = 0.33;
1595 bb2 = 0.41 * 0.41;
1596 if ( daugt == A10 || daugt == A1P || daugt == A1M || daugt == F1 || daugt == F1PR )
1597 {
1598 msq = 0.33;
1599 bx2 = 0.27 * 0.27;
1600 }
1601 else
1602 {
1603 if ( daugt == D3P1P || daugt == D3P1N || daugt == D3P1B || daugt == D3P10 )
1604 {
1605 msq = 1.82;
1606 bx2 = 0.34 * 0.34;
1607 }
1608 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_3P1.\n"; }
1609 }
1610 }
1611 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_3P1.\n"; }
1612
1613 mtb = msb + msd;
1614 mtx = msq + msd;
1615
1616 mb = EvtPDL::getMeanMass( parent );
1617 mx = mass;
1618
1619 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1620 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1621 bbx2 = 0.5 * ( bb2 + bx2 );
1622 tm = ( mb - mx ) * ( mb - mx );
1623 if ( t > tm ) t = 0.99 * tm;
1624
1625 kap = 0.7 * 0.7;
1626 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) *
1627 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
1628
1629 *qf = ( f5 * msd ) / ( 2.0 * mtx * sqrt( bb2 ) );
1630
1631 *lf = -1.0 * mtb * sqrt( bb2 ) * f5 *
1632 ( 1 / mum + ( msd * ( tm - t ) / ( 2.0 * mtb * kap * bb2 ) ) *
1633 ( ( 1.0 / msq ) - ( 1.0 * msd * bb2 / ( 2.0 * mum * mtx * bbx2 ) ) ) );
1634
1635 *cpf = ( f5 * msd * msb / ( 4.0 * mtb * sqrt( bb2 ) * mum ) ) *
1636 ( 1.0 - ( msd * msq * bb2 / ( 2.0 * mtx * mum * bbx2 ) ) );
1637 *cmf = 0.0;
1638 return;
1639} // get_ff_isgw_3p1
1640
1641void EvtISGWFF::EvtISGW1FF3P0( EvtId parent, EvtId daugt, double t, double mass, double* upf,
1642 double* umf ) {
1643 // added by Lange Jan4,2000
1644 static EvtId EM = EvtPDL::getId( "e-" );
1645 static EvtId EP = EvtPDL::getId( "e+" );
1646 static EvtId MUM = EvtPDL::getId( "mu-" );
1647 static EvtId MUP = EvtPDL::getId( "mu+" );
1648 static EvtId TAUM = EvtPDL::getId( "tau-" );
1649 static EvtId TAUP = EvtPDL::getId( "tau+" );
1650
1651 static EvtId BP = EvtPDL::getId( "B+" );
1652 static EvtId BM = EvtPDL::getId( "B-" );
1653 static EvtId B0 = EvtPDL::getId( "B0" );
1654 static EvtId B0B = EvtPDL::getId( "anti-B0" );
1655
1656 static EvtId DST0 = EvtPDL::getId( "D*0" );
1657 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
1658 static EvtId DSTP = EvtPDL::getId( "D*+" );
1659 static EvtId DSTM = EvtPDL::getId( "D*-" );
1660 static EvtId D0 = EvtPDL::getId( "D0" );
1661 static EvtId D0B = EvtPDL::getId( "anti-D0" );
1662 static EvtId DP = EvtPDL::getId( "D+" );
1663 static EvtId DM = EvtPDL::getId( "D-" );
1664
1665 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
1666 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
1667 static EvtId D1P10 = EvtPDL::getId( "D_10" );
1668 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
1669
1670 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
1671 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
1672 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
1673 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
1674
1675 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
1676 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
1677 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
1678 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
1679
1680 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
1681 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
1682 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
1683 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
1684
1685 static EvtId D21S0P = EvtPDL::getId( "hi" );
1686 static EvtId D21S0N = EvtPDL::getId( "hi" );
1687 static EvtId D21S00 = EvtPDL::getId( "hi" );
1688 static EvtId D21S0B = EvtPDL::getId( "hi" );
1689
1690 static EvtId D23S1P = EvtPDL::getId( "hi" );
1691 static EvtId D23S1N = EvtPDL::getId( "hi" );
1692 static EvtId D23S10 = EvtPDL::getId( "hi" );
1693 static EvtId D23S1B = EvtPDL::getId( "hi" );
1694
1695 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
1696 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
1697 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
1698 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
1699 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
1700
1701 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
1702 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
1703 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
1704
1705 static EvtId PIP = EvtPDL::getId( "pi+" );
1706 static EvtId PIM = EvtPDL::getId( "pi-" );
1707 static EvtId PI0 = EvtPDL::getId( "pi0" );
1708
1709 static EvtId RHOP = EvtPDL::getId( "rho+" );
1710 static EvtId RHOM = EvtPDL::getId( "rho-" );
1711 static EvtId RHO0 = EvtPDL::getId( "rho0" );
1712
1713 static EvtId A2P = EvtPDL::getId( "a_2+" );
1714 static EvtId A2M = EvtPDL::getId( "a_2-" );
1715 static EvtId A20 = EvtPDL::getId( "a_20" );
1716
1717 static EvtId A1P = EvtPDL::getId( "a_1+" );
1718 static EvtId A1M = EvtPDL::getId( "a_1-" );
1719 static EvtId A10 = EvtPDL::getId( "a_10" );
1720
1721 static EvtId A0P = EvtPDL::getId( "a_0+" );
1722 static EvtId A0M = EvtPDL::getId( "a_0-" );
1723 static EvtId A00 = EvtPDL::getId( "a_00" );
1724
1725 static EvtId B1P = EvtPDL::getId( "b_1+" );
1726 static EvtId B1M = EvtPDL::getId( "b_1-" );
1727 static EvtId B10 = EvtPDL::getId( "b_10" );
1728
1729 static EvtId H1 = EvtPDL::getId( "h_1" );
1730 static EvtId H1PR = EvtPDL::getId( "h'_1" );
1731
1732 static EvtId F1 = EvtPDL::getId( "f_1" );
1733 static EvtId F1PR = EvtPDL::getId( "f'_1" );
1734 static EvtId F0 = EvtPDL::getId( "f_0" );
1735 static EvtId F0PR = EvtPDL::getId( "f'_0" );
1736 static EvtId F2 = EvtPDL::getId( "f_2" );
1737 static EvtId F2PR = EvtPDL::getId( "f'_2" );
1738
1739 static EvtId ETA = EvtPDL::getId( "eta" );
1740 static EvtId ETAPR = EvtPDL::getId( "eta'" );
1741 static EvtId OMEG = EvtPDL::getId( "omega" );
1742
1743 static EvtId KP = EvtPDL::getId( "K+" );
1744 static EvtId KM = EvtPDL::getId( "K-" );
1745 static EvtId K0 = EvtPDL::getId( "K0" );
1746 static EvtId KB = EvtPDL::getId( "anti-K0" );
1747 static EvtId K0S = EvtPDL::getId( "K_S0" );
1748 static EvtId K0L = EvtPDL::getId( "K_L0" );
1749
1750 static EvtId KSTP = EvtPDL::getId( "K*+" );
1751 static EvtId KSTM = EvtPDL::getId( "K*-" );
1752 static EvtId KST0 = EvtPDL::getId( "K*0" );
1753 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
1754
1755 static EvtId K1P = EvtPDL::getId( "K_1+" );
1756 static EvtId K1M = EvtPDL::getId( "K_1-" );
1757 static EvtId K10 = EvtPDL::getId( "K_10" );
1758 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
1759
1760 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
1761 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
1762 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
1763 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
1764
1765 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
1766 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
1767 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
1768 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
1769
1770 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
1771 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
1772 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
1773 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
1774
1775 static EvtId PHI = EvtPDL::getId( "phi" );
1776 static EvtId DSP = EvtPDL::getId( "D_s+" );
1777 static EvtId DSM = EvtPDL::getId( "D_s-" );
1778
1779 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
1780 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
1781
1782 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
1783 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
1784
1785 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
1786 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
1787
1788 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
1789 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
1790
1791 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
1792 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
1793
1794 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
1795 static EvtId BS0 = EvtPDL::getId( "B_s0" );
1796
1797 double mtb;
1798 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
1799 double msq( 0.0 ), bx2( 0.0 ), mtx;
1800 double f5;
1801 double mum, mup, bb2( 0.0 ), bbx2, msb( 0.0 ), tm;
1802
1803 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
1804 {
1805 msb = 5.2;
1806 msd = 0.33;
1807 bb2 = 0.41 * 0.41;
1808 if ( daugt == A00 || daugt == A0P || daugt == A0M || daugt == F0 || daugt == F0PR )
1809 {
1810 msq = 0.33;
1811 bx2 = 0.27 * 0.27;
1812 }
1813 else
1814 {
1815 if ( daugt == D3P0P || daugt == D3P0N || daugt == D3P0B || daugt == D3P00 )
1816 {
1817 msq = 1.82;
1818 bx2 = 0.34 * 0.34;
1819 }
1820 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_3P0.\n"; }
1821 }
1822 }
1823 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_3P0.\n"; }
1824
1825 mtb = msb + msd;
1826 mtx = msq + msd;
1827
1828 mb = EvtPDL::getMeanMass( parent );
1829 mx = mass;
1830
1831 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
1832 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
1833 bbx2 = 0.5 * ( bb2 + bx2 );
1834 tm = ( mb - mx ) * ( mb - mx );
1835 if ( t > tm ) t = 0.99 * tm;
1836
1837 double kap = 0.7 * 0.7;
1838 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) *
1839 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
1840
1841 *upf = f5 * msd * msq * msb / ( sqrt( 6.0 * bb2 ) * mtx * mum );
1842 *umf = 0.0;
1843 return;
1844} // get_ff_isgw_3p0
1845
1846void EvtISGWFF::EvtISGW1FF1P1( EvtId parent, EvtId daugt, double t, double mass, double* vf,
1847 double* rf, double* spf, double* smf ) {
1848 // added by Lange Jan4,2000
1849 static EvtId EM = EvtPDL::getId( "e-" );
1850 static EvtId EP = EvtPDL::getId( "e+" );
1851 static EvtId MUM = EvtPDL::getId( "mu-" );
1852 static EvtId MUP = EvtPDL::getId( "mu+" );
1853 static EvtId TAUM = EvtPDL::getId( "tau-" );
1854 static EvtId TAUP = EvtPDL::getId( "tau+" );
1855
1856 static EvtId BP = EvtPDL::getId( "B+" );
1857 static EvtId BM = EvtPDL::getId( "B-" );
1858 static EvtId B0 = EvtPDL::getId( "B0" );
1859 static EvtId B0B = EvtPDL::getId( "anti-B0" );
1860
1861 static EvtId DST0 = EvtPDL::getId( "D*0" );
1862 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
1863 static EvtId DSTP = EvtPDL::getId( "D*+" );
1864 static EvtId DSTM = EvtPDL::getId( "D*-" );
1865 static EvtId D0 = EvtPDL::getId( "D0" );
1866 static EvtId D0B = EvtPDL::getId( "anti-D0" );
1867 static EvtId DP = EvtPDL::getId( "D+" );
1868 static EvtId DM = EvtPDL::getId( "D-" );
1869
1870 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
1871 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
1872 static EvtId D1P10 = EvtPDL::getId( "D_10" );
1873 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
1874
1875 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
1876 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
1877 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
1878 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
1879
1880 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
1881 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
1882 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
1883 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
1884
1885 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
1886 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
1887 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
1888 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
1889
1890 static EvtId D21S0P = EvtPDL::getId( "hi" );
1891 static EvtId D21S0N = EvtPDL::getId( "hi" );
1892 static EvtId D21S00 = EvtPDL::getId( "hi" );
1893 static EvtId D21S0B = EvtPDL::getId( "hi" );
1894
1895 static EvtId D23S1P = EvtPDL::getId( "hi" );
1896 static EvtId D23S1N = EvtPDL::getId( "hi" );
1897 static EvtId D23S10 = EvtPDL::getId( "hi" );
1898 static EvtId D23S1B = EvtPDL::getId( "hi" );
1899
1900 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
1901 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
1902 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
1903 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
1904 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
1905
1906 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
1907 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
1908 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
1909
1910 static EvtId PIP = EvtPDL::getId( "pi+" );
1911 static EvtId PIM = EvtPDL::getId( "pi-" );
1912 static EvtId PI0 = EvtPDL::getId( "pi0" );
1913
1914 static EvtId RHOP = EvtPDL::getId( "rho+" );
1915 static EvtId RHOM = EvtPDL::getId( "rho-" );
1916 static EvtId RHO0 = EvtPDL::getId( "rho0" );
1917
1918 static EvtId A2P = EvtPDL::getId( "a_2+" );
1919 static EvtId A2M = EvtPDL::getId( "a_2-" );
1920 static EvtId A20 = EvtPDL::getId( "a_20" );
1921
1922 static EvtId A1P = EvtPDL::getId( "a_1+" );
1923 static EvtId A1M = EvtPDL::getId( "a_1-" );
1924 static EvtId A10 = EvtPDL::getId( "a_10" );
1925
1926 static EvtId A0P = EvtPDL::getId( "a_0+" );
1927 static EvtId A0M = EvtPDL::getId( "a_0-" );
1928 static EvtId A00 = EvtPDL::getId( "a_00" );
1929
1930 static EvtId B1P = EvtPDL::getId( "b_1+" );
1931 static EvtId B1M = EvtPDL::getId( "b_1-" );
1932 static EvtId B10 = EvtPDL::getId( "b_10" );
1933
1934 static EvtId H1 = EvtPDL::getId( "h_1" );
1935 static EvtId H1PR = EvtPDL::getId( "h'_1" );
1936
1937 static EvtId F1 = EvtPDL::getId( "f_1" );
1938 static EvtId F1PR = EvtPDL::getId( "f'_1" );
1939 static EvtId F0 = EvtPDL::getId( "f_0" );
1940 static EvtId F0PR = EvtPDL::getId( "f'_0" );
1941 static EvtId F2 = EvtPDL::getId( "f_2" );
1942 static EvtId F2PR = EvtPDL::getId( "f'_2" );
1943
1944 static EvtId ETA = EvtPDL::getId( "eta" );
1945 static EvtId ETAPR = EvtPDL::getId( "eta'" );
1946 static EvtId OMEG = EvtPDL::getId( "omega" );
1947
1948 static EvtId KP = EvtPDL::getId( "K+" );
1949 static EvtId KM = EvtPDL::getId( "K-" );
1950 static EvtId K0 = EvtPDL::getId( "K0" );
1951 static EvtId KB = EvtPDL::getId( "anti-K0" );
1952 static EvtId K0S = EvtPDL::getId( "K_S0" );
1953 static EvtId K0L = EvtPDL::getId( "K_L0" );
1954
1955 static EvtId KSTP = EvtPDL::getId( "K*+" );
1956 static EvtId KSTM = EvtPDL::getId( "K*-" );
1957 static EvtId KST0 = EvtPDL::getId( "K*0" );
1958 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
1959
1960 static EvtId K1P = EvtPDL::getId( "K_1+" );
1961 static EvtId K1M = EvtPDL::getId( "K_1-" );
1962 static EvtId K10 = EvtPDL::getId( "K_10" );
1963 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
1964
1965 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
1966 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
1967 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
1968 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
1969
1970 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
1971 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
1972 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
1973 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
1974
1975 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
1976 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
1977 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
1978 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
1979
1980 static EvtId PHI = EvtPDL::getId( "phi" );
1981 static EvtId DSP = EvtPDL::getId( "D_s+" );
1982 static EvtId DSM = EvtPDL::getId( "D_s-" );
1983
1984 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
1985 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
1986
1987 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
1988 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
1989
1990 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
1991 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
1992
1993 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
1994 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
1995
1996 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
1997 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
1998
1999 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
2000 static EvtId BS0 = EvtPDL::getId( "B_s0" );
2001
2002 double mtb;
2003 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
2004 double msq( 0.0 ), bx2( 0.0 ), mtx, f5;
2005 double mup, mum, kap;
2006 double msb( 0.0 ), bb2( 0.0 ), bbx2, tm;
2007
2008 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
2009 {
2010
2011 msb = 5.2;
2012 msd = 0.33;
2013 bb2 = 0.41 * 0.41;
2014 if ( daugt == H1 || daugt == H1PR || daugt == B10 || daugt == B1P || daugt == B1M )
2015 {
2016 msq = 0.33;
2017 bx2 = 0.27 * 0.27;
2018 }
2019 else
2020 {
2021 if ( daugt == D1P1P || daugt == D1P1N || daugt == D1P10 || daugt == D1P1B )
2022 {
2023 msq = 1.82;
2024 bx2 = 0.34 * 0.34;
2025 }
2026 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw_ff_3P1.\n"; }
2027 }
2028 }
2029 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw_ff_3P1.\n"; }
2030
2031 mtb = msb + msd;
2032 mtx = msq + msd;
2033
2034 mb = EvtPDL::getMeanMass( parent );
2035 mx = mass;
2036
2037 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
2038 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
2039 bbx2 = 0.5 * ( bb2 + bx2 );
2040 tm = ( mb - mx ) * ( mb - mx );
2041 if ( t > tm ) t = 0.99 * tm;
2042
2043 kap = 0.7 * 0.7;
2044 f5 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 5.0 / 2.0 ) *
2045 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
2046
2047 *vf = f5 * ( ( ( mtb * sqrt( bb2 ) ) / ( 4.0 * sqrt( 2.0 ) * msb * msq * mtx ) ) );
2048 *rf = f5 * mtb * sqrt( bb2 / 2 ) * ( ( 1.0 / mup ) );
2049
2050 *spf = ( f5 * msd / ( sqrt( 2.0 * bb2 ) * mtb ) ) *
2051 ( 1.0 + ( msb / ( 2.0 * mum ) ) -
2052 ( msb * msq * msd * bb2 / ( 4.0 * mup * mum * mtx * bbx2 ) ) );
2053 *smf = 0.0;
2054
2055 return;
2056 // get_ff_isgw_1p1
2057}
2058
2059void EvtISGWFF::EvtISGW1FF21S0( EvtId parent, EvtId daugt, double t, double mass, double* fppf,
2060 double* fpmf ) {
2061 // added by Lange Jan4,2000
2062 static EvtId EM = EvtPDL::getId( "e-" );
2063 static EvtId EP = EvtPDL::getId( "e+" );
2064 static EvtId MUM = EvtPDL::getId( "mu-" );
2065 static EvtId MUP = EvtPDL::getId( "mu+" );
2066 static EvtId TAUM = EvtPDL::getId( "tau-" );
2067 static EvtId TAUP = EvtPDL::getId( "tau+" );
2068
2069 static EvtId BP = EvtPDL::getId( "B+" );
2070 static EvtId BM = EvtPDL::getId( "B-" );
2071 static EvtId B0 = EvtPDL::getId( "B0" );
2072 static EvtId B0B = EvtPDL::getId( "anti-B0" );
2073
2074 static EvtId DST0 = EvtPDL::getId( "D*0" );
2075 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
2076 static EvtId DSTP = EvtPDL::getId( "D*+" );
2077 static EvtId DSTM = EvtPDL::getId( "D*-" );
2078 static EvtId D0 = EvtPDL::getId( "D0" );
2079 static EvtId D0B = EvtPDL::getId( "anti-D0" );
2080 static EvtId DP = EvtPDL::getId( "D+" );
2081 static EvtId DM = EvtPDL::getId( "D-" );
2082
2083 static EvtId D1P1P = EvtPDL::getId( "D_1+" );
2084 static EvtId D1P1N = EvtPDL::getId( "D_1-" );
2085 static EvtId D1P10 = EvtPDL::getId( "D_10" );
2086 static EvtId D1P1B = EvtPDL::getId( "anti-D_10" );
2087
2088 static EvtId D3P2P = EvtPDL::getId( "D_2*+" );
2089 static EvtId D3P2N = EvtPDL::getId( "D_2*-" );
2090 static EvtId D3P20 = EvtPDL::getId( "D_2*0" );
2091 static EvtId D3P2B = EvtPDL::getId( "anti-D_2*0" );
2092
2093 static EvtId D3P1P = EvtPDL::getId( "D'_1+" );
2094 static EvtId D3P1N = EvtPDL::getId( "D'_1-" );
2095 static EvtId D3P10 = EvtPDL::getId( "D'_10" );
2096 static EvtId D3P1B = EvtPDL::getId( "anti-D'_10" );
2097
2098 static EvtId D3P0P = EvtPDL::getId( "D_0*+" );
2099 static EvtId D3P0N = EvtPDL::getId( "D_0*-" );
2100 static EvtId D3P00 = EvtPDL::getId( "D_0*0" );
2101 static EvtId D3P0B = EvtPDL::getId( "anti-D_0*0" );
2102
2103 static EvtId D21S0P = EvtPDL::getId( "hi" );
2104 static EvtId D21S0N = EvtPDL::getId( "hi" );
2105 static EvtId D21S00 = EvtPDL::getId( "hi" );
2106 static EvtId D21S0B = EvtPDL::getId( "hi" );
2107
2108 static EvtId D23S1P = EvtPDL::getId( "hi" );
2109 static EvtId D23S1N = EvtPDL::getId( "hi" );
2110 static EvtId D23S10 = EvtPDL::getId( "hi" );
2111 static EvtId D23S1B = EvtPDL::getId( "hi" );
2112
2113 static EvtId RHO2S0 = EvtPDL::getId( "rho(2S)0" );
2114 static EvtId RHO2SP = EvtPDL::getId( "rho(2S)+" );
2115 static EvtId RHO2SM = EvtPDL::getId( "rho(2S)-" );
2116 static EvtId OMEG2S = EvtPDL::getId( "omega(2S)" );
2117 static EvtId ETA2S = EvtPDL::getId( "eta(2S)" );
2118
2119 static EvtId PI2S0 = EvtPDL::getId( "pi(2S)0" );
2120 static EvtId PI2SP = EvtPDL::getId( "pi(2S)+" );
2121 static EvtId PI2SM = EvtPDL::getId( "pi(2S)-" );
2122
2123 static EvtId PIP = EvtPDL::getId( "pi+" );
2124 static EvtId PIM = EvtPDL::getId( "pi-" );
2125 static EvtId PI0 = EvtPDL::getId( "pi0" );
2126
2127 static EvtId RHOP = EvtPDL::getId( "rho+" );
2128 static EvtId RHOM = EvtPDL::getId( "rho-" );
2129 static EvtId RHO0 = EvtPDL::getId( "rho0" );
2130
2131 static EvtId A2P = EvtPDL::getId( "a_2+" );
2132 static EvtId A2M = EvtPDL::getId( "a_2-" );
2133 static EvtId A20 = EvtPDL::getId( "a_20" );
2134
2135 static EvtId A1P = EvtPDL::getId( "a_1+" );
2136 static EvtId A1M = EvtPDL::getId( "a_1-" );
2137 static EvtId A10 = EvtPDL::getId( "a_10" );
2138
2139 static EvtId A0P = EvtPDL::getId( "a_0+" );
2140 static EvtId A0M = EvtPDL::getId( "a_0-" );
2141 static EvtId A00 = EvtPDL::getId( "a_00" );
2142
2143 static EvtId B1P = EvtPDL::getId( "b_1+" );
2144 static EvtId B1M = EvtPDL::getId( "b_1-" );
2145 static EvtId B10 = EvtPDL::getId( "b_10" );
2146
2147 static EvtId H1 = EvtPDL::getId( "h_1" );
2148 static EvtId H1PR = EvtPDL::getId( "h'_1" );
2149
2150 static EvtId F1 = EvtPDL::getId( "f_1" );
2151 static EvtId F1PR = EvtPDL::getId( "f'_1" );
2152 static EvtId F0 = EvtPDL::getId( "f_0" );
2153 static EvtId F0PR = EvtPDL::getId( "f'_0" );
2154 static EvtId F2 = EvtPDL::getId( "f_2" );
2155 static EvtId F2PR = EvtPDL::getId( "f'_2" );
2156
2157 static EvtId ETA = EvtPDL::getId( "eta" );
2158 static EvtId ETAPR = EvtPDL::getId( "eta'" );
2159 static EvtId OMEG = EvtPDL::getId( "omega" );
2160
2161 static EvtId KP = EvtPDL::getId( "K+" );
2162 static EvtId KM = EvtPDL::getId( "K-" );
2163 static EvtId K0 = EvtPDL::getId( "K0" );
2164 static EvtId KB = EvtPDL::getId( "anti-K0" );
2165 static EvtId K0S = EvtPDL::getId( "K_S0" );
2166 static EvtId K0L = EvtPDL::getId( "K_L0" );
2167
2168 static EvtId KSTP = EvtPDL::getId( "K*+" );
2169 static EvtId KSTM = EvtPDL::getId( "K*-" );
2170 static EvtId KST0 = EvtPDL::getId( "K*0" );
2171 static EvtId KSTB = EvtPDL::getId( "anti-K*0" );
2172
2173 static EvtId K1P = EvtPDL::getId( "K_1+" );
2174 static EvtId K1M = EvtPDL::getId( "K_1-" );
2175 static EvtId K10 = EvtPDL::getId( "K_10" );
2176 static EvtId K1B = EvtPDL::getId( "anti-K_10" );
2177
2178 static EvtId K1STP = EvtPDL::getId( "K'_1+" );
2179 static EvtId K1STM = EvtPDL::getId( "K'_1-" );
2180 static EvtId K1ST0 = EvtPDL::getId( "K'_10" );
2181 static EvtId K1STB = EvtPDL::getId( "anti-K'_10" );
2182
2183 static EvtId K2STP = EvtPDL::getId( "K_2*+" );
2184 static EvtId K2STM = EvtPDL::getId( "K_2*-" );
2185 static EvtId K2ST0 = EvtPDL::getId( "K_2*0" );
2186 static EvtId K2STB = EvtPDL::getId( "anti-K_2*0" );
2187
2188 static EvtId K0STP = EvtPDL::getId( "K_0*+" );
2189 static EvtId K0STM = EvtPDL::getId( "K_0*-" );
2190 static EvtId K0ST0 = EvtPDL::getId( "K_0*0" );
2191 static EvtId K0STB = EvtPDL::getId( "anti-K_0*0" );
2192
2193 static EvtId PHI = EvtPDL::getId( "phi" );
2194 static EvtId DSP = EvtPDL::getId( "D_s+" );
2195 static EvtId DSM = EvtPDL::getId( "D_s-" );
2196
2197 static EvtId D1P1SP = EvtPDL::getId( "D_s1+" );
2198 static EvtId D1P1SN = EvtPDL::getId( "D_s1-" );
2199
2200 static EvtId D3P0SP = EvtPDL::getId( "D_s0*+" );
2201 static EvtId D3P0SN = EvtPDL::getId( "D_s0*-" );
2202
2203 static EvtId D3P1SP = EvtPDL::getId( "D'_s1*+" );
2204 static EvtId D3P1SN = EvtPDL::getId( "D'_s1*-" );
2205
2206 static EvtId D3P2SP = EvtPDL::getId( "D_s2*+" );
2207 static EvtId D3P2SN = EvtPDL::getId( "D_s2*-" );
2208
2209 static EvtId DSSTP = EvtPDL::getId( "D_s*+" );
2210 static EvtId DSSTM = EvtPDL::getId( "D_s*-" );
2211
2212 static EvtId BSB = EvtPDL::getId( "anti-B_s0" );
2213 static EvtId BS0 = EvtPDL::getId( "B_s0" );
2214
2215 double mtb;
2216 double msd( 0.0 ), mx( 0.0 ), mb( 0.0 );
2217 double msq( 0.0 ), bx2( 0.0 ), mtx;
2218 double f3;
2219 double msb( 0.0 );
2220 double mum, mup, tm, bb2( 0.0 ), bbx2;
2221
2222 if ( parent == BM || parent == BP || parent == B0 || parent == B0B )
2223 {
2224 msb = 5.2;
2225 msd = 0.33;
2226 bb2 = 0.41 * 0.41;
2227 if ( daugt == PI2S0 || daugt == PI2SP || daugt == PI2SM || daugt == ETA2S )
2228 {
2229 msq = 0.33;
2230 bx2 = 0.31 * 0.31;
2231 }
2232 else
2233 {
2234 if ( daugt == D21S00 || daugt == D21S0P || daugt == D21S0N || daugt == D21S0B )
2235 {
2236 msq = 1.82;
2237 bx2 = 0.39 * 0.39;
2238 }
2239 else { report( ERROR, "EvtGen" ) << "Not implemented daugt in get_isgw1_ff_21S0.\n"; }
2240 }
2241 }
2242 else { report( ERROR, "EvtGen" ) << "Not implemented parent in get_isgw1_ff_21S0.\n"; }
2243
2244 mtb = msb + msd;
2245 mtx = msq + msd;
2246
2247 mb = EvtPDL::getMeanMass( parent );
2248 mx = mass;
2249
2250 mup = 1.0 / ( 1.0 / msq + 1.0 / msb );
2251 mum = 1.0 / ( 1.0 / msq - 1.0 / msb );
2252 bbx2 = 0.5 * ( bb2 + bx2 );
2253 tm = ( mb - mx ) * ( mb - mx );
2254 if ( t > tm ) t = 0.99 * tm;
2255
2256 double kap = 0.7 * 0.7;
2257 f3 = sqrt( mtx / mtb ) * pow( sqrt( bx2 * bb2 ) / bbx2, 3.0 / 2.0 ) *
2258 exp( -1.0 * ( ( msd * msd * ( tm - t ) / ( 4.0 * mtb * mtx * kap * bbx2 ) ) ) );
2259
2260 *fppf = f3 * sqrt( 3.0 / 8.0 ) * ( msb / mup ) *
2261 ( ( ( bb2 - bx2 ) / ( bb2 + bx2 ) ) +
2262 ( ( ( msq * msd * bb2 ) / ( 3.0 * mum * mtx * bbx2 ) ) *
2263 ( ( 7.0 * bx2 - 3.0 * bb2 ) / ( 4.0 * bbx2 ) ) ) +
2264 ( ( ( msd * msd * bx2 * ( tm - t ) ) / ( 6.0 * mtx * mtb * bbx2 * kap * bbx2 ) ) *
2265 ( 1.0 - ( ( msq * msd * bb2 ) / ( 2.0 * mum * mtx * bbx2 ) ) ) ) );
2266
2267 *fpmf = 0.0;
2268 return;
2269} // get_ff_isgw_21s0
double mass
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:34
@ ERROR
Definition EvtReport.hh:49
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