6 subroutine mkf2 (DQ2,DX,A,Z,DF2,DF1)
12 double precision dq2,
dx, df2, df1
13 DOUBLE PRECISION f2allm, dnp(5), df2nf2p, dratio, dr
14 DOUBLE PRECISION disoc, dhe3d(6), dhe4d(6)
15 DOUBLE PRECISION gamma2, dnu, dw2, pmass2
16 integer a,
z, iflavour
17 real xpq(-6:6), xdpq(-6:6)
22 data qflavour/1.,2.,1.,2.,1.,2.,
25 c measured at nmc, (nmc amaudruz et al. cern-ppe/91-167))
26 data dnp / 0.976d0, -1.34d0, 1.319d0,
28 c fit to latest result from taeksu(he3d2_shin280498.fitpar)
29 c to be corrected
for non isoscalarity
30 DATA dhe3d / 0.98733d0, 0.50409d0, -0.22521d0,
31 & -0.66976d2, -0.62318d0, 0.12104d1/
34 c fit to nmc+slac
data (hed2_03.fitpar) - abr
35 DATA dhe4d / 0.1051d1, -0.1896d0, -0.1026d0,
36 & -0.1704d2, 0.3086d0 , 0.8509d1/
40 IF(genset_fstruct(1:4).EQ.
'ALLM')
THEN
41 if ((a.eq.1).and.(
z.eq.1))
then
45 if ((a.eq.2).and.(
z.eq.1))
then
47 df2nf2p=dnp(1)+
dx*(dnp(2)+
dx*(dnp(3)+
dx*(dnp(4)+
dx*dnp(5))))
48 df2=df2*0.5*(df2nf2p+1.)
51 if ((a.eq.3).and.(
z.eq.2))
then
52 c...
f2-deut(from
f2-proton(allm) and f2n/f2p)*(he-3/
f2-deut.)-
ratio:
54 df2nf2p=dnp(1)+
dx*(dnp(2)+
dx*(dnp(3)+
dx*(dnp(4)+
dx*dnp(5))))
55 df2=df2*0.5*(df2nf2p+1.)
56 dratio = dhe3d(1) + dhe3d(2)*
dx + dhe3d(3)*exp(dhe3d(4)*
dx)
57 & + dhe3d(5)*
dx**dhe3d(6)
58 c undo isoscalarity correction
59 disoc=((a-
z)*df2nf2p+
z)/(0.5*a*(1+df2nf2p))
63 if ((a.eq.4).and.(
z.eq.2))
then
64 c...
f2-deut(from
f2-proton(allm) and f2n/f2p)*(
f2-4he/
f2-deut)-
ratio
66 df2nf2p=dnp(1)+
dx*(dnp(2)+
dx*(dnp(3)+
dx*(dnp(4)+
dx*dnp(5))))
67 df2=df2*0.5*(df2nf2p+1.)
68 dratio = dhe4d(1) + dhe4d(2)*
dx + dhe4d(3)*exp(dhe4d(4)*
dx)
69 & + dhe4d(5)*
dx**dhe4d(6)
74 IF (genset_fstruct(1:3).EQ.
'PDF')
THEN
75 call
parton(
real(x),
real(q2),xpq,xdpq)
79 df2 = df2 + (
z*(qflavour(iflavour,1)**2)/9.
80 + + (a-
z)*(qflavour(iflavour,2)**2)/9. )
81 + *((xpq(iflavour)/
dx)+(xpq(-iflavour)/
dx))
86 dw2=pmass2+dq2*(1-
dx)/
dx
87 dnu=(dw2-pmass2+dq2)/(2.*massp)
89 df1=(1.d0+gamma2)/(2.d0*
dx)/(1.d0+dr)*df2
97 SUBROUTINE mkr(DQ2,DX,DR)
101 DOUBLE PRECISION dq2,
dx
102 DOUBLE PRECISION dr,deltar
104 IF ( genset_r .EQ.
'1990' )
THEN
105 * whitlow et al., phys.lett.b 250(1990),193
107 ELSE IF ( genset_r .EQ.
'1998' )
THEN
108 * e143, hep-ex/9808028
110 ELSE IF ( genset_r .eq.
'0' )
THEN
111 *
pure transverse(sigma_l=0)
114 write(*,*)(
'MKR: invalid choice for R parametrization' )
120 c------------------------------------------------------------------
126 DOUBLE PRECISION dq2,
dx
127 DOUBLE PRECISION dr, deltar
131 REAL fac, rlog, q2thr
134 c data-definition
of r-calculation, see
135 c l.w.whitlow, slac-report-357,
136 c ph.
d. thesis, stanford university,
138 REAL ar1990(3), br1990(3), cr1990(3)
139 DATA ar1990 / .06723, .46714, 1.89794 /
140 DATA br1990 / .06347, .57468, -.35342 /
141 DATA cr1990 / .05992, .50885, 2.10807 /
146 IF (dq2.LT.0.35)
THEN
152 c ***
If q2 < 0.35
then variable
"R" is calculated at the fixed q2
of 0.35
154 fac = 1+12.*(qq35/(1.+qq35))*(.125**2/(xx**2+.125**2))
155 rlog = fac/
log(qq35/.04)
156 q2thr = 5.*(1.-xx)**5
158 r_a = ar1990(1)*rlog +
159 & ar1990(2)/sqrt(sqrt(qq35**4+ar1990(3)**4))
160 r_b = br1990(1)*rlog +
161 & br1990(2)/qq35 + br1990(3)/(qq35**2+.3**2)
162 r_c = cr1990(1)*rlog +
163 & cr1990(2)/sqrt((qq35-q2thr)**2+cr1990(3)**2)
166 IF (dq2.GE.0.35)
THEN
176 c-----------------------------------------------------------------------
179 c new
fit to r hep-ex/9808028 e143 collab.
180 c it is based on the old 3 paramter forms
181 c 0.005<
x<0.86, 0.5<q2<130 gev2
182 c e143
x-section measurement 0.03<
x<0.4
185 c u. stoesslein, october 1998
190 DOUBLE PRECISION dq2,
dx,dr,deltar
191 DOUBLE PRECISION q2,q2max,fac,rlog,q2thr
192 DOUBLE PRECISION r_a_new,r_a,r_b_new,r_b,r_c
194 DOUBLE PRECISION a(6),b(6),
c(6)
196 DATA a/ .0485, 0.5470, 2.0621, -.3804, 0.5090, -.0285/
197 DATA b/ .0481, 0.6114, -.3509, -.4611, 0.7172, -.0317/
198 DATA c/ .0577, 0.4644, 1.8288,12.3708,-43.1043,41.7415/
203 *
use r(0.35)
if q2
is below 0.35
206 IF(q2.LT.q2max) q2=q2max
208 fac = 1+12.*(q2/(1.+q2))*(.125**2/(
dx**2+.125**2))
209 rlog = fac/
log(q2/.04)
212 * new additional terms
213 r_a_new = (1.+a(4)*
dx+a(5)*
dx*
dx)*
dx**(a(6))
214 r_a = a(1)*rlog + a(2)/sqrt(sqrt(q2**4+a(3)**4))*r_a_new
215 r_b_new = (1.+b(4)*
dx+b(5)*
dx*
dx)*
dx**(b(6))
216 r_b = b(1)*rlog + (b(2)/q2 + b(3)/(q2**2+0.3**2))*r_b_new
217 r_c =
c(1)*rlog +
c(2)/sqrt((q2-q2thr)**2+
c(3)**2)
218 dr = (r_a+r_b+r_c)/3.
220 * straight
line fit extrapolation
to r(q2=0)=0
221 if (dq2.lt.q2max) dr = dr*dq2/q2max
224 if (q2 .GT. 0.5)
then
233 c--------------------------------------------------------------------
237 *
associated to the fitting procedure only
240 DOUBLE PRECISION dx,dq2
250 subroutine mkasym (dQ2, dX, A, Z, dA1, dA2)
255 double precision dq2,
dx, da1, da2, df1, df2
256 double precision dppar, ddpar, massp, pmass2
257 integer a,
z, iflavour
258 real xpq(-6:6), xdpq(-6:6), g1
263 data qflavour/1.,2.,1.,2.,1.,2.,
271 if (lst(15).le.100)
then
277 call
mkf2(dq2,
dx, a,
z, df2, df1)
279 call
parton(
real(x),
real(q2),xpq,xdpq)
282 g1 = g1 + (
z*(qflavour(iflavour,1)**2)/9.
283 + + (a-
z)*(qflavour(iflavour,2)**2)/9. )
284 + *((xdpq(iflavour)/
dx)+(xdpq(-iflavour)/
dx))
289 c if (1.le.dq2.and.dq2.le.1.5)
then
290 c write(*,*)
'In mkasym', dq2,
dx, da1, g1, f1
293 IF(a.EQ.1.and.
z.eq.1)
THEN
294 da2=dppar*massp*
dx/(sqrt(dq2))
295 ELSEIF(a.EQ.2.and.
z.eq.1)
THEN
296 da2=ddpar*massp*
dx/(sqrt(dq2))
297 ELSEIF(a.EQ.1.and.
z.eq.0)
THEN
298 da2=(ddpar-dppar)*massp*
dx/(sqrt(dq2))
313 DOUBLE PRECISION dq2,
dx, df
314 DOUBLE PRECISION dnp, dfn, dfp
315 DOUBLE PRECISION dz, df2nf2p
319 c ...
fit to nmc f2n/f2p
data (86/87+89
t1,t14)
339 dz = 1./2.*dlog(1.+dexp(2.0-1000.*
dx))
340 df2nf2p = dnp(1)*(1.0-
dx)**dnp(2)+dnp(3)*
dx**dnp(4)
341 1 +(dnp(5)+dnp(6)*
dz+dnp(7)*
dz**2)
342 df = dfn*(1./((2./df2nf2p)+1))
354 implicit double precision (a-h,o-
z)
356 REAL m02,m12,lam2,m22
357 common/allm/
sp,ap,bp,sr,ar,br,
s,xp,xr,f2p,f2r
360 , s11 = 0.28067, s12 = 0.22291, s13 = 2.1979,
361 , a11 = -0.0808 , a12 = -0.44812, a13 = 1.1709,
362 , b11 = 0.60243**2, b12 = 1.3754**2, b13 = 1.8439,
367 , s21 = 0.80107, s22 = 0.97307, s23 = 3.4942,
368 , a21 = 0.58400, a22 = 0.37888, a23 = 2.6063,
369 ,
b21 = 0.10711**2, b22 = 1.9386**2, b23 = 0.49338,
372 parameter( m02=0.31985, lam2=0.065270, q02=0.46017 +lam2 )
375 w2=q2*(1./
x -1.)+xmp2
384 xp=1./(1.+(w2-xmp2)/(q2+m12))
392 xr=1./(1.+(w2-xmp2)/(q2+m22))
399 s=dlog(dlog((q2+q02)/lam2)/dlog(q02/lam2))
404 xp=1./(1.+(w2-xmp2)/(q2+m12))
405 ap=a11+(a11-a12)*(1./(1.+
s**a13)-1.)
407 sp=s11+(s11-s12)*(1./(1.+
s**s13)-1.)
412 xr=1./(1.+(w2-xmp2)/(q2+m22))
421 c cin=alfa/(q2+m02)*(1.+4.*xmp2*q2/(q2+w2-xmp2)**2)/
z
422 c sigal=cin*(f2p+f2r)
423 c f2allm=sigal/alfa*(q2**2*(1.-
x))/(q2+4.*xmp2*
x**2)
424 f2allm = q2/(q2+m02)*(f2p+f2r)