21 SUBROUTINE inietc(ITAUXPAR,xpar)
29 COMMON / taurad / xk0dec,itdkrc
30 DOUBLE PRECISION XK0DEC
31 COMMON / jaki / jak1,jak2,jakp,jakm,ktom
44 idff = xpar(itauxpar+3)
46 xk0dec = xpar(itauxpar+5)
48 itdkrc = xpar(itauxpar+4)
50 jak1 = xpar(itauxpar+1)
51 jak2 = xpar(itauxpar+2)
55 keya1 = xpar(itauxpar+6)
58 WRITE(iout,bxtxt)
' Parameters passed from KK to Tauola: ' 59 WRITE(iout,bxl1i) jak1,
'dec. type 1-st tau ',
'Jak1 ',
't01' 60 WRITE(iout,bxl1i) jak2,
'dec. type 2-nd tau ',
'Jak2 ',
't02' 61 WRITE(iout,bxl1i) keya1,
'current type a1 dec.',
'KeyA1 ',
't03' 62 WRITE(iout,bxl1i) idff,
'PDG id 1-st tau ',
'idff ',
't04' 63 WRITE(iout,bxl1i) itdkrc,
'R.c. switch lept dec',
'itdkRC',
't05' 64 WRITE(iout,bxl1g) xk0dec,
'IR-cut for lept r.c.',
'xk0dec',
't06' 69 SUBROUTINE initdk(ITAUXPAR,xpar)
81 COMMON / decpar / gfermi,gv,ga,ccabib,scabib,gamel
82 REAL*4 GFERMI,GV,GA,CCABIB,SCABIB,GAMEL
83 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
84 * ,ampiz,ampi,amro,gamro,ama1,gama1
85 * ,amk,amkz,amkst,gamkst
87 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
88 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
89 * ,AMK,AMKZ,AMKST,GAMKST
90 COMMON / taubra / gamprt(30),jlist(30),nchan
91 COMMON / taukle / bra1,brk0,brk0b,brks
92 REAL*4 BRA1,BRK0,BRK0B,BRKS
94 parameter(nmode=15,nm1=0,nm2=1,nm3=8,nm4=2,nm5=1,nm6=3)
95 COMMON / taudcd /idffin(9,nmode),mulpik(nmode)
97 CHARACTER NAMES(NMODE)*31
99 parameter(nmode=15,nm1=0,nm2=1,nm3=8,nm4=2,nm5=1,nm6=3)
100 COMMON / decomp /idffin(9,nmode),mulpik(nmode)
102 CHARACTER NAMES(NMODE)*31
104 CHARACTER OLDNAMES(7)*31
107 $ bxinit =
'(1x,1h*,g17.8, 16x, a31,a4,a4, 1x,1h*)' 178 dimension nopik(6,nmode),npik(nmode)
189 DATA nopik / -1,-1, 2, 1, 0, 0, 2, 2, 2,-1, 0, 0,
190 1 -1,-1, 1, 2, 2, 0, -1,-1,-1, 1, 1, 0,
191 2 -1,-1,-1, 1, 1, 2, -1,-1, 1, 2, 2, 2,
192 3 -3,-1, 3, 0, 0, 0, 4,-1,-4, 0, 0, 0,
193 4 -3, 2, 4, 0, 0, 0, 2, 2,-3, 0, 0, 0,
194 5 -3,-1, 1, 0, 0, 0, -1,-4, 2, 0, 0, 0,
195 6 9,-1, 2, 0, 0, 0, -1, 2, 8, 0, 0, 0,
197 DATA nopik / -1,-1, 1, 2, 0, 0, 2, 2, 2,-1, 0, 0,
198 1 -1,-1, 1, 2, 2, 0, -1,-1,-1, 1, 1, 0,
199 2 -1,-1,-1, 1, 1, 2, -1,-1, 1, 2, 2, 2,
200 3 -3,-1, 3, 0, 0, 0, -4,-1, 4, 0, 0, 0,
201 4 -3, 2,-4, 0, 0, 0, 2, 2,-3, 0, 0, 0,
202 5 -3,-1, 1, 0, 0, 0, -1, 4, 2, 0, 0, 0,
203 6 9,-1, 2, 0, 0, 0, -1, 2, 8, 0, 0, 0,
207 7 -3,-4, 0, 0, 0, 0 /
209 7 -3, 4, 0, 0, 0, 0 /
217 IF(i.EQ. 1) gamprt(i) = 1.0000
218 IF(i.EQ. 2) gamprt(i) = 1.0000
219 IF(i.EQ. 3) gamprt(i) = 1.0000
220 IF(i.EQ. 4) gamprt(i) = 1.0000
221 IF(i.EQ. 5) gamprt(i) = 1.0000
222 IF(i.EQ. 6) gamprt(i) = 1.0000
223 IF(i.EQ. 7) gamprt(i) = 1.0000
224 IF(i.EQ. 8) gamprt(i) = 1.0000
225 IF(i.EQ. 9) gamprt(i) = 1.0000
226 IF(i.EQ.10) gamprt(i) = 1.0000
227 IF(i.EQ.11) gamprt(i) = 1.0000
228 IF(i.EQ.12) gamprt(i) = 1.0000
229 IF(i.EQ.13) gamprt(i) = 1.0000
230 IF(i.EQ.14) gamprt(i) = 1.0000
231 IF(i.EQ.15) gamprt(i) = 1.0000
232 IF(i.EQ.16) gamprt(i) = 1.0000
233 IF(i.EQ.17) gamprt(i) = 1.0000
234 IF(i.EQ.18) gamprt(i) = 1.0000
235 IF(i.EQ.19) gamprt(i) = 1.0000
236 IF(i.EQ.20) gamprt(i) = 1.0000
237 IF(i.EQ.21) gamprt(i) = 1.0000
238 IF(i.EQ.22) gamprt(i) = 1.0000
240 IF(i.EQ. 1) gamprt(i) =0.1800
241 IF(i.EQ. 2) gamprt(i) =0.1751
242 IF(i.EQ. 3) gamprt(i) =0.1110
243 IF(i.EQ. 4) gamprt(i) =0.2515
244 IF(i.EQ. 5) gamprt(i) =0.1790
245 IF(i.EQ. 6) gamprt(i) =0.0071
246 IF(i.EQ. 7) gamprt(i) =0.0134
247 IF(i.EQ. 8) gamprt(i) =0.0450
248 IF(i.EQ. 9) gamprt(i) =0.0100
249 IF(i.EQ.10) gamprt(i) =0.0009
250 IF(i.EQ.11) gamprt(i) =0.0004
251 IF(i.EQ.12) gamprt(i) =0.0003
252 IF(i.EQ.13) gamprt(i) =0.0005
253 IF(i.EQ.14) gamprt(i) =0.0015
254 IF(i.EQ.15) gamprt(i) =0.0015
255 IF(i.EQ.16) gamprt(i) =0.0015
256 IF(i.EQ.17) gamprt(i) =0.0005
257 IF(i.EQ.18) gamprt(i) =0.0050
258 IF(i.EQ.19) gamprt(i) =0.0055
259 IF(i.EQ.20) gamprt(i) =0.0017
260 IF(i.EQ.21) gamprt(i) =0.0013
261 IF(i.EQ.22) gamprt(i) =0.0010
262 #elif defined (ALEPH) 263 IF(i.EQ. 1) gamprt(i) = 1.0000
264 IF(i.EQ. 2) gamprt(i) = .9732
265 IF(i.EQ. 3) gamprt(i) = .6217
266 IF(i.EQ. 4) gamprt(i) = 1.4221
267 IF(i.EQ. 5) gamprt(i) = 1.0180
268 IF(i.EQ. 6) gamprt(i) = .0405
269 IF(i.EQ. 7) gamprt(i) = .0781
270 IF(i.EQ. 8) gamprt(i) = .2414
271 IF(i.EQ. 9) gamprt(i) = .0601
272 IF(i.EQ.10) gamprt(i) = .0281
273 IF(i.EQ.11) gamprt(i) = .0045
274 IF(i.EQ.12) gamprt(i) = .0010
275 IF(i.EQ.13) gamprt(i) = .0062
276 IF(i.EQ.14) gamprt(i) = .0096
277 IF(i.EQ.15) gamprt(i) = .0169
278 IF(i.EQ.16) gamprt(i) = .0056
279 IF(i.EQ.17) gamprt(i) = .0045
280 IF(i.EQ.18) gamprt(i) = .0219
281 IF(i.EQ.19) gamprt(i) = .0180
282 IF(i.EQ.20) gamprt(i) = .0096
283 IF(i.EQ.21) gamprt(i) = .0088
284 IF(i.EQ.22) gamprt(i) = .0146
287 IF(i.EQ. 1) oldnames(i)=
' TAU- --> E- ' 288 IF(i.EQ. 2) oldnames(i)=
' TAU- --> MU- ' 289 IF(i.EQ. 3) oldnames(i)=
' TAU- --> PI- ' 290 IF(i.EQ. 4) oldnames(i)=
' TAU- --> PI-, PI0 ' 291 IF(i.EQ. 5) oldnames(i)=
' TAU- --> A1- (two subch) ' 292 IF(i.EQ. 6) oldnames(i)=
' TAU- --> K- ' 293 IF(i.EQ. 7) oldnames(i)=
' TAU- --> K*- (two subch) ' 294 IF(i.EQ. 8) names(i-7)=
' TAU- --> 2PI-, PI0, PI+ ' 295 IF(i.EQ. 9) names(i-7)=
' TAU- --> 3PI0, PI- ' 296 IF(i.EQ.10) names(i-7)=
' TAU- --> 2PI-, PI+, 2PI0 ' 297 IF(i.EQ.11) names(i-7)=
' TAU- --> 3PI-, 2PI+, ' 298 IF(i.EQ.12) names(i-7)=
' TAU- --> 3PI-, 2PI+, PI0 ' 299 IF(i.EQ.13) names(i-7)=
' TAU- --> 2PI-, PI+, 3PI0 ' 300 IF(i.EQ.14) names(i-7)=
' TAU- --> K-, PI-, K+ ' 301 IF(i.EQ.15) names(i-7)=
' TAU- --> K0, PI-, K0B ' 303 IF(i.EQ.16) names(i-7)=
' TAU- --> K- PI0 K0 ' 305 IF(i.EQ.16) names(i-7)=
' TAU- --> K-, K0, PI0 ' 307 IF(i.EQ.17) names(i-7)=
' TAU- --> PI0 PI0 K- ' 308 IF(i.EQ.18) names(i-7)=
' TAU- --> K- PI- PI+ ' 309 IF(i.EQ.19) names(i-7)=
' TAU- --> PI- K0B PI0 ' 310 IF(i.EQ.20) names(i-7)=
' TAU- --> ETA PI- PI0 ' 311 IF(i.EQ.21) names(i-7)=
' TAU- --> PI- PI0 GAM ' 312 IF(i.EQ.22) names(i-7)=
' TAU- --> K- K0 ' 321 idffin(j,i)=nopik(j,i)
345 IF (xpar(itauxpar+100+1).GT.-1d0)
THEN 347 ccabib = xpar(itauxpar+7)
348 gv = xpar(itauxpar+8)
349 ga = xpar(itauxpar+9)
351 bra1 = xpar(itauxpar+10)
352 brks = xpar(itauxpar+11)
353 brk0 = xpar(itauxpar+12)
354 brk0b = xpar(itauxpar+13)
356 gamprt(k)=xpar(itauxpar+100+k)
360 scabib = sqrt(1.-ccabib**2)
362 gamel = gfermi**2*amtau**5/(192*pi**3)
375 WRITE(iout,bxtxt)
' TAUOLA Initialization SUBROUTINE INITDK: ' 376 WRITE(iout,bxtxt)
' Adopted to read from KK ' 377 WRITE(iout,bxtxt)
' ' 378 WRITE(iout,bxtxt)
' Choice Probability -- Decay Channel' 380 WRITE(iout,bxinit) gamprt(k)/sum, oldnames(k),
'****',
'***' 383 WRITE(iout,bxinit) gamprt(k)/sum, names(k-7),
'****',
'***' 385 WRITE(iout,bxtxt)
' In addition:' 386 WRITE(iout,bxinit) gv,
'Vector W-tau-nu coupl. ',
'****',
'***' 387 WRITE(iout,bxinit) ga,
'Axial W-tau-nu coupl. ',
'****',
'***' 388 WRITE(iout,bxinit) gfermi,
'Fermi Coupling ',
'****',
'***' 389 WRITE(iout,bxinit) ccabib,
'cabibo angle ',
'****',
'***' 390 WRITE(iout,bxinit) bra1,
'a1 br ratio (massless) ',
'****',
'***' 391 WRITE(iout,bxinit) brks,
'K* br ratio (massless) ',
'****',
'***' 397 SUBROUTINE iniphy(XK00)
402 COMMON / qedprm /alfinv,alfpi,xk0
403 REAL*8 ALFINV,ALFPI,XK0
406 pi8 = 4.d0*datan(1.d0)
408 alfpi = 1d0/(alfinv*pi8)
412 SUBROUTINE inimas(ITAUXPAR,xpar)
424 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
425 * ,ampiz,ampi,amro,gamro,ama1,gama1
426 * ,amk,amkz,amkst,gamkst
428 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
429 * ,AMPIZ,AMPI,AMRO,GAMRO,AMA1,GAMA1
430 * ,AMK,AMKZ,AMKST,GAMKST
433 $ bxinit =
'(1x,1h*,g17.8, 16x, a31,a4,a4, 1x,1h*)' 488 #elif defined (ALEPH) 497 print *,
'INIMAS a1 mass= ',ama1,gama1
505 WRITE(iout,bxtxt)
' TAUOLA Initialization SUBROUTINE INIMAS: ' 506 WRITE(iout,bxtxt)
' Adopted to read from KK ' 507 WRITE(iout,bxinit) amtau,
'AMTAU tau-mass ',
'****',
'***' 508 WRITE(iout,bxinit) amel ,
'AMEL electron-mass ',
'****',
'***' 509 WRITE(iout,bxinit) ammu ,
'AMMU muon-mass ',
'****',
'***' 514 SUBROUTINE choice(MNUM,RR,ICHAN,PROB1,PROB2,PROB3,
515 $ AMRX,GAMRX,AMRA,GAMRA,AMRB,GAMRB)
516 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
517 * ,ampiz,ampi,amro,gamro,ama1,gama1
518 * ,amk,amkz,amkst,gamkst
520 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
521 * ,ampiz,ampi,amro,gamro,ama1,gama1
522 * ,amk,amkz,amkst,gamkst
538 ELSEIF(mnum.EQ.1)
THEN 547 ELSEIF(mnum.EQ.2)
THEN 556 ELSEIF(mnum.EQ.3)
THEN 565 ELSEIF(mnum.EQ.4)
THEN 574 ELSEIF(mnum.EQ.5)
THEN 583 ELSEIF(mnum.EQ.6)
THEN 592 ELSEIF(mnum.EQ.7)
THEN 601 ELSEIF(mnum.EQ.8)
THEN 610 ELSEIF(mnum.EQ.101)
THEN 619 ELSEIF(mnum.EQ.102)
THEN 639 IF (rr.LE.prob1)
THEN 641 ELSEIF(rr.LE.(prob1+prob2))
THEN 656 prob3=1.0-prob1-prob2
659 FUNCTION dcdmas(IDENT)
660 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
661 * ,ampiz,ampi,amro,gamro,ama1,gama1
662 * ,amk,amkz,amkst,gamkst
664 REAL*4 AMTAU,AMNUTA,AMEL,AMNUE,AMMU,AMNUMU
665 * ,ampiz,ampi,amro,gamro,ama1,gama1
666 * ,amk,amkz,amkst,gamkst
667 IF (ident.EQ. 1)
THEN 669 ELSEIF (ident.EQ.-1)
THEN 671 ELSEIF (ident.EQ. 2)
THEN 673 ELSEIF (ident.EQ.-2)
THEN 675 ELSEIF (ident.EQ. 3)
THEN 677 ELSEIF (ident.EQ.-3)
THEN 679 ELSEIF (ident.EQ. 4)
THEN 681 ELSEIF (ident.EQ.-4)
THEN 683 ELSEIF (ident.EQ. 8)
THEN 685 ELSEIF (ident.EQ.-8)
THEN 687 ELSEIF (ident.EQ. 9)
THEN 689 ELSEIF (ident.EQ.-9)
THEN 692 print *,
'STOP IN APKMAS, WRONG IDENT=',ident
697 FUNCTION lunpik(ID,ISGN)
698 COMMON / taukle / bra1,brk0,brk0b,brks
699 REAL*4 BRA1,BRK0,BRK0B,BRKS
703 IF (ident.EQ. 1)
THEN 705 ELSEIF (ident.EQ.-1)
THEN 707 ELSEIF (ident.EQ. 2)
THEN 709 ELSEIF (ident.EQ.-2)
THEN 711 ELSEIF (ident.EQ. 3)
THEN 713 ELSEIF (ident.EQ.-3)
THEN 716 IF (ident.EQ. 1)
THEN 718 ELSEIF (ident.EQ.-1)
THEN 720 ELSEIF (ident.EQ. 2)
THEN 722 ELSEIF (ident.EQ.-2)
THEN 724 ELSEIF (ident.EQ. 3)
THEN 726 ELSEIF (ident.EQ.-3)
THEN 729 ELSEIF (ident.EQ. 4)
THEN 733 IF (xio(1).GT.brk0)
THEN 738 ELSEIF (ident.EQ.-4)
THEN 742 IF (xio(1).GT.brk0b)
THEN 747 ELSEIF (ident.EQ. 8)
THEN 749 ELSEIF (ident.EQ.-8)
THEN 751 ELSEIF (ident.EQ. 9)
THEN 753 ELSEIF (ident.EQ.-9)
THEN 756 print *,
'STOP IN IPKDEF, WRONG IDENT=',ident
765 SUBROUTINE taurdf(KTO)
769 COMMON / taukle / bra1,brk0,brk0b,brks
770 REAL*4 BRA1,BRK0,BRK0B,BRKS
771 COMMON / taubra / gamprt(30),jlist(30),nchan
791 SUBROUTINE taurdf(KTO)
795 COMMON / taukle / bra1,brk0,brk0b,brks
796 REAL*4 BRA1,BRK0,BRK0B,BRKS
797 COMMON / taubra / gamprt(30),jlist(30),nchan
805 IF(i.EQ. 1) gamprt(i) = .0000
806 IF(i.EQ. 2) gamprt(i) = .0000
807 IF(i.EQ. 3) gamprt(i) = .0000
808 IF(i.EQ. 4) gamprt(i) = .0000
809 IF(i.EQ. 5) gamprt(i) = .0000
810 IF(i.EQ. 6) gamprt(i) = .0000
811 IF(i.EQ. 7) gamprt(i) = .0000
812 IF(i.EQ. 8) gamprt(i) = 1.0000
813 IF(i.EQ. 9) gamprt(i) = 1.0000
814 IF(i.EQ.10) gamprt(i) = 1.0000
815 IF(i.EQ.11) gamprt(i) = 1.0000
816 IF(i.EQ.12) gamprt(i) = 1.0000
817 IF(i.EQ.13) gamprt(i) = 1.0000
818 IF(i.EQ.14) gamprt(i) = 1.0000
819 IF(i.EQ.15) gamprt(i) = 1.0000
820 IF(i.EQ.16) gamprt(i) = 1.0000
821 IF(i.EQ.17) gamprt(i) = 1.0000
822 IF(i.EQ.18) gamprt(i) = 1.0000
823 IF(i.EQ.19) gamprt(i) = 1.0000
848 IF(i.EQ. 1) gamprt(i) = .0000
849 IF(i.EQ. 2) gamprt(i) = .0000
850 IF(i.EQ. 3) gamprt(i) = .0000
851 IF(i.EQ. 4) gamprt(i) = .0000
852 IF(i.EQ. 5) gamprt(i) = .0000
853 IF(i.EQ. 6) gamprt(i) = .0000
854 IF(i.EQ. 7) gamprt(i) = .0000
855 IF(i.EQ. 8) gamprt(i) = 1.0000
856 IF(i.EQ. 9) gamprt(i) = 1.0000
857 IF(i.EQ.10) gamprt(i) = 1.0000
858 IF(i.EQ.11) gamprt(i) = 1.0000
859 IF(i.EQ.12) gamprt(i) = 1.0000
860 IF(i.EQ.13) gamprt(i) = 1.0000
861 IF(i.EQ.14) gamprt(i) = 1.0000
862 IF(i.EQ.15) gamprt(i) = 1.0000
863 IF(i.EQ.16) gamprt(i) = 1.0000
864 IF(i.EQ.17) gamprt(i) = 1.0000
865 IF(i.EQ.18) gamprt(i) = 1.0000
866 IF(i.EQ.19) gamprt(i) = 1.0000