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