]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtISGW2.cpp
Updates EvtGen Code
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtISGW2.cpp
CommitLineData
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
37EvtISGW2::EvtISGW2():
38 isgw2ffmodel(0)
39 ,calcamp(0)
40{}
41
42
43EvtISGW2::~EvtISGW2() {
44 delete isgw2ffmodel;
45 isgw2ffmodel=0;
46 delete calcamp;
47 calcamp=0;
48}
49
50std::string EvtISGW2::getName(){
51
52 return "ISGW2";
53
54}
55
56
57
58EvtDecayBase* EvtISGW2::clone(){
59
60 return new EvtISGW2;
61
62}
63
64void EvtISGW2::decay( EvtParticle *p ){
65
66 p->initializePhaseSpace(getNDaug(),getDaugs());
67
68 calcamp->CalcAmp(p,_amp2,isgw2ffmodel);
69
70}
71
72void 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
221EvtId parnum,mesnum,lnum;
222
223parnum = getParentId();
224mesnum = getDaug(0);
225lnum = getDaug(1);
226
227
228if ( 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
613if ( 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
710if ( 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
764if ( 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
776void 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