]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtISGW2.cxx
Removing the flat makefiles
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtISGW2.cxx
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
205   static EvtId K0STP=EvtPDL::getId("K_0*+");
206   static EvtId K0STM=EvtPDL::getId("K_0*-");
207   static EvtId K0ST0=EvtPDL::getId("K_0*0");
208   static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
209
210   static EvtId PHI=EvtPDL::getId("phi");
211   static EvtId DSP=EvtPDL::getId("D_s+");
212   static EvtId DSM=EvtPDL::getId("D_s-");
213
214   static EvtId DSSTP=EvtPDL::getId("D_s*+");
215   static EvtId DSSTM=EvtPDL::getId("D_s*-");
216   static EvtId DS1P=EvtPDL::getId("D_s1+");
217   static EvtId DS1M=EvtPDL::getId("D_s1-");
218   static EvtId DS0STP=EvtPDL::getId("D_s0*+");
219   static EvtId DS0STM=EvtPDL::getId("D_s0*-");
220   static EvtId DPS1P=EvtPDL::getId("D'_s1+");
221   static EvtId DPS1M=EvtPDL::getId("D'_s1-");
222   static EvtId DS2STP=EvtPDL::getId("D_s2*+");
223   static EvtId DS2STM=EvtPDL::getId("D_s2*-");
224
225
226 EvtId parnum,mesnum,lnum;
227
228 parnum = getParentId();
229 mesnum = getDaug(0);
230 lnum = getDaug(1);
231
232
233 if ( parnum==BP||parnum==BM||parnum==B0||parnum==B0B||parnum==BS0||parnum==BSB ) {
234
235   if ( mesnum==DST0||mesnum==DSTP||mesnum==DSTB||mesnum==DSTM||mesnum==DSSTP||mesnum==DSSTM) {
236
237     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
238        setProbMax(10000.0);
239        return;
240     }
241     if ( lnum==TAUP||lnum==TAUM ) {
242        setProbMax(7000.0);
243        return;
244     }
245   }
246
247
248   if ( mesnum==D0||mesnum==DP||mesnum==D0B||mesnum==DM||mesnum==DSP||mesnum==DSM) {
249
250     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
251        setProbMax(4000.0);
252        return;
253     }
254     if ( lnum==TAUP||lnum==TAUM ) {
255        setProbMax(3500.0);
256        return;
257     }
258   }
259
260
261   if ( mesnum==D1P1P||mesnum==D1P1N||mesnum==D1P10||mesnum==D1P1B||mesnum==DS1P||mesnum==DS1M) {
262
263     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
264        setProbMax(1300.0);
265        return;
266     }
267     if ( lnum==TAUP||lnum==TAUM ) {
268        setProbMax(480.0);
269        return;
270     }
271   }
272
273   if ( mesnum==D3P1P||mesnum==D3P1N||mesnum==D3P10||mesnum==D3P1B||mesnum==DS0STP||mesnum==DS0STM) {
274
275     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
276        setProbMax(450.0);
277        return;
278     }
279     if ( lnum==TAUP||lnum==TAUM ) {
280       setProbMax(73.0);//???
281        return;
282     }
283   }
284
285   if ( mesnum==D3P0P||mesnum==D3P0N||mesnum==D3P00||mesnum==D3P0B||mesnum==DPS1P||mesnum==DPS1M) {
286
287     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
288        setProbMax(200.0);
289        return;
290     }
291     if ( lnum==TAUP||lnum==TAUM ) {
292        setProbMax(90.0);
293        return;
294     }
295   }
296   if ( mesnum==D3P2P||mesnum==D3P2N||mesnum==D3P20||mesnum==D3P2B||mesnum==DS2STP||mesnum==DS2STM) {
297
298     if ( mesnum==DS2STP|| mesnum==DS2STM) {
299       setProbMax(550.0);
300       return;
301     }
302     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
303        setProbMax(400.0);
304        return;
305     }
306     if ( lnum==TAUP||lnum==TAUM ) {
307        setProbMax(220.0);
308        return;
309     }
310   }
311
312   if ( mesnum==D21S0P||mesnum==D21S0N||mesnum==D21S00||mesnum==D21S0B) {
313
314     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
315        setProbMax(16.0);
316        return;
317     }
318     if ( lnum==TAUP||lnum==TAUM ) {
319        setProbMax(3.0);
320        return;
321     }
322   }
323
324   if ( mesnum==D23S1P||mesnum==D23S1N||mesnum==D23S10||mesnum==D23S1B) {
325
326     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
327        setProbMax(500.0);
328        return;
329     }
330     if ( lnum==TAUP||lnum==TAUM ) {
331        setProbMax(250.0);
332        return;
333     }
334   }
335
336   if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
337
338     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
339        setProbMax(6500.0);
340        return;
341     }
342     if ( lnum==TAUP||lnum==TAUM ) {
343        setProbMax(6000.0);
344        return;
345     }
346   }
347
348   if ( mesnum==OMEG) {
349
350     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
351        setProbMax(6800.0);
352        return;
353     }
354     if ( lnum==TAUP||lnum==TAUM ) {
355        setProbMax(6000.0);
356        return;
357     }
358   }
359
360   if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
361
362     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
363        setProbMax(1200.0);
364        return;
365     }
366     if ( lnum==TAUP||lnum==TAUM ) {
367        setProbMax(1150.0);
368        return;
369     }
370   }
371
372   if ( mesnum==ETA) {
373
374     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
375        setProbMax(1800.0);
376        return;
377     }
378     if ( lnum==TAUP||lnum==TAUM ) {
379        setProbMax(1900.0);
380        return;
381     }
382   }
383
384   if ( mesnum==ETAPR) {
385
386     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
387        setProbMax(3000.0);
388        return;
389     } 
390     if ( lnum==TAUP||lnum==TAUM ) {
391        setProbMax(3000.0);
392        return;
393     }
394   }
395
396
397   if ( mesnum==B1P||mesnum==B1M||mesnum==B10) {
398
399     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
400        setProbMax(2500.0);
401        return;
402     }
403     if ( lnum==TAUP||lnum==TAUM ) {
404        setProbMax(1700.0);
405        return;
406     }
407   }
408
409   if ( mesnum==A0P||mesnum==A0M||mesnum==A00) {
410
411     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
412        setProbMax(80.0);
413        return;
414     }
415     if ( lnum==TAUP||lnum==TAUM ) {
416        setProbMax(62.0);
417        return;
418     }
419   }
420
421   if ( mesnum==A1P||mesnum==A1M||mesnum==A10) {
422
423     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
424        setProbMax(4500.0);
425        return;
426     }
427     if ( lnum==TAUP||lnum==TAUM ) {
428        setProbMax(3500.0);
429        return;
430     }
431   }
432
433   if ( mesnum==A2P||mesnum==A2M||mesnum==A20) {
434
435     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
436        setProbMax(1200.0);
437        return;
438     }
439     if ( lnum==TAUP||lnum==TAUM ) {
440        setProbMax(1000.0);
441        return;
442     }
443   }
444
445   if ( mesnum==H1) {
446
447     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
448        setProbMax(2600.0);
449        return;
450     }
451     if ( lnum==TAUP||lnum==TAUM ) {
452        setProbMax(2900.0);
453        return;
454     }
455   }
456
457   if ( mesnum==H1PR) {
458
459     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
460        setProbMax(1400.0);
461        return;
462     }
463     if ( lnum==TAUP||lnum==TAUM ) {
464        setProbMax(1500.0);
465        return;
466     }
467   }
468
469   if ( mesnum==F2) {
470
471     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
472        setProbMax(1100.0);
473        return;
474     }
475     if ( lnum==TAUP||lnum==TAUM ) {
476        setProbMax(1100.0);
477        return;
478     }
479   }
480
481   if ( mesnum==F2PR) {
482
483     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
484        setProbMax(804.0);
485        return;
486     }
487     if ( lnum==TAUP||lnum==TAUM ) {
488        setProbMax(600.0);
489        return;
490     }
491   }
492
493   if ( mesnum==F1) {
494
495     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
496        setProbMax(2500.0);
497        return;
498     }
499     if ( lnum==TAUP||lnum==TAUM ) {
500        setProbMax(2000.0) ;
501        return;
502     }
503   }
504
505   if ( mesnum==F1PR) {
506
507     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
508        setProbMax(2400.0);
509        return;
510     }
511     if ( lnum==TAUP||lnum==TAUM ) {
512        setProbMax(1700.0);
513        return;
514     }
515   }
516
517   if ( mesnum==F0) {
518
519     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
520        setProbMax( 80.0);
521        return;
522     }
523     if ( lnum==TAUP||lnum==TAUM ) {
524        setProbMax(63.0);
525        return;
526     }
527   }
528
529   if ( mesnum==F0PR) {
530
531     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
532        setProbMax(120.0);
533        return;
534     }
535     if ( lnum==TAUP||lnum==TAUM ) {
536        setProbMax(120.0);
537        return;
538     }
539   }
540
541
542   if ( mesnum==RHO2SP||mesnum==RHO2SM||mesnum==RHO2S0) {
543
544     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
545        setProbMax( 2400.0);
546        return;
547     }
548     if ( lnum==TAUP||lnum==TAUM ) {
549        setProbMax(2000.0);
550        return;
551     }
552   }
553
554   if ( mesnum==OMEG2S) {
555
556     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
557        setProbMax(1600.0);
558        return;
559     }
560     if ( lnum==TAUP||lnum==TAUM ) {
561        setProbMax(1400.0) ;
562        return;
563     }
564   }
565
566   if ( mesnum==PI2SP||mesnum==PI2SM||mesnum==PI2S0) {
567
568     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
569        setProbMax( 500.0);
570        return;
571     }
572     if ( lnum==TAUP||lnum==TAUM ) {
573        setProbMax(300.0);
574        return;
575     }
576   }
577
578   if ( mesnum==ETA2S) {
579
580     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
581        setProbMax(344.0);
582        return;
583     }
584     if ( lnum==TAUP||lnum==TAUM ) {
585        setProbMax(300.0);
586        return;
587     }
588   }
589
590    if ( mesnum==KP||mesnum==KM||
591         mesnum==K1P||mesnum==K1M||mesnum==K1STP||mesnum==K1STM) {
592
593      if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
594         setProbMax(2000.0);
595         return;
596      }
597      if ( lnum==TAUP||lnum==TAUM ) {
598         setProbMax(1000.0);
599         return;
600      }
601    }
602
603    if ( mesnum==KSTP||mesnum==KSTM ) {
604
605      if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
606         setProbMax(10000.0);
607         return;
608      }
609      if ( lnum==TAUP||lnum==TAUM ) {
610         setProbMax(7000.0);
611         return;
612      }
613    }
614
615
616 }
617
618 if ( parnum==D0||parnum==DP||parnum==DM||parnum==D0B ) {
619
620
621   if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
622
623     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
624        setProbMax(110.0);
625        return;
626     }
627   }
628
629   if ( mesnum==OMEG) {
630
631     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
632        setProbMax(75.0);
633        return;
634     }
635   }
636
637   if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
638
639     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
640        setProbMax(40.0);
641        return;
642     }
643   }
644
645   if ( mesnum==ETA) {
646
647     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
648        setProbMax( 65.0);
649        return;
650     }
651   }
652
653   if ( mesnum==ETAPR) {
654
655     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
656        setProbMax( 60.0);
657        return;
658     }
659   }
660
661   if ( mesnum==KP||mesnum==KM||mesnum==K0||
662        mesnum==K0S||mesnum==K0L||mesnum==KB) {
663
664     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
665        setProbMax( 70.0);
666        return;
667     }
668   }
669
670   if ( mesnum==K1STP||mesnum==K1STM||mesnum==K1ST0||mesnum==K1STB) {
671
672     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
673        setProbMax( 3.3);
674        return;
675     }
676   }
677
678   if ( mesnum==K1P||mesnum==K1M||mesnum==K10||mesnum==K1B) {
679
680     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
681        setProbMax( 100.0);
682        return;
683     }
684   }
685
686   if ( mesnum==KSTP||mesnum==KSTM||mesnum==KST0||mesnum==KSTB) {
687
688     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
689        setProbMax( 135.0);
690        return;
691     }
692   }
693
694   if ( mesnum==K2STP||mesnum==K2STM||mesnum==K2ST0||mesnum==K2STB) {
695
696     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
697       //Lange - Oct 26,2001 - increasing from 0.75 to 
698       //accomodate
699       setProbMax( 9.0);
700       // setProbMax( 0.75);
701        return;
702     }
703   }
704
705   if ( mesnum==F0) {
706     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
707        setProbMax(1.0);
708        return;
709     }
710   }
711
712
713 }
714
715 if ( parnum==DSP||parnum==DSM ) {
716
717
718   if ( mesnum==PHI ) {
719
720     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
721        setProbMax( 90.0 );
722        return;
723     }
724   }
725
726   if ( mesnum==ETA ) {
727
728     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
729        setProbMax( 75.0 );
730        return;
731     }
732   }
733
734   if ( mesnum==ETAPR ) {
735
736     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
737        setProbMax( 80.0) ;
738        return;
739     }
740   }
741
742   if ( mesnum==KST0||mesnum==KSTB ) {
743
744     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
745       setProbMax( 100.0) ;
746        return;  
747     }
748   }
749
750
751   if ( mesnum==K0 || mesnum==KB || mesnum==K0S || mesnum==K0L ) {
752
753     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
754        setProbMax( 45.0 );
755        return;
756     }
757   }
758
759   if ( mesnum==F0) {
760     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
761       setProbMax(1.0);
762       return;
763     }
764   }
765
766
767 }
768
769 if ( parnum==BCP||parnum==BCM ) {
770    setProbMax(1000.0 );
771    return;
772 }
773
774
775
776 //This is a real cludge.. (ryd)
777  setProbMax(0.0);
778
779 }
780
781 void EvtISGW2::init(){
782
783   checkNArg(0);
784   checkNDaug(3);
785
786   //We expect the parent to be a scalar 
787   //and the daughters to be X lepton neutrino
788
789   checkSpinParent(EvtSpinType::SCALAR);
790   checkSpinDaughter(1,EvtSpinType::DIRAC);
791   checkSpinDaughter(2,EvtSpinType::NEUTRINO);
792
793   EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
794
795   isgw2ffmodel = new EvtISGW2FF;
796   
797   if ( mesontype==EvtSpinType::SCALAR ) { 
798     calcamp = new EvtSemiLeptonicScalarAmp; 
799   }
800   if ( mesontype==EvtSpinType::VECTOR ) { 
801     calcamp = new EvtSemiLeptonicVectorAmp; 
802   }
803   if ( mesontype==EvtSpinType::TENSOR ) { 
804     calcamp = new EvtSemiLeptonicTensorAmp; 
805   }
806   
807 }
808
809
810
811
812
813
814