7 SUBROUTINE inietc(jakk1,jakk2,itd,ifpho)
9 COMMON / taurad / xk0dec,itdkrc
10 DOUBLE PRECISION XK0DEC
11 COMMON / jaki / jak1,jak2,jakp,jakm,ktom
12 COMMON /phoact/ ifphot
27 SUBROUTINE tralo4(KTOS,PHOI,PHOF,AM)
31 COMMON / momdec / q1,q2,p1,p2,p3,p4
33 double precision Q1(4),Q2(4),P1(4),P2(4),P3(4),P4(4),P1QQ(4),P2QQ(
34double precision PIN(4),POUT(4),PBST(4),PBS1(4),QQ(4),PI
35 double precision THET,PHI,EXE
36 real*4 phoi(4),phof(4)
38 DATA pi /3.141592653589793238462643d0/
40 $ (phoi(4)**2-phoi(3)**2-phoi(2)**2-phoi(1)**2))
52 ELSEIF(idtra.EQ.2)
THEN
57 ELSEIF(idtra.EQ.3)
THEN
71 CALL bostdq(1,qq,pbst,pbst)
72 CALL bostdq(1,qq,p1,p1qq)
73 CALL bostdq(1,qq,p2,p2qq)
75 pbs1(3)=sqrt(pbst(3)**2+pbst(2)**2+pbst(1)**2)
78 exe=(pbs1(4)+pbs1(3))/dsqrt(pbs1(4)**2-pbs1(3)**2)
82 IF(ktos.EQ.1) exe=(pbs1(4)-pbs1(3))/dsqrt(pbs1(4)**2-pbs1(3)**2)
83 CALL bostd3(exe,pin,pout)
86 thet=acos(p2qq(3)/sqrt(p2qq(3)**2+p2qq(2)**2+p2qq(1)**2))
88 phi=acos(p2qq(1)/sqrt(p2qq(2)**2+p2qq(1)**2))
89 IF(p2qq(2).LT.0d0) phi=2*pi-phi
91 CALL rotpox(thet,phi,pout)
92 CALL bostdq(-1,qq,pout,pout)
98 SUBROUTINE choice(MNUM,RR,ICHAN,PROB1,PROB2,PROB3,
99 $ AMRX,GAMRX,AMRA,GAMRA,AMRB,GAMRB)
100 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
101 * ,ampiz,ampi,amro,gamro,ama1,gama1
102 * ,amk,amkz,amkst,gamkst
104 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
105 * ,ampiz,ampi,amro,gamro,ama1,gama1
106 * ,amk,amkz,amkst,gamkst
122 ELSEIF(mnum.EQ.1)
THEN
131 ELSEIF(mnum.EQ.2)
THEN
140 ELSEIF(mnum.EQ.3)
THEN
149 ELSEIF(mnum.EQ.4)
THEN
158 ELSEIF(mnum.EQ.5)
THEN
167 ELSEIF(mnum.EQ.6)
THEN
176 ELSEIF(mnum.EQ.7)
THEN
185 ELSEIF(mnum.EQ.8)
THEN
194 ELSEIF(mnum.EQ.101)
THEN
203 ELSEIF(mnum.EQ.102)
THEN
223 IF (rr.LE.prob1)
THEN
225 ELSEIF(rr.LE.(prob1+prob2))
THEN
240 prob3=1.0-prob1-prob2
249 COMMON / decpar / gfermi,gv,ga,ccabib,scabib,gamel
250 real*4 gfermi,gv,ga,ccabib,scabib,gamel
251 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
252 * ,ampiz,ampi,amro,gamro,ama1,gama1
253 * ,amk,amkz,amkst,gamkst
255 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
256 * ,ampiz,ampi,amro,gamro,ama1,gama1
257 * ,amk,amkz,amkst,gamkst
258 COMMON / taubra / gamprt(30),jlist(30),nchan
259 COMMON / taukle / bra1,brk0,brk0b,brks
260 real*4 bra1,brk0,brk0b,brks
262 parameter(nmode=15,nm1=0,nm2=1,nm3=8,nm4=2,nm5=1,nm6=3)
263 COMMON / taudcd /idffin(9,nmode),mulpik(nmode)
265 CHARACTER NAMES(NMODE)*31
267 parameter(nmode=15,nm1=0,nm2=1,nm3=8,nm4=2,nm5=1,nm6=3)
268 COMMON / taudcd /idffin(9,nmode),mulpik(nmode)
270 CHARACTER NAMES(NMODE)*31
272 CHARACTER OLDNAMES(7)*31
275 $ bxinit =
'(1x,1h*,g17.8, 16x, a31,a4,a4, 1x,1h*)'
346 dimension nopik(6,nmode),npik(nmode)
357 DATA nopik / -1,-1, 2, 1, 0, 0, 2, 2, 2,-1, 0, 0,
358 1 -1,-1, 1, 2, 2, 0, -1,-1,-1, 1, 1, 0,
359 2 -1,-1,-1, 1, 1, 2, -1,-1, 1, 2, 2, 2,
360 3 -3,-1, 3, 0, 0, 0, 4,-1,-4, 0, 0, 0,
361 4 -3, 2, 4, 0, 0, 0, 2, 2,-3, 0, 0, 0,
362 5 -3,-1, 1, 0, 0, 0, -1,-4, 2, 0, 0, 0,
363 6 9,-1, 2, 0, 0, 0, -1, 2, 8, 0, 0, 0,
365 DATA nopik / -1,-1, 1, 2, 0, 0, 2, 2, 2,-1, 0, 0,
366 1 -1,-1, 1, 2, 2, 0, -1,-1,-1, 1, 1, 0,
367 2 -1,-1,-1, 1, 1, 2, -1,-1, 1, 2, 2, 2,
368 3 -3,-1, 3, 0, 0, 0, -4,-1, 4, 0, 0, 0,
369 4 -3, 2,-4, 0, 0, 0, 2, 2,-3, 0, 0, 0,
370 5 -3,-1, 1, 0, 0, 0, -1, 4, 2, 0, 0, 0,
371 6 9,-1, 2, 0, 0, 0, -1, 2, 8, 0, 0, 0,
375 7 -3,-4, 0, 0, 0, 0 /
377 7 -3, 4, 0, 0, 0, 0 /
385 IF(i.EQ. 1) gamprt(i) = 1.0000
386 IF(i.EQ. 2) gamprt(i) = 1.0000
387 IF(i.EQ. 3) gamprt(i) = 1.0000
388 IF(i.EQ. 4) gamprt(i) = 1.0000
389 IF(i.EQ. 5) gamprt(i) = 1.0000
390 IF(i.EQ. 6) gamprt(i) = 1.0000
391 IF(i.EQ. 7) gamprt(i) = 1.0000
392 IF(i.EQ. 8) gamprt(i) = 1.0000
393 IF(i.EQ. 9) gamprt(i) = 1.0000
394 IF(i.EQ.10) gamprt(i) = 1.0000
395 IF(i.EQ.11) gamprt(i) = 1.0000
396 IF(i.EQ.12) gamprt(i) = 1.0000
397 IF(i.EQ.13) gamprt(i) = 1.0000
398 IF(i.EQ.14) gamprt(i) = 1.0000
399 IF(i.EQ.15) gamprt(i) = 1.0000
400 IF(i.EQ.16) gamprt(i) = 1.0000
401 IF(i.EQ.17) gamprt(i) = 1.0000
402 IF(i.EQ.18) gamprt(i) = 1.0000
403 IF(i.EQ.19) gamprt(i) = 1.0000
404 IF(i.EQ.20) gamprt(i) = 1.0000
405 IF(i.EQ.21) gamprt(i) = 1.0000
406 IF(i.EQ.22) gamprt(i) = 1.0000
408 IF(i.EQ. 1) gamprt(i) =0.1800
409 IF(i.EQ. 2) gamprt(i) =0.1751
410 IF(i.EQ. 3) gamprt(i) =0.1110
411 IF(i.EQ. 4) gamprt(i) =0.2515
412 IF(i.EQ. 5) gamprt(i) =0.1790
413 IF(i.EQ. 6) gamprt(i) =0.0071
414 IF(i.EQ. 7) gamprt(i) =0.0134
415 IF(i.EQ. 8) gamprt(i) =0.0450
416 IF(i.EQ. 9) gamprt(i) =0.0100
417 IF(i.EQ.10) gamprt(i) =0.0009
418 IF(i.EQ.11) gamprt(i) =0.0004
419 IF(i.EQ.12) gamprt(i) =0.0003
420 IF(i.EQ.13) gamprt(i) =0.0005
421 IF(i.EQ.14) gamprt(i) =0.0015
422 IF(i.EQ.15) gamprt(i) =0.0015
423 IF(i.EQ.16) gamprt(i) =0.0015
424 IF(i.EQ.17) gamprt(i) =0.0005
425 IF(i.EQ.18) gamprt(i) =0.0050
426 IF(i.EQ.19) gamprt(i) =0.0055
427 IF(i.EQ.20) gamprt(i) =0.0017
428 IF(i.EQ.21) gamprt(i) =0.0013
429 IF(i.EQ.22) gamprt(i) =0.0010
431 IF(i.EQ. 1) gamprt(i) = 1.0000
432 IF(i.EQ. 2) gamprt(i) = .9732
433 IF(i.EQ. 3) gamprt(i) = .6217
434 IF(i.EQ. 4) gamprt(i) = 1.4221
435 IF(i.EQ. 5) gamprt(i) = 1.0180
436 IF(i.EQ. 6) gamprt(i) = .0405
437 IF(i.EQ. 7) gamprt(i) = .0781
438 IF(i.EQ. 8) gamprt(i) = .2414
439 IF(i.EQ. 9) gamprt(i) = .0601
440 IF(i.EQ.10) gamprt(i) = .0281
441 IF(i.EQ.11) gamprt(i) = .0045
442 IF(i.EQ.12) gamprt(i) = .0010
443 IF(i.EQ.13) gamprt(i) = .0062
444 IF(i.EQ.14) gamprt(i) = .0096
445 IF(i.EQ.15) gamprt(i) = .0169
446 IF(i.EQ.16) gamprt(i) = .0056
447 IF(i.EQ.17) gamprt(i) = .0045
448 IF(i.EQ.18) gamprt(i) = .0219
449 IF(i.EQ.19) gamprt(i) = .0180
450 IF(i.EQ.20) gamprt(i) = .0096
451 IF(i.EQ.21) gamprt(i) = .0088
452 IF(i.EQ.22) gamprt(i) = .0146
455 IF(i.EQ. 1) oldnames(i)=
' TAU- --> E- '
456 IF(i.EQ. 2) oldnames(i)=
' TAU- --> MU- '
457 IF(i.EQ. 3) oldnames(i)=
' TAU- --> PI- '
458 IF(i.EQ. 4) oldnames(i)=
' TAU- --> PI-, PI0 '
459 IF(i.EQ. 5) oldnames(i)=
' TAU- --> A1- (two subch) '
460 IF(i.EQ. 6) oldnames(i)=
' TAU- --> K- '
461 IF(i.EQ. 7) oldnames(i)=
' TAU- --> K*- (two subch) '
462 IF(i.EQ. 8) names(i-7)=
' TAU- --> 2PI-, PI0, PI+ '
463 IF(i.EQ. 9) names(i-7)=
' TAU- --> 3PI0, PI- '
464 IF(i.EQ.10) names(i-7)=
' TAU- --> 2PI-, PI+, 2PI0 '
465 IF(i.EQ.11) names(i-7)=
' TAU- --> 3PI-, 2PI+, '
466 IF(i.EQ.12) names(i-7)=
' TAU- --> 3PI-, 2PI+, PI0 '
467 IF(i.EQ.13) names(i-7)=
' TAU- --> 2PI-, PI+, 3PI0 '
468 IF(i.EQ.14) names(i-7)=
' TAU- --> K-, PI-, K+ '
469 IF(i.EQ.15) names(i-7)=
' TAU- --> K0, PI-, K0B '
471 IF(i.EQ.16) names(i-7)=
' TAU- --> K- PI0 K0 '
473 IF(i.EQ.16) names(i-7)=
' TAU- --> K-, K0, PI0 '
475 IF(i.EQ.17) names(i-7)=
' TAU- --> PI0 PI0 K- '
476 IF(i.EQ.18) names(i-7)=
' TAU- --> K- PI- PI+ '
477 IF(i.EQ.19) names(i-7)=
' TAU- --> PI- K0B PI0 '
478 IF(i.EQ.20) names(i-7)=
' TAU- --> ETA PI- PI0 '
479 IF(i.EQ.21) names(i-7)=
' TAU- --> PI- PI0 GAM '
480 IF(i.EQ.22) names(i-7)=
' TAU- --> K- K0 '
489 idffin(j,i)=nopik(j,i)
516 scabib = sqrt(1.-ccabib**2)
518 gamel = gfermi**2*amtau**5/(192*pi**3)
524 FUNCTION dcdmas(IDENT)
525 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
526 * ,ampiz,ampi,amro,gamro,ama1,gama1
527 * ,amk,amkz,amkst,gamkst
529 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
530 * ,ampiz,ampi,amro,gamro,ama1,gama1
531 * ,amk,amkz,amkst,gamkst
532 IF (ident.EQ. 1)
THEN
534 ELSEIF (ident.EQ.-1)
THEN
536 ELSEIF (ident.EQ. 2)
THEN
538 ELSEIF (ident.EQ.-2)
THEN
540 ELSEIF (ident.EQ. 3)
THEN
542 ELSEIF (ident.EQ.-3)
THEN
544 ELSEIF (ident.EQ. 4)
THEN
546 ELSEIF (ident.EQ.-4)
THEN
548 ELSEIF (ident.EQ. 8)
THEN
550 ELSEIF (ident.EQ.-8)
THEN
552 ELSEIF (ident.EQ. 9)
THEN
554 ELSEIF (ident.EQ.-9)
THEN
557 print *,
'STOP IN APKMAS, WRONG IDENT=',ident
562 FUNCTION lunpik(ID,ISGN)
563 COMMON / taukle / bra1,brk0,brk0b,brks
564 real*4 bra1,brk0,brk0b,brks
568 IF (ident.EQ. 1)
THEN
570 ELSEIF (ident.EQ.-1)
THEN
572 ELSEIF (ident.EQ. 2)
THEN
574 ELSEIF (ident.EQ.-2)
THEN
576 ELSEIF (ident.EQ. 3)
THEN
578 ELSEIF (ident.EQ.-3)
THEN
581 IF (ident.EQ. 1)
THEN
583 ELSEIF (ident.EQ.-1)
THEN
585 ELSEIF (ident.EQ. 2)
THEN
587 ELSEIF (ident.EQ.-2)
THEN
589 ELSEIF (ident.EQ. 3)
THEN
591 ELSEIF (ident.EQ.-3)
THEN
594 ELSEIF (ident.EQ. 4)
THEN
598 IF (xio(1).GT.brk0)
THEN
603 ELSEIF (ident.EQ.-4)
THEN
607 IF (xio(1).GT.brk0b)
THEN
612 ELSEIF (ident.EQ. 8)
THEN
614 ELSEIF (ident.EQ.-8)
THEN
616 ELSEIF (ident.EQ. 9)
THEN
618 ELSEIF (ident.EQ.-9)
THEN
621 print *,
'STOP IN IPKDEF, WRONG IDENT=',ident
630 SUBROUTINE taurdf(KTO)
634 COMMON / taukle / bra1,brk0,brk0b,brks
635 real*4 bra1,brk0,brk0b,brks
636 COMMON / taubra / gamprt(30),jlist(30),nchan
656 SUBROUTINE taurdf(KTO)
660 COMMON / taukle / bra1,brk0,brk0b,brks
661 real*4 bra1,brk0,brk0b,brks
662 COMMON / taubra / gamprt(30),jlist(30),nchan
670 IF(i.EQ. 1) gamprt(i) = .0000
671 IF(i.EQ. 2) gamprt(i) = .0000
672 IF(i.EQ. 3) gamprt(i) = .0000
673 IF(i.EQ. 4) gamprt(i) = .0000
674 IF(i.EQ. 5) gamprt(i) = .0000
675 IF(i.EQ. 6) gamprt(i) = .0000
676 IF(i.EQ. 7) gamprt(i) = .0000
677 IF(i.EQ. 8) gamprt(i) = 1.0000
678 IF(i.EQ. 9) gamprt(i) = 1.0000
679 IF(i.EQ.10) gamprt(i) = 1.0000
680 IF(i.EQ.11) gamprt(i) = 1.0000
681 IF(i.EQ.12) gamprt(i) = 1.0000
682 IF(i.EQ.13) gamprt(i) = 1.0000
683 IF(i.EQ.14) gamprt(i) = 1.0000
684 IF(i.EQ.15) gamprt(i) = 1.0000
685 IF(i.EQ.16) gamprt(i) = 1.0000
686 IF(i.EQ.17) gamprt(i) = 1.0000
687 IF(i.EQ.18) gamprt(i) = 1.0000
688 IF(i.EQ.19) gamprt(i) = 1.0000
713 IF(i.EQ. 1) gamprt(i) = .0000
714 IF(i.EQ. 2) gamprt(i) = .0000
715 IF(i.EQ. 3) gamprt(i) = .0000
716 IF(i.EQ. 4) gamprt(i) = .0000
717 IF(i.EQ. 5) gamprt(i) = .0000
718 IF(i.EQ. 6) gamprt(i) = .0000
719 IF(i.EQ. 7) gamprt(i) = .0000
720 IF(i.EQ. 8) gamprt(i) = 1.0000
721 IF(i.EQ. 9) gamprt(i) = 1.0000
722 IF(i.EQ.10) gamprt(i) = 1.0000
723 IF(i.EQ.11) gamprt(i) = 1.0000
724 IF(i.EQ.12) gamprt(i) = 1.0000
725 IF(i.EQ.13) gamprt(i) = 1.0000
726 IF(i.EQ.14) gamprt(i) = 1.0000
727 IF(i.EQ.15) gamprt(i) = 1.0000
728 IF(i.EQ.16) gamprt(i) = 1.0000
729 IF(i.EQ.17) gamprt(i) = 1.0000
730 IF(i.EQ.18) gamprt(i) = 1.0000
731 IF(i.EQ.19) gamprt(i) = 1.0000
754 SUBROUTINE iniphx(XK00)
759 COMMON / qedprm /alfinv,alfpi,xk0
760 real*8 alfinv,alfpi,xk0
763 pi8 = 4.d0*datan(1.d0)
765 alfpi = 1d0/(alfinv*pi8)
775 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
776 * ,ampiz,ampi,amro,gamro,ama1,gama1
777 * ,amk,amkz,amkst,gamkst
779 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
780 * ,ampiz,ampi,amro,gamro,ama1,gama1
781 * ,amk,amkz,amkst,gamkst
846 print *,
'INIMAS a1 mass= ',ama1,gama1
856 subroutine bostdq(idir,vv,pp,q)
868 implicit DOUBLE PRECISION (a-h,o-z)
870 DOUBLE PRECISION v(4),p(4),q(4),pp(4),vv(4)
876 amv=(v(4)**2-v(1)**2-v(2)**2-v(3)**2)
878 write(6,*)
'bosstv: warning amv**2=',amv
882 q(4)=( p(1)*v(1)+p(2)*v(2)+p(3)*v(3)+p(4)*v(4))/amv
883 wsp =(q(4)+p(4))/(v(4)+amv)
884 elseif (idir.eq.1)
then
885 q(4)=(-p(1)*v(1)-p(2)*v(2)-p(3)*v(3)+p(4)*v(4))/amv
886 wsp =-(q(4)+p(4))/(v(4)+amv)
888 write(nout,*)
' >>> boostv: wrong value of idir = ',idir
906 IMPLICIT REAL*8(a-h,o-z)
909 IF(x .LT.-1.0)
GO TO 1
910 IF(x .LE. 0.5)
GO TO 2
911 IF(x .EQ. 1.0)
GO TO 3
912 IF(x .LE. 2.0)
GO TO 4
916 z=z-0.5* log(abs(x))**2
922 3 dilogy=1.64493406684822
926 z=1.64493406684822 - log(x)* log(abs(t))
927 5 y=2.66666666666666 *t+0.66666666666666
928 b= 0.00000 00000 00001
929 a=y*b +0.00000 00000 00004
930 b=y*a-b+0.00000 00000 00011
931 a=y*b-a+0.00000 00000 00037
932 b=y*a-b+0.00000 00000 00121
933 a=y*b-a+0.00000 00000 00398
934 b=y*a-b+0.00000 00000 01312
935 a=y*b-a+0.00000 00000 04342
936 b=y*a-b+0.00000 00000 14437
937 a=y*b-a+0.00000 00000 48274
938 b=y*a-b+0.00000 00001 62421
939 a=y*b-a+0.00000 00005 50291
940 b=y*a-b+0.00000 00018 79117
941 a=y*b-a+0.00000 00064 74338
942 b=y*a-b+0.00000 00225 36705
943 a=y*b-a+0.00000 00793 87055
944 b=y*a-b+0.00000 02835 75385
945 a=y*b-a+0.00000 10299 04264
946 b=y*a-b+0.00000 38163 29463
947 a=y*b-a+0.00001 44963 00557
948 b=y*a-b+0.00005 68178 22718
949 a=y*b-a+0.00023 20021 96094
950 b=y*a-b+0.00100 16274 96164
951 a=y*b-a+0.00468 63619 59447
952 b=y*a-b+0.02487 93229 24228
953 a=y*b-a+0.16607 30329 27855
954 a=y*a-b+1.93506 43008 6996