subroutine mrs96fit(x,q,mode,upv,dnv,usea,dsea,str,chm,bot,glu) implicit real*8(a-h,o-z) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c c This program returns the fitted parton distributions for MRS(R1) c c and MRS(R2) c c c c Note:: The gluon fits below Q2=2 GeV2 are not reliable c c c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc q2=q*q if(mode.eq.1) . call mrsr1fit(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu) if(mode.eq.2) . call mrsr2fit(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu) return end subroutine mrsr1fit(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c c This program returns the fitted parton distributions for MRS(R1) c c c c Note:: The gluon fit below Q2=2 GeV2 is not reliable c c c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc implicit real*8(a-h,o-z) real*8 z(18,8),f(8) data z/ .1.851372, -0.519807, 0.012441, 0.633560, -0.037308, 0.015912, .3.375911, 0.342401, -0.051574, -1.120042, 1.261935, -0.260027, .7.269788, -3.120148, 0.333912, 0.267482, 0.294300, 0.057360, .0.118684, -0.026694, 0.001418, 0.309073, 0.036590, 0.020734, .4.069154, 0.290830, -0.125778, 4.041269, 7.626688, -2.807994, .29.897693,-22.979920, 4.180347, 0.334020, 0.330986, 0.114984, .9.053009, -8.482741, 2.830186, 0.053474, -0.589212, 0.144551, .5.812161, 2.209058, 0.424067, -4.014258, 0.658552, -0.367525, .5.807276, 0.224226, 0.154323, -0.520160, 0.182673, -0.104011, .0.120167, 0.167327, -0.053467, -0.054880, -0.148988, -0.048956, .7.759331, 2.553270, -0.438661, 1.178532, -5.710315, 2.380271, .11.895434, 0.861384, -2.528848, 0.493662, -0.073144, -0.207566, .0.177E-03,-0.159E-03, 0.953E-04,-0.863E+00,-0.352E+00, 0.338E+00, .0.126E+02, 0.887E+00,-0.929E+00, 0.394E+03,-0.978E+03, 0.542E+03, .0.236E+05, 0.358E+04,-0.137E+05,-0.326E+01,-0.248E-01, 0.973E+00, .0.049569, 0.044433, -0.016279, -0.105288, -0.087260, -0.050832, .8.515981, -0.203986, 0.963570, 0.588399, -4.727176, 1.568474, .9.610173, -1.946171, 0.998092, 0.108582, 0.643896, -0.358571, .0.001324, 0.020995, 0.033861, -0.116455, -0.101398, -0.054482, .7.220589, 1.135903, 0.961005, -5.142936, 2.318274, -1.057351, .14.319705,-10.025316, 3.619585, -0.692507, 2.084232, -1.105329, .-0.011228, 0.014937, -0.000135, -0.109754, -0.019479, -0.064273, .2.973424, 3.819107, -0.168367, -0.662015, -2.241463, 0.521234, .0.936045, 6.588813, -2.031513, 1.507347, 0.341242, -0.313753/ upv= 0d0 dnv= 0d0 usea=0d0 dsea=0d0 str= 0d0 chm= 0d0 bot= 0d0 glu= 0d0 if(x.ge.1d0) return al=0.241 al2=al*al q02=1. arg=(dlog(q2/al2)/dlog(q02/al2)) s=dlog(arg) do 10 j=1,8 a=z(1,j)+z(2,j)*s+z(3,j)*s*s b=z(4,j)+z(5,j)*s+z(6,j)*s*s c=z(7,j)+z(8,j)*s+z(9,j)*s*s d=z(10,j)+z(11,j)*s+z(12,j)*s*s e=z(13,j)+z(14,j)*s+z(15,j)*s*s h=z(16,j)+z(17,j)*s+z(18,j)*s*s 10 f(j)=a*x**b*(1.-x)**c*(1.+d*sqrt(x)+e*x)*(dlog(1./x))**h upv=f(1) dnv=f(2) glu=f(3) dusum=f(4) dudif=f(5) str=f(6) chm=f(7) bot=f(8) dsea=0.5d0*(dusum+dudif) usea=0.5d0*(dusum-dudif) if(q2.lt.2.7d0) chm=0.d0 if(q2.lt.30.d0) bot=0.d0 if(chm.lt.0.d0) chm=0.d0 if(bot.lt.0.d0) bot=0.d0 return end subroutine mrsr2fit(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu) cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c c c This program returns the fitted parton distributions for MRS(R2) c c c c Note:: The gluon fit below Q2=2 GeV2 is not reliable c c c cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc implicit real*8(a-h,o-z) real*8 z(18,8),f(8) data z/ .1.840938, -0.613912, 0.069060, 0.664453, -0.047312, 0.008339, .3.199642, 0.299148, -0.005252, -1.176342, 1.452607, -0.242739, .7.607104, -3.009800, 0.110586, 0.305600, 0.324526, 0.004361, .0.116204, -0.036926, 0.005132, 0.347559, 0.044734, 0.025428, .3.776571, 0.129517, -0.106180, 4.583171, 6.631731, -2.496486, .29.786677,-19.577891, 3.120062, 0.410322, 0.467855, 0.101884, .9.333184, -8.070131, 2.146747, -0.089195, -0.436328, 0.122834, .6.948321, -0.174262, 0.921887, -4.043493, 2.187837, -1.088141, .7.196254, -4.912953, 2.464480, -1.359569, 0.705893, -0.012063, .0.083723, 0.102184, -0.032540, -0.069562, -0.107065, -0.042555, .6.848496, 2.149966, -0.330963, 2.365100, -5.254575, 1.846434, .11.934685, -0.271707, -1.758501, 0.554814, 0.050133, -0.160565, .-0.221E-04, 0.120E-04,-0.234E-05,-0.603E+00, 0.251E+00,-0.146E-01, .0.108E+02,-0.722E+00, 0.876E-02,-0.774E+04,-0.783E+03, 0.152E+04, .-0.125E+06, 0.519E+05,-0.507E+04,-0.244E+01, 0.146E+01, 0.237E-01, .0.285E-01, 0.481E-01,-0.128E-01,-0.686E-01,-0.139E+00,-0.255E-01, .0.694E+01, 0.204E+01,-0.290E+00, 0.105E+01,-0.445E+01, 0.154E+01, .0.988E+01, 0.519E+00,-0.159E+01, 0.447E+00, 0.123E+00,-0.158E+00, .0.536E-02,-0.149E-01, 0.337E-01,-0.136E+00, 0.397E-01,-0.114E+00, .0.459E+01, 0.333E+01,-0.115E+00,-0.309E+01, 0.189E+00,-0.109E+00, .0.182E+02,-0.122E+02, 0.286E+01,-0.323E+00, 0.207E+01,-0.108E+01, .-0.111E-01, 0.134E-01,-0.146E-02,-0.130E+00,-0.157E-01,-0.418E-01, .0.276E+01, 0.277E+01,-0.697E-01, 0.124E+01,-0.255E+01, 0.466E+00, .-0.125E+01, 0.581E+01,-0.154E+01, 0.148E+01, 0.353E+00,-0.196E+00/ upv= 0d0 dnv= 0d0 usea=0d0 dsea=0d0 str= 0d0 chm= 0d0 bot= 0d0 glu= 0d0 if(x.ge.1d0) return al=0.344 al2=al*al q02=1. arg=(dlog(q2/al2)/dlog(q02/al2)) s=dlog(arg) do 10 j=1,8 a=z(1,j)+z(2,j)*s+z(3,j)*s*s b=z(4,j)+z(5,j)*s+z(6,j)*s*s c=z(7,j)+z(8,j)*s+z(9,j)*s*s d=z(10,j)+z(11,j)*s+z(12,j)*s*s e=z(13,j)+z(14,j)*s+z(15,j)*s*s h=z(16,j)+z(17,j)*s+z(18,j)*s*s 10 f(j)=a*x**b*(1.-x)**c*(1.+d*sqrt(x)+e*x)*(dlog(1./x))**h upv=f(1) dnv=f(2) glu=f(3) dusum=f(4) dudif=f(5) str=f(6) chm=f(7) bot=f(8) dsea=0.5d0*(dusum+dudif) usea=0.5d0*(dusum-dudif) if(q2.lt.2.7d0) chm=0.d0 if(q2.lt.30.d0) bot=0.d0 if(chm.lt.0.d0) chm=0.d0 if(bot.lt.0.d0) bot=0.d0 return end