]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 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: EvtISGW2.cc | |
12 | // | |
13 | // Description: Routine to implement semileptonic decays according | |
14 | // to the model ISGW2 | |
15 | // | |
16 | // Modification history: | |
17 | // | |
18 | // DJL/RYD September 25, 1996 Module created | |
19 | // | |
20 | //------------------------------------------------------------------------ | |
21 | // | |
22 | #include "EvtGenBase/EvtPatches.hh" | |
23 | #include <stdlib.h> | |
24 | #include "EvtGenBase/EvtParticle.hh" | |
25 | #include "EvtGenBase/EvtGenKine.hh" | |
26 | #include "EvtGenBase/EvtPDL.hh" | |
27 | #include "EvtGenBase/EvtReport.hh" | |
28 | #include "EvtGenModels/EvtISGW2.hh" | |
29 | #include "EvtGenBase/EvtConst.hh" | |
30 | #include "EvtGenBase/EvtIdSet.hh" | |
31 | #include <string> | |
32 | #include "EvtGenModels/EvtISGW2FF.hh" | |
33 | #include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh" | |
34 | #include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh" | |
35 | #include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh" | |
36 | ||
37 | EvtISGW2::EvtISGW2(): | |
38 | isgw2ffmodel(0) | |
39 | ,calcamp(0) | |
40 | {} | |
41 | ||
42 | ||
43 | EvtISGW2::~EvtISGW2() { | |
44 | delete isgw2ffmodel; | |
45 | isgw2ffmodel=0; | |
46 | delete calcamp; | |
47 | calcamp=0; | |
48 | } | |
49 | ||
50 | std::string EvtISGW2::getName(){ | |
51 | ||
52 | return "ISGW2"; | |
53 | ||
54 | } | |
55 | ||
56 | ||
57 | ||
58 | EvtDecayBase* EvtISGW2::clone(){ | |
59 | ||
60 | return new EvtISGW2; | |
61 | ||
62 | } | |
63 | ||
64 | void EvtISGW2::decay( EvtParticle *p ){ | |
65 | ||
66 | p->initializePhaseSpace(getNDaug(),getDaugs()); | |
67 | ||
68 | calcamp->CalcAmp(p,_amp2,isgw2ffmodel); | |
69 | ||
70 | } | |
71 | ||
72 | void EvtISGW2::initProbMax() { | |
73 | ||
74 | //added by Lange Jan4,2000 | |
75 | static EvtId EM=EvtPDL::getId("e-"); | |
76 | static EvtId EP=EvtPDL::getId("e+"); | |
77 | static EvtId MUM=EvtPDL::getId("mu-"); | |
78 | static EvtId MUP=EvtPDL::getId("mu+"); | |
79 | static EvtId TAUM=EvtPDL::getId("tau-"); | |
80 | static EvtId TAUP=EvtPDL::getId("tau+"); | |
81 | ||
82 | static EvtId BP=EvtPDL::getId("B+"); | |
83 | static EvtId BM=EvtPDL::getId("B-"); | |
84 | static EvtId B0=EvtPDL::getId("B0"); | |
85 | static EvtId B0B=EvtPDL::getId("anti-B0"); | |
86 | static EvtId BS0=EvtPDL::getId("B_s0"); | |
87 | static EvtId BSB=EvtPDL::getId("anti-B_s0"); | |
88 | static EvtId BCP=EvtPDL::getId("B_c+"); | |
89 | static EvtId BCM=EvtPDL::getId("B_c-"); | |
90 | ||
91 | static EvtId DST0=EvtPDL::getId("D*0"); | |
92 | static EvtId DSTB=EvtPDL::getId("anti-D*0"); | |
93 | static EvtId DSTP=EvtPDL::getId("D*+"); | |
94 | static EvtId DSTM=EvtPDL::getId("D*-"); | |
95 | static EvtId D0=EvtPDL::getId("D0"); | |
96 | static EvtId D0B=EvtPDL::getId("anti-D0"); | |
97 | static EvtId DP=EvtPDL::getId("D+"); | |
98 | static EvtId DM=EvtPDL::getId("D-"); | |
99 | ||
100 | static EvtId D1P1P=EvtPDL::getId("D_1+"); | |
101 | static EvtId D1P1N=EvtPDL::getId("D_1-"); | |
102 | static EvtId D1P10=EvtPDL::getId("D_10"); | |
103 | static EvtId D1P1B=EvtPDL::getId("anti-D_10"); | |
104 | ||
105 | static EvtId D3P2P=EvtPDL::getId("D_2*+"); | |
106 | static EvtId D3P2N=EvtPDL::getId("D_2*-"); | |
107 | static EvtId D3P20=EvtPDL::getId("D_2*0"); | |
108 | static EvtId D3P2B=EvtPDL::getId("anti-D_2*0"); | |
109 | ||
110 | static EvtId D3P1P=EvtPDL::getId("D'_1+"); | |
111 | static EvtId D3P1N=EvtPDL::getId("D'_1-"); | |
112 | static EvtId D3P10=EvtPDL::getId("D'_10"); | |
113 | static EvtId D3P1B=EvtPDL::getId("anti-D'_10"); | |
114 | ||
115 | static EvtId D3P0P=EvtPDL::getId("D_0*+"); | |
116 | static EvtId D3P0N=EvtPDL::getId("D_0*-"); | |
117 | static EvtId D3P00=EvtPDL::getId("D_0*0"); | |
118 | static EvtId D3P0B=EvtPDL::getId("anti-D_0*0"); | |
119 | ||
120 | static EvtId D21S0P=EvtPDL::getId("D(2S)+"); | |
121 | static EvtId D21S0N=EvtPDL::getId("D(2S)-"); | |
122 | static EvtId D21S00=EvtPDL::getId("D(2S)0"); | |
123 | static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0"); | |
124 | ||
125 | static EvtId D23S1P=EvtPDL::getId("D*(2S)+"); | |
126 | static EvtId D23S1N=EvtPDL::getId("D*(2S)-"); | |
127 | static EvtId D23S10=EvtPDL::getId("D*(2S)0"); | |
128 | static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0"); | |
129 | ||
130 | static EvtId RHO2S0=EvtPDL::getId("rho(2S)0"); | |
131 | static EvtId RHO2SP=EvtPDL::getId("rho(2S)+"); | |
132 | static EvtId RHO2SM=EvtPDL::getId("rho(2S)-"); | |
133 | static EvtId OMEG2S=EvtPDL::getId("omega(2S)"); | |
134 | static EvtId ETA2S=EvtPDL::getId("eta(2S)"); | |
135 | ||
136 | static EvtId PI2S0=EvtPDL::getId("pi(2S)0"); | |
137 | static EvtId PI2SP=EvtPDL::getId("pi(2S)+"); | |
138 | static EvtId PI2SM=EvtPDL::getId("pi(2S)-"); | |
139 | ||
140 | static EvtId PIP=EvtPDL::getId("pi+"); | |
141 | static EvtId PIM=EvtPDL::getId("pi-"); | |
142 | static EvtId PI0=EvtPDL::getId("pi0"); | |
143 | ||
144 | static EvtId RHOP=EvtPDL::getId("rho+"); | |
145 | static EvtId RHOM=EvtPDL::getId("rho-"); | |
146 | static EvtId RHO0=EvtPDL::getId("rho0"); | |
147 | ||
148 | static EvtId A2P=EvtPDL::getId("a_2+"); | |
149 | static EvtId A2M=EvtPDL::getId("a_2-"); | |
150 | static EvtId A20=EvtPDL::getId("a_20"); | |
151 | ||
152 | static EvtId A1P=EvtPDL::getId("a_1+"); | |
153 | static EvtId A1M=EvtPDL::getId("a_1-"); | |
154 | static EvtId A10=EvtPDL::getId("a_10"); | |
155 | ||
156 | static EvtId A0P=EvtPDL::getId("a_0+"); | |
157 | static EvtId A0M=EvtPDL::getId("a_0-"); | |
158 | static EvtId A00=EvtPDL::getId("a_00"); | |
159 | ||
160 | static EvtId B1P=EvtPDL::getId("b_1+"); | |
161 | static EvtId B1M=EvtPDL::getId("b_1-"); | |
162 | static EvtId B10=EvtPDL::getId("b_10"); | |
163 | ||
164 | static EvtId H1=EvtPDL::getId("h_1"); | |
165 | static EvtId H1PR=EvtPDL::getId("h'_1"); | |
166 | ||
167 | static EvtId F1=EvtPDL::getId("f_1"); | |
168 | static EvtId F1PR=EvtPDL::getId("f'_1"); | |
169 | static EvtId F0=EvtPDL::getId("f_0"); | |
170 | static EvtId F0PR=EvtPDL::getId("f'_0"); | |
171 | static EvtId F2=EvtPDL::getId("f_2"); | |
172 | static EvtId F2PR=EvtPDL::getId("f'_2"); | |
173 | ||
174 | static EvtId ETA=EvtPDL::getId("eta"); | |
175 | static EvtId ETAPR=EvtPDL::getId("eta'"); | |
176 | static EvtId OMEG=EvtPDL::getId("omega"); | |
177 | ||
178 | static EvtId KP=EvtPDL::getId("K+"); | |
179 | static EvtId KM=EvtPDL::getId("K-"); | |
180 | static EvtId K0=EvtPDL::getId("K0"); | |
181 | static EvtId KB=EvtPDL::getId("anti-K0"); | |
182 | static EvtId K0S=EvtPDL::getId("K_S0"); | |
183 | static EvtId K0L=EvtPDL::getId("K_L0"); | |
184 | ||
185 | static EvtId KSTP=EvtPDL::getId("K*+"); | |
186 | static EvtId KSTM=EvtPDL::getId("K*-"); | |
187 | static EvtId KST0=EvtPDL::getId("K*0"); | |
188 | static EvtId KSTB=EvtPDL::getId("anti-K*0"); | |
189 | ||
190 | static EvtId K1P=EvtPDL::getId("K_1+"); | |
191 | static EvtId K1M=EvtPDL::getId("K_1-"); | |
192 | static EvtId K10=EvtPDL::getId("K_10"); | |
193 | static EvtId K1B=EvtPDL::getId("anti-K_10"); | |
194 | ||
195 | static EvtId K1STP=EvtPDL::getId("K'_1+"); | |
196 | static EvtId K1STM=EvtPDL::getId("K'_1-"); | |
197 | static EvtId K1ST0=EvtPDL::getId("K'_10"); | |
198 | static EvtId K1STB=EvtPDL::getId("anti-K'_10"); | |
199 | ||
200 | static EvtId K2STP=EvtPDL::getId("K_2*+"); | |
201 | static EvtId K2STM=EvtPDL::getId("K_2*-"); | |
202 | static EvtId K2ST0=EvtPDL::getId("K_2*0"); | |
203 | static EvtId K2STB=EvtPDL::getId("anti-K_2*0"); | |
204 | ||
da0e9ce3 | 205 | static EvtId PHI=EvtPDL::getId("phi"); |
206 | static EvtId DSP=EvtPDL::getId("D_s+"); | |
207 | static EvtId DSM=EvtPDL::getId("D_s-"); | |
208 | ||
209 | static EvtId DSSTP=EvtPDL::getId("D_s*+"); | |
210 | static EvtId DSSTM=EvtPDL::getId("D_s*-"); | |
211 | static EvtId DS1P=EvtPDL::getId("D_s1+"); | |
212 | static EvtId DS1M=EvtPDL::getId("D_s1-"); | |
213 | static EvtId DS0STP=EvtPDL::getId("D_s0*+"); | |
214 | static EvtId DS0STM=EvtPDL::getId("D_s0*-"); | |
215 | static EvtId DPS1P=EvtPDL::getId("D'_s1+"); | |
216 | static EvtId DPS1M=EvtPDL::getId("D'_s1-"); | |
217 | static EvtId DS2STP=EvtPDL::getId("D_s2*+"); | |
218 | static EvtId DS2STM=EvtPDL::getId("D_s2*-"); | |
219 | ||
220 | ||
221 | EvtId parnum,mesnum,lnum; | |
222 | ||
223 | parnum = getParentId(); | |
224 | mesnum = getDaug(0); | |
225 | lnum = getDaug(1); | |
226 | ||
227 | ||
228 | if ( parnum==BP||parnum==BM||parnum==B0||parnum==B0B||parnum==BS0||parnum==BSB ) { | |
229 | ||
230 | if ( mesnum==DST0||mesnum==DSTP||mesnum==DSTB||mesnum==DSTM||mesnum==DSSTP||mesnum==DSSTM) { | |
231 | ||
232 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
233 | setProbMax(10000.0); | |
234 | return; | |
235 | } | |
236 | if ( lnum==TAUP||lnum==TAUM ) { | |
237 | setProbMax(7000.0); | |
238 | return; | |
239 | } | |
240 | } | |
241 | ||
242 | ||
243 | if ( mesnum==D0||mesnum==DP||mesnum==D0B||mesnum==DM||mesnum==DSP||mesnum==DSM) { | |
244 | ||
245 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
246 | setProbMax(4000.0); | |
247 | return; | |
248 | } | |
249 | if ( lnum==TAUP||lnum==TAUM ) { | |
250 | setProbMax(3500.0); | |
251 | return; | |
252 | } | |
253 | } | |
254 | ||
255 | ||
256 | if ( mesnum==D1P1P||mesnum==D1P1N||mesnum==D1P10||mesnum==D1P1B||mesnum==DS1P||mesnum==DS1M) { | |
257 | ||
258 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
259 | setProbMax(1300.0); | |
260 | return; | |
261 | } | |
262 | if ( lnum==TAUP||lnum==TAUM ) { | |
263 | setProbMax(480.0); | |
264 | return; | |
265 | } | |
266 | } | |
267 | ||
268 | if ( mesnum==D3P1P||mesnum==D3P1N||mesnum==D3P10||mesnum==D3P1B||mesnum==DS0STP||mesnum==DS0STM) { | |
269 | ||
270 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
271 | setProbMax(450.0); | |
272 | return; | |
273 | } | |
274 | if ( lnum==TAUP||lnum==TAUM ) { | |
275 | setProbMax(73.0);//??? | |
276 | return; | |
277 | } | |
278 | } | |
279 | ||
280 | if ( mesnum==D3P0P||mesnum==D3P0N||mesnum==D3P00||mesnum==D3P0B||mesnum==DPS1P||mesnum==DPS1M) { | |
281 | ||
282 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
283 | setProbMax(200.0); | |
284 | return; | |
285 | } | |
286 | if ( lnum==TAUP||lnum==TAUM ) { | |
287 | setProbMax(90.0); | |
288 | return; | |
289 | } | |
290 | } | |
291 | if ( mesnum==D3P2P||mesnum==D3P2N||mesnum==D3P20||mesnum==D3P2B||mesnum==DS2STP||mesnum==DS2STM) { | |
292 | ||
293 | if ( mesnum==DS2STP|| mesnum==DS2STM) { | |
294 | setProbMax(550.0); | |
295 | return; | |
296 | } | |
297 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
298 | setProbMax(400.0); | |
299 | return; | |
300 | } | |
301 | if ( lnum==TAUP||lnum==TAUM ) { | |
302 | setProbMax(220.0); | |
303 | return; | |
304 | } | |
305 | } | |
306 | ||
307 | if ( mesnum==D21S0P||mesnum==D21S0N||mesnum==D21S00||mesnum==D21S0B) { | |
308 | ||
309 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
310 | setProbMax(16.0); | |
311 | return; | |
312 | } | |
313 | if ( lnum==TAUP||lnum==TAUM ) { | |
314 | setProbMax(3.0); | |
315 | return; | |
316 | } | |
317 | } | |
318 | ||
319 | if ( mesnum==D23S1P||mesnum==D23S1N||mesnum==D23S10||mesnum==D23S1B) { | |
320 | ||
321 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
322 | setProbMax(500.0); | |
323 | return; | |
324 | } | |
325 | if ( lnum==TAUP||lnum==TAUM ) { | |
326 | setProbMax(250.0); | |
327 | return; | |
328 | } | |
329 | } | |
330 | ||
331 | if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) { | |
332 | ||
333 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
334 | setProbMax(6500.0); | |
335 | return; | |
336 | } | |
337 | if ( lnum==TAUP||lnum==TAUM ) { | |
338 | setProbMax(6000.0); | |
339 | return; | |
340 | } | |
341 | } | |
342 | ||
343 | if ( mesnum==OMEG) { | |
344 | ||
345 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
346 | setProbMax(6800.0); | |
347 | return; | |
348 | } | |
349 | if ( lnum==TAUP||lnum==TAUM ) { | |
350 | setProbMax(6000.0); | |
351 | return; | |
352 | } | |
353 | } | |
354 | ||
355 | if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) { | |
356 | ||
357 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
358 | setProbMax(1200.0); | |
359 | return; | |
360 | } | |
361 | if ( lnum==TAUP||lnum==TAUM ) { | |
362 | setProbMax(1150.0); | |
363 | return; | |
364 | } | |
365 | } | |
366 | ||
367 | if ( mesnum==ETA) { | |
368 | ||
369 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
370 | setProbMax(1800.0); | |
371 | return; | |
372 | } | |
373 | if ( lnum==TAUP||lnum==TAUM ) { | |
374 | setProbMax(1900.0); | |
375 | return; | |
376 | } | |
377 | } | |
378 | ||
379 | if ( mesnum==ETAPR) { | |
380 | ||
381 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
382 | setProbMax(3000.0); | |
383 | return; | |
384 | } | |
385 | if ( lnum==TAUP||lnum==TAUM ) { | |
386 | setProbMax(3000.0); | |
387 | return; | |
388 | } | |
389 | } | |
390 | ||
391 | ||
392 | if ( mesnum==B1P||mesnum==B1M||mesnum==B10) { | |
393 | ||
394 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
395 | setProbMax(2500.0); | |
396 | return; | |
397 | } | |
398 | if ( lnum==TAUP||lnum==TAUM ) { | |
399 | setProbMax(1700.0); | |
400 | return; | |
401 | } | |
402 | } | |
403 | ||
404 | if ( mesnum==A0P||mesnum==A0M||mesnum==A00) { | |
405 | ||
406 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
407 | setProbMax(80.0); | |
408 | return; | |
409 | } | |
410 | if ( lnum==TAUP||lnum==TAUM ) { | |
411 | setProbMax(62.0); | |
412 | return; | |
413 | } | |
414 | } | |
415 | ||
416 | if ( mesnum==A1P||mesnum==A1M||mesnum==A10) { | |
417 | ||
418 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
419 | setProbMax(4500.0); | |
420 | return; | |
421 | } | |
422 | if ( lnum==TAUP||lnum==TAUM ) { | |
423 | setProbMax(3500.0); | |
424 | return; | |
425 | } | |
426 | } | |
427 | ||
428 | if ( mesnum==A2P||mesnum==A2M||mesnum==A20) { | |
429 | ||
430 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
431 | setProbMax(1200.0); | |
432 | return; | |
433 | } | |
434 | if ( lnum==TAUP||lnum==TAUM ) { | |
435 | setProbMax(1000.0); | |
436 | return; | |
437 | } | |
438 | } | |
439 | ||
440 | if ( mesnum==H1) { | |
441 | ||
442 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
443 | setProbMax(2600.0); | |
444 | return; | |
445 | } | |
446 | if ( lnum==TAUP||lnum==TAUM ) { | |
447 | setProbMax(2900.0); | |
448 | return; | |
449 | } | |
450 | } | |
451 | ||
452 | if ( mesnum==H1PR) { | |
453 | ||
454 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
455 | setProbMax(1400.0); | |
456 | return; | |
457 | } | |
458 | if ( lnum==TAUP||lnum==TAUM ) { | |
459 | setProbMax(1500.0); | |
460 | return; | |
461 | } | |
462 | } | |
463 | ||
464 | if ( mesnum==F2) { | |
465 | ||
466 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
467 | setProbMax(1100.0); | |
468 | return; | |
469 | } | |
470 | if ( lnum==TAUP||lnum==TAUM ) { | |
471 | setProbMax(1100.0); | |
472 | return; | |
473 | } | |
474 | } | |
475 | ||
476 | if ( mesnum==F2PR) { | |
477 | ||
478 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
479 | setProbMax(804.0); | |
480 | return; | |
481 | } | |
482 | if ( lnum==TAUP||lnum==TAUM ) { | |
483 | setProbMax(600.0); | |
484 | return; | |
485 | } | |
486 | } | |
487 | ||
488 | if ( mesnum==F1) { | |
489 | ||
490 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
491 | setProbMax(2500.0); | |
492 | return; | |
493 | } | |
494 | if ( lnum==TAUP||lnum==TAUM ) { | |
495 | setProbMax(2000.0) ; | |
496 | return; | |
497 | } | |
498 | } | |
499 | ||
500 | if ( mesnum==F1PR) { | |
501 | ||
502 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
503 | setProbMax(2400.0); | |
504 | return; | |
505 | } | |
506 | if ( lnum==TAUP||lnum==TAUM ) { | |
507 | setProbMax(1700.0); | |
508 | return; | |
509 | } | |
510 | } | |
511 | ||
512 | if ( mesnum==F0) { | |
513 | ||
514 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
515 | setProbMax( 80.0); | |
516 | return; | |
517 | } | |
518 | if ( lnum==TAUP||lnum==TAUM ) { | |
519 | setProbMax(63.0); | |
520 | return; | |
521 | } | |
522 | } | |
523 | ||
524 | if ( mesnum==F0PR) { | |
525 | ||
526 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
527 | setProbMax(120.0); | |
528 | return; | |
529 | } | |
530 | if ( lnum==TAUP||lnum==TAUM ) { | |
531 | setProbMax(120.0); | |
532 | return; | |
533 | } | |
534 | } | |
535 | ||
536 | ||
537 | if ( mesnum==RHO2SP||mesnum==RHO2SM||mesnum==RHO2S0) { | |
538 | ||
539 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
540 | setProbMax( 2400.0); | |
541 | return; | |
542 | } | |
543 | if ( lnum==TAUP||lnum==TAUM ) { | |
544 | setProbMax(2000.0); | |
545 | return; | |
546 | } | |
547 | } | |
548 | ||
549 | if ( mesnum==OMEG2S) { | |
550 | ||
551 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
552 | setProbMax(1600.0); | |
553 | return; | |
554 | } | |
555 | if ( lnum==TAUP||lnum==TAUM ) { | |
556 | setProbMax(1400.0) ; | |
557 | return; | |
558 | } | |
559 | } | |
560 | ||
561 | if ( mesnum==PI2SP||mesnum==PI2SM||mesnum==PI2S0) { | |
562 | ||
563 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
564 | setProbMax( 500.0); | |
565 | return; | |
566 | } | |
567 | if ( lnum==TAUP||lnum==TAUM ) { | |
568 | setProbMax(300.0); | |
569 | return; | |
570 | } | |
571 | } | |
572 | ||
573 | if ( mesnum==ETA2S) { | |
574 | ||
575 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
576 | setProbMax(344.0); | |
577 | return; | |
578 | } | |
579 | if ( lnum==TAUP||lnum==TAUM ) { | |
580 | setProbMax(300.0); | |
581 | return; | |
582 | } | |
583 | } | |
584 | ||
585 | if ( mesnum==KP||mesnum==KM|| | |
586 | mesnum==K1P||mesnum==K1M||mesnum==K1STP||mesnum==K1STM) { | |
587 | ||
588 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
589 | setProbMax(2000.0); | |
590 | return; | |
591 | } | |
592 | if ( lnum==TAUP||lnum==TAUM ) { | |
593 | setProbMax(1000.0); | |
594 | return; | |
595 | } | |
596 | } | |
597 | ||
598 | if ( mesnum==KSTP||mesnum==KSTM ) { | |
599 | ||
600 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
601 | setProbMax(10000.0); | |
602 | return; | |
603 | } | |
604 | if ( lnum==TAUP||lnum==TAUM ) { | |
605 | setProbMax(7000.0); | |
606 | return; | |
607 | } | |
608 | } | |
609 | ||
610 | ||
611 | } | |
612 | ||
613 | if ( parnum==D0||parnum==DP||parnum==DM||parnum==D0B ) { | |
614 | ||
615 | ||
616 | if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) { | |
617 | ||
618 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
619 | setProbMax(110.0); | |
620 | return; | |
621 | } | |
622 | } | |
623 | ||
624 | if ( mesnum==OMEG) { | |
625 | ||
626 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
627 | setProbMax(75.0); | |
628 | return; | |
629 | } | |
630 | } | |
631 | ||
632 | if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) { | |
633 | ||
634 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
635 | setProbMax(40.0); | |
636 | return; | |
637 | } | |
638 | } | |
639 | ||
640 | if ( mesnum==ETA) { | |
641 | ||
642 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
643 | setProbMax( 65.0); | |
644 | return; | |
645 | } | |
646 | } | |
647 | ||
648 | if ( mesnum==ETAPR) { | |
649 | ||
650 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
651 | setProbMax( 60.0); | |
652 | return; | |
653 | } | |
654 | } | |
655 | ||
656 | if ( mesnum==KP||mesnum==KM||mesnum==K0|| | |
657 | mesnum==K0S||mesnum==K0L||mesnum==KB) { | |
658 | ||
659 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
660 | setProbMax( 70.0); | |
661 | return; | |
662 | } | |
663 | } | |
664 | ||
665 | if ( mesnum==K1STP||mesnum==K1STM||mesnum==K1ST0||mesnum==K1STB) { | |
666 | ||
667 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
668 | setProbMax( 3.3); | |
669 | return; | |
670 | } | |
671 | } | |
672 | ||
673 | if ( mesnum==K1P||mesnum==K1M||mesnum==K10||mesnum==K1B) { | |
674 | ||
675 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
676 | setProbMax( 100.0); | |
677 | return; | |
678 | } | |
679 | } | |
680 | ||
681 | if ( mesnum==KSTP||mesnum==KSTM||mesnum==KST0||mesnum==KSTB) { | |
682 | ||
683 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
684 | setProbMax( 135.0); | |
685 | return; | |
686 | } | |
687 | } | |
688 | ||
689 | if ( mesnum==K2STP||mesnum==K2STM||mesnum==K2ST0||mesnum==K2STB) { | |
690 | ||
691 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
692 | //Lange - Oct 26,2001 - increasing from 0.75 to | |
693 | //accomodate | |
694 | setProbMax( 9.0); | |
695 | // setProbMax( 0.75); | |
696 | return; | |
697 | } | |
698 | } | |
699 | ||
700 | if ( mesnum==F0) { | |
701 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
702 | setProbMax(1.0); | |
703 | return; | |
704 | } | |
705 | } | |
706 | ||
707 | ||
708 | } | |
709 | ||
710 | if ( parnum==DSP||parnum==DSM ) { | |
711 | ||
712 | ||
713 | if ( mesnum==PHI ) { | |
714 | ||
715 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
716 | setProbMax( 90.0 ); | |
717 | return; | |
718 | } | |
719 | } | |
720 | ||
721 | if ( mesnum==ETA ) { | |
722 | ||
723 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
724 | setProbMax( 75.0 ); | |
725 | return; | |
726 | } | |
727 | } | |
728 | ||
729 | if ( mesnum==ETAPR ) { | |
730 | ||
731 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
732 | setProbMax( 80.0) ; | |
733 | return; | |
734 | } | |
735 | } | |
736 | ||
737 | if ( mesnum==KST0||mesnum==KSTB ) { | |
738 | ||
739 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
740 | setProbMax( 100.0) ; | |
741 | return; | |
742 | } | |
743 | } | |
744 | ||
745 | ||
746 | if ( mesnum==K0 || mesnum==KB || mesnum==K0S || mesnum==K0L ) { | |
747 | ||
748 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
749 | setProbMax( 45.0 ); | |
750 | return; | |
751 | } | |
752 | } | |
753 | ||
754 | if ( mesnum==F0) { | |
755 | if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) { | |
756 | setProbMax(1.0); | |
757 | return; | |
758 | } | |
759 | } | |
760 | ||
761 | ||
762 | } | |
763 | ||
764 | if ( parnum==BCP||parnum==BCM ) { | |
765 | setProbMax(1000.0 ); | |
766 | return; | |
767 | } | |
768 | ||
769 | ||
770 | ||
771 | //This is a real cludge.. (ryd) | |
772 | setProbMax(0.0); | |
773 | ||
774 | } | |
775 | ||
776 | void EvtISGW2::init(){ | |
777 | ||
778 | checkNArg(0); | |
779 | checkNDaug(3); | |
780 | ||
781 | //We expect the parent to be a scalar | |
782 | //and the daughters to be X lepton neutrino | |
783 | ||
784 | checkSpinParent(EvtSpinType::SCALAR); | |
785 | checkSpinDaughter(1,EvtSpinType::DIRAC); | |
786 | checkSpinDaughter(2,EvtSpinType::NEUTRINO); | |
787 | ||
788 | EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0)); | |
789 | ||
790 | isgw2ffmodel = new EvtISGW2FF; | |
791 | ||
792 | if ( mesontype==EvtSpinType::SCALAR ) { | |
793 | calcamp = new EvtSemiLeptonicScalarAmp; | |
794 | } | |
795 | if ( mesontype==EvtSpinType::VECTOR ) { | |
796 | calcamp = new EvtSemiLeptonicVectorAmp; | |
797 | } | |
798 | if ( mesontype==EvtSpinType::TENSOR ) { | |
799 | calcamp = new EvtSemiLeptonicTensorAmp; | |
800 | } | |
801 | ||
802 | } | |
803 | ||
804 | ||
805 | ||
806 | ||
807 | ||
808 | ||
809 |