1 DOUBLE PRECISION FUNCTION ffwid3pi(QQ,S1,S3)
3 DOUBLE PRECISION QQ,S1,S3
13 COMPLEX F1,F2,F4, FORM1,FORM2, FORM4
14 DOUBLE PRECISION V11,V12,V22,GGF2,VUD2,ABS1,QQMIN,
15 & QQMAX,S3MAX,S3MIN,S1MIN,S1MAX
16 REAL XQQ,XS1,XS3, XS2,RQQ
17 COMMON / decpar / gfermi,gv,ga,ccabib,scabib,gamel
18 real*4 gfermi,gv,ga,ccabib,scabib,gamel
19 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
20 * ,ampiz,ampi,amro,gamro,ama1,gama1
21 * ,amk,amkz,amkst,gamkst
22 DOUBLE PRECISION XLAM,X,Y,Z
23 DOUBLE PRECISION XAMPI2
24 DOUBLE PRECISION GETFPIRPT
25 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
26 * ,ampiz,ampi,amro,gamro,ama1,gama1
27 * ,amk,amkz,amkst,gamkst
29 DATA pi /3.141592653589793238462643d0/
30 INTEGER IMODE,IDUM,IFRCHL
34 xlam(x,y,z)= sqrt(abs((x-y-z)**2 - 4.*y*z))
48 xs2 = qq -s1-s3 + 3.*ampi**2
54 qqmax = (amtau-amnuta)**2
57 s1max=(dsqrt(qq) - ampi)**2 -abs1
58 s1min=4.d0*ampi**2 +abs1
61 s3max = (qq - ampi**2)**2 -
62 & ( xlam(qq,s1,xampi2)
63 & - xlam(s1,xampi2,xampi2) )**2
64 s3min = (qq - ampi**2)**2 -
66 & + xlam(s1,xampi2,xampi2) )**2
73 IF((xs2.LE.0.) .OR.(s3max.LE.s3min)
74 & .OR.(xs1.LE.s1min).OR.(xs1.GE.s1max)
75 & .OR.(xs3.LE.s3min).OR.(xs3.GE.s3max)
76 & .OR.(qq.LE.qqmin).OR.(qq.GE.qqmax)
83 v11 = -xs1+4.d0*ampi**2 -(xs2-xs3)**2/(4.d0*xqq)
84 v22 = -xs2+4.d0*ampi**2 - (xs3-xs1)**2/(4.d0*xqq)
85 v12 = 0.5d0*(xs3-xs1-xs2+4.d0*ampi**2)-0.25d0*(xs3-xs2)*(xs3-xs1)/xqq
88 f1 = form1(0,xqq,xs1,xs2)
89 f2 = form2(0,xqq,xs2,xs1)
90 f4 = form4(0,xqq,xs2,xs1,xs3)
93 ffwid3pi = abs(f1*conjg(f1))*v11+abs(f2*conjg(f2))*v22+
94 $ 2.d0*real(f1*conjg(f2))*v12
96 CALL ifgfact(2,imode,idum)
97 CALL inirchlget(ifrchl)
103 IF (ifrchl.EQ.1)
THEN
105 ffwid3pi = rchlwida1pi(rqq,ffwid3pi)
108 WRITE(*,*)
'FFWID3PI is not ready for non rchl currents'
119 ffwid3pi = (- ffwid3pi/3.d0*(1.d0+2.d0*xqq/(amtau**2))+
120 $ xqq*abs(f4*conjg(f4)))*(amtau**2/xqq-1.d0)**2
124 & ggf2*vud2/(128.d0*(2.d0*pi)**5*amtau)/2.d0
126 IF (ifrchl.EQ.1)
THEN
129 ffwid3pi =ffwid3pi/getfpirpt(1)**2
132 WRITE(*,*)
'FFWID3PI is not ready for non rchl currents'
141 REAL FUNCTION RCHLWIDA1PI(RQQ,FFWID3PI)
150 DOUBLE PRECISION FFWID3PI
151 COMMON / decpar / gfermi,gv,ga,ccabib,scabib,gamel
152 real*4 gfermi,gv,ga,ccabib,scabib,gamel
153 COMMON / parmas / amtau,amnuta,amel,amnue,ammu,amnumu
154 * ,ampiz,ampi,amro,gamro,ama1,gama1
155 * ,amk,amkz,amkst,gamkst
156 DOUBLE PRECISION XLAM,X,Y,Z
157 DOUBLE PRECISION XAMPI2
158 DOUBLE PRECISION GETFPIRPT
159 real*4 amtau,amnuta,amel,amnue,ammu,amnumu
160 * ,ampiz,ampi,amro,gamro,ama1,gama1
161 * ,amk,amkz,amkst,gamkst
163 common/rcht_3pi/ fpi_rpt,fv_rpt,gv_rpt,fa_rpt,beta_rho,fk_rpt
165 DOUBLE PRECISION FPI_RPT,FV_RPT,GV_RPT,FA_RPT,BETA_RHO,FK_RPT
168 DATA pi /3.141592653589793238462643d0/
171 rchlwida1pi=- 1.0/real(fa1rchl(rqq)*conjg(fa1rchl(rqq)))/rqq**2
172 $ /(96.d0*8.d0*pi**3*ama1)/(fa_rpt**2*fpi_rpt**2)
176 DOUBLE PRECISION FUNCTION getfpirpt(I)
178 common/rcht_3pi/ fpi_rpt,fv_rpt,gv_rpt,fa_rpt,beta_rho,fk_rpt
180 DOUBLE PRECISION FPI_RPT,FV_RPT,GV_RPT,FA_RPT,BETA_RHO,FK_RPT