2
subroutine taudecay_param()
5
DOUBLE PRECISION PIM,PI0
6
COMMON/PARAM_PI/PIM,PI0
8
DOUBLE PRECISION ROM,ROG,ROM1,ROG1
9
COMMON/PARAM_RHO/ROM,ROG,ROM1,ROG1
11
DOUBLE PRECISION a1M,a1G,fpi
12
COMMON/PARAM_A1/a1M,a1G,fpi
29
double complex function FFCT2(S)
38
double complex function FFCT3(S)
47
double complex function FFCT3F1(S)
56
double complex function FFCT3F0(S)
65
DOUBLE COMPLEX FUNCTION Frho(S,mode) ! Frho=f2
71
Frho=dsqrt(2d0)*Brho(S,mode)
75
DOUBLE COMPLEX FUNCTION Brho(S,mode)
81
DOUBLE PRECISION BETA1
82
PARAMETER (BETA1=-0.145d0) !TAUOLA parameters
83
DOUBLE PRECISION ROM,ROG,ROM1,ROG1
84
COMMON/PARAM_RHO/ROM,ROG,ROM1,ROG1
85
!!!PARAMETER (ROM=0.773d0,ROG=0.145d0) !TAUOLA parameters
86
!!!PARAMETER (ROM1=1.370d0,ROG1=0.510d0) !TAUOLA parameters
88
Brho=(BWrho(S,ROM,ROG,mode)+BETA1*BWrho(S,ROM1,ROG1,mode))/(1d0+BETA1)
92
DOUBLE COMPLEX FUNCTION BWrho(S,M,G,mode) !Breit-Wigner for the rho mode
94
DOUBLE PRECISION S,M,G
96
DOUBLE PRECISION QS,QM,W,GS,pi1,pi2
97
double precision klambda
99
DOUBLE PRECISION PIM,PI0
100
COMMON/PARAM_PI/PIM,PI0
101
!!!PARAMETER (PIM=0.139d0,PI0=0.139d0) !TAUOLA parameters
102
call taudecay_param()
109
IF (S.GT.(PI1+PI2)**2) THEN
110
QS=dsqrt(klambda(PI1**2/S,PI2**2/S))
111
QM=dsqrt(klambda(PI1**2/M**2,PI2**2/M**2))
113
GS=G*(W/M)*(QS/QM)**3
117
BWrho=-M**2/DCMPLX(S-M**2,W*GS)
121
DOUBLE COMPLEX FUNCTION Fa1(S,mode) ! Fa1=f3
127
DOUBLE PRECISION a1M,a1G,fpi
128
COMMON/PARAM_A1/a1M,a1G,fpi
129
call taudecay_param()
130
Fa1=4d0/3d0/fpi *BWa1(S,a1M,a1G,mode)
134
DOUBLE COMPLEX FUNCTION BWa1(S,M,G,mode) !Breit-Wigner for the a1 mode
136
DOUBLE PRECISION S,M,G
138
DOUBLE PRECISION GS,GFUN,W,pi3
139
DOUBLE PRECISION PIM,PI0
140
COMMON/PARAM_PI/PIM,PI0
141
!!!PARAMETER (PIM=0.139d0,PI0=0.139d0) !TAUOLA parameters
142
call taudecay_param()
145
pi3=2d0*pi0+pim ! rho- decay
147
pi3=3d0*pim ! rho0 decay
149
IF (S.GT.pi3**2) THEN
150
GS=G*(W/M)*GFUN(S,mode)/GFUN(M**2,mode)
154
BWa1=-M**2/DCMPLX(S-M**2,W*GS)
158
DOUBLE PRECISION FUNCTION GFUN(QKWA,mode) ! running width for a1
160
DOUBLE PRECISION QKWA
162
double precision pi1,pi3
163
DOUBLE PRECISION PIM,PI0
164
COMMON/PARAM_PI/PIM,PI0
165
DOUBLE PRECISION ROM,ROG,ROM1,ROG1
166
COMMON/PARAM_RHO/ROM,ROG,ROM1,ROG1
167
call taudecay_param()
169
pi3=2d0*pi0+pim ! rho- decay
172
pi3=3d0*pim ! rho0 decay
175
IF (QKWA.LT.(ROM+pi1)**2) THEN
176
GFUN=4.1d0/QKWA*(QKWA-pi3**2)**3*(1d0-3.3d0*(QKWA-pi3**2)+5.8d0*(QKWA-pi3**2)**2)
178
GFUN=1.623d0+10.38d0/QKWA-9.32d0/QKWA**2+0.65d0/QKWA**3
182
double precision function klambda(a,b)
184
double precision a,b,c
185
klambda=1d0+a**2+b**2-2d0*(a*b+b+a)
189
DOUBLE PRECISION FUNCTION pSumDot(P1,P2,dsign) ! invariant mass
191
double precision p1(0:3),p2(0:3),dsign
193
double precision ptot(0:3)
194
double precision pdot
197
ptot(i)=p1(i)+dsign*p2(i)
199
pSumDot = pdot(ptot,ptot)
203
double precision function pdot(p1,p2) !4-vector dot product
205
double precision p1(0:3),p2(0:3)
206
pdot=p1(0)*p2(0)-p1(1)*p2(1)-p1(2)*p2(2)-p1(3)*p2(3)
207
if(dabs(pdot).lt.1d-6)then ! solve numerical problem
213
subroutine psum(p1,p2, q) !4-vector sum
215
double precision p1(0:3),p2(0:3), q(0:3)
223
subroutine psub(p1,p2, q) !4-vector subtract
225
double precision p1(0:3),p2(0:3), q(0:3)
233
subroutine psum3(p1,p2,p3, q) !4-vector sum
235
double precision p1(0:3),p2(0:3),p3(0:3), q(0:3)
236
q(0)=p1(0)+p2(0)+p3(0)
237
q(1)=p1(1)+p2(1)+p3(1)
238
q(2)=p1(2)+p2(2)+p3(2)
239
q(3)=p1(3)+p2(3)+p3(3)