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