95 COMMON /leptou/ cut(14),lst(40),parl(30),
96 & xlp,ylp,w2lp,q2lp,ulp
97 REAL cut,parl,xlp,ylp,w2lp,q2lp,ulp
103 COMMON /pepadm/cpdfnam(2,imxpdf),ipdfnam(2,imxpdf),
104 & iplst(10),cunpol,cpol
105 CHARACTER*256 cpdfnam,cunpol,cpol
106 INTEGER iplst,ipdfnam
118 REAL x,q2,xpq(-6:6),xdpq(-6:6),
ulmass
119 DOUBLE PRECISION dx,dq2
120 REAL xuv, xdv, xs, xg
121 REAL xub, xdb, xc, xbot
122 REAL xduv,xddv,xds,xdg
126 REAL valphau,vbetau,
gamma
129 REAL vau0,vau1,vad0,vad1
130 REAL ffu0,ffu1,ffd0,ffd1,fg1p,fg1n
136 REAL va,vb,vc,vd,ve,vf
140 REAL xd,xu,xdd,xdu,xdds,xdus
143 DOUBLE PRECISION mrsupv,mrsdnv,mrsdsea,mrsusea
144 DOUBLE PRECISION mrsstr,mrschm,mrsbot,mrsglu
148 DOUBLE PRECISION ddxuv,ddxdv,ddxdel,ddxudb,ddxsb,ddxgl,
149 & dxduv,dxddv,dxdqbar,dxdstr,dxdglu,
157 REAL vetau ,vetad, vetaqb, vetag
158 REAL vnormu,vnormd,vnormqb,vnormg
159 REAL vau, vad, vaqb, vag
160 REAL vbu, vbd, vbqb, vbg
161 REAL vgu, vgd, vgqb, vgg
162 REAL vru, vrd, vrqb, vrg
166 DOUBLE PRECISION dxdg,dxdubar,dxddbar,dxds
172 DOUBLE PRECISION ddxpq(-6:6)
173 INTEGER initcteq,cteqset
182 REAL aj(4),bj(4),cj(4),rj(4),w(3),xw(3),ww(3),aaa(6,4)
183 REAL const0(6,4),const1(6,4),const2(6,4),const3(6,4),
184 & sumr(2),qg(4),qj(4)
185 REAL aq(4),bq(4),cq(4),dq(4),st1(4),st2(4),
186 & qp(4),qm(4),st3(4),st4(4)
187 DATA xw/-1.775e-02, -1.e-02, -2.2540e-03/,w/5.556e-03,
188 & 8.889e-03, 5.556e-03/,ww/0.3872983, 3.1329002e-02,
189 & 4.849505/,aj/ -0.2, -0.2, -0.3, -0.4/,bj/ 4.7, 3.7,
190 & 8., 8./,cj/ 0., 2.54, 0., 0./,rj/-0.9582284, 2.068491,
191 & -0.3953224, 14.54266/,aq/0.757, 3.784, 0.2897, 2./,
192 & bq/-0.645, -3.672, -0.2637, -1.25/,cq/3.23, 2.004,
193 & 1., 2./,dq/-3.118, -1.892, -0.9748, -1.25/,st1/3., 3.,
194 & 5., 4./,st2/4., 4., 6., 5./,st3/5., 5., 7., 6./,
195 & st4/6., 6., 8., 7./
196 DATA const0/-0.335 , 3.614 , 0.8673 , 0.0 , 0.0 , 0.0 ,
197 & -0.1612 , 4.667 , 0.0 , 0.0 , 0.0 , 0.0 ,
198 & -1.0 , 7.278 , 0.0 , 0.0 , 0.0 , 0.909,
199 & -1.0 , 5.304 , 0.0 , 0.0 , 0.0 , 3.017/
200 DATA const1/-0.1097 , .8395 ,-1.6637 , 1.1049, 0.0 , 0.0,
201 & -0.2092 , 0.7951,-1.0232 , 0.8616, 0.0 , 0.0,
202 & -0.3823,-0.7904,-1.6629,-0.0133,0.1211,-0.4023,
203 & -0.9342, 1.4654,-3.9141,9.0176,-5.9602,-4.7347/
204 DATA const2/-0.002442,-0.02186,0.342,-0.2369,0.0,0.0,
205 & 0.02657, 0.1081, 0.05799, 0.153,0.0,0.0,
206 & 0.02766, 0.8108,0.5719,0.5299,-0.1739,0.0063,
207 & 0.5454, -1.4292,2.8445,-10.426,7.515,3.3594/
208 DATA const3/ 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
209 & 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
210 & 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 ,
211 & -0.1668,0.7569,-0.8411,4.0983,-2.7329,-0.9443/
215 REAL percs,percsp,percd
216 REAL admxs,admxsp,admxd
217 REAL facts,factsp,factd
221 DOUBLE PRECISION dxdd,dxdu,dummyg1p, dummyg1n
222 DOUBLE PRECISION dxdub,dxddb
232 INTEGER i,j,
k,icount,icoun1,icerr
233 DATA icount /0/,icoun1/0/,icerr/0/
252 IF(lst(15).EQ.101)
THEN
259 xuv = 2./xuv*
x**valphau*(1.-
x)**vbetau
264 xdv = 1./xdv*
x**valphad*(1.-
x)**vbetad
268 xub = vc3*(1.+vgamma)*(1.-
x)**vgamma
292 ffu0 = 1./(1.+ vau0*
x**(-valphau)*(1.-
x)*(1.-
x))
293 ffu1 = 1./(1.+ vau1*
x**(-valphau)*(1.-
x)*(1.-
x))
294 ffd0 = 1./(1.+ vad0*
x**(-valphad)*(1.-
x)*(1.-
x))
295 ffd1 = 1./(1.+ vad1*
x**(-valphad)*(1.-
x)*(1.-
x))
296 fg1p = 0.5*(4*xuv*ffu0/9.
297 & - xdv*(4*ffu0+4*ffu1-ffd0+2*ffd1)/27.)
298 fg1n = 0.5*( xuv*ffd0/9.
299 & - xdv*(-4*ffu0+8*ffu1+ffd0+ffd1)/27.)
301 xduv = 6*(4*fg1p-fg1n)/5.
311 ffu0 = 1./(1.+ vau0*
x**(-valphau)*(1.-
x)*(1.-
x))
312 ffu1 = 1./(1.+ vau1*
x**(-valphau)*(1.-
x)*(1.-
x))
313 ffd0 = 1./(1.+ vad0*
x**(-valphad)*(1.-
x)*(1.-
x))
314 ffd1 = 1./(1.+ vad1*
x**(-valphad)*(1.-
x)*(1.-
x))
315 fg1p = 0.5*(4*xuv*ffu0/9.
316 & - xdv*( 4*ffu0+4*ffu1-ffd0+2*ffd1)/27.)
317 fg1n = 0.5*(xuv*ffd0/9.
318 & - xdv*(-4*ffu0+8*ffu1+ffd0+ffd1)/27.)
320 xddv = 6*(4*fg1n-fg1p)/5.
324 xdpq( 1) = xddv + xddb
326 xdpq( 2) = xduv + xdub
329 ELSEIF(lst(15).EQ.104)
THEN
337 IF (((q2.LT.0.25 ).OR.(q2.GT.1.e+8)).OR.
338 & ((
x.LT.1.e-5).OR.(
x.GT. 1. )))
THEN
340 IF(icoun1.lt.10)
THEN
341 WRITE(*,*)
'WARNING: (Q^2,x) exceeds allowed range'
343 IF(lst(22).eq.0.or.lst(25).eq.0)
THEN
350 www2 = mnucl*mnucl + q2*(1./
x-1.)
352 vs =
log(
log(q2/(0.232*0.232))/
log(0.25/(0.232*0.232)))
354 vn = 0.579 + 0.283*vs + 0.047*vs*vs
355 vka = 0.523 - 0.015*vs
356 va = 2.22 - 0.59*vs - 0.27*vs*vs
357 vb = 5.95 - 6.19*vs + 1.55*vs*vs
358 vd = 3.57 + 0.94*vs - 0.16*vs*vs
359 xdv = vn*
x**vka*(1.+va*sqrt(
x)+ vb*
x)*(1.-
x)**vd
361 vn = 0.663 + 0.191*vs - 0.041*vs*vs + 0.031*vs*vs*vs
363 va = -1.97 + 6.74*vs - 1.96*vs*vs
364 vb = 24.4 -20.7*vs + 4.08*vs*vs
365 vd = 2.86 + 0.7*vs - 0.02*vs*vs
366 xuv = vn*
x**vka*(1.+va*sqrt(
x)+ vb*
x)*(1.-
x)**vd - xdv
370 vkleina = 0.412 - 0.171*vs
371 vkleinb = 0.566 - 0.496*vs
374 vc = 1.029 + 1.785*vs - 0.459*vs*vs
375 vd = 4.696 + 2.109*vs
376 ve = 3.838 + 1.944*vs
378 xub = (
x**vkleina*(va+vb*
x+vc*
x*
x)*(
log(1./
x))**vkleinb
379 & +vs**valpha*exp(-ve+sqrt(vf*vs**vbeta*
log(1./
x))))
386 vkleina = 2.082 - 0.577*vs
387 va = -3.055 + 1.024*vs**0.67
388 vb = 27.4 - 20.0*vs**0.154
394 xs = (vs-vsw)**valpha/(
log(1./
x)**vkleina)
395 & *(1. + va*sqrt(
x) + vb*
x)*(1.-
x)**vd
396 & *exp(-ve + sqrt(vf*vs**vbeta*
log(1./
x)))
409 vf = 2.555 + 1.961*vs
412 IF (www2.GT.9.AND.vs.GT.vsw)
THEN
413 xc = (vs-vsw)**valpha/(
log(1./
x)**vkleina)
414 & *(1. + va*sqrt(
x) + vb*
x)*(1.-
x)**vd
415 & *exp(-ve + sqrt(vf*vs**vbeta*
log(1./
x)))
426 vd = 2.929 + 1.396*vs
431 IF (www2.GT.100.AND.vs.GT.vsw)
THEN
432 xbot = (vs-vsw)**valpha/(
log(1./
x)**vkleina)
433 & *(1. + va*sqrt(
x) + vb*
x)*(1.-
x)**vd
434 & *exp(-ve + sqrt(vf*vs**vbeta*
log(1./
x)))
441 vkleina = 1.00 - 0.17*vs
443 va = 4.879*vs - 1.383*vs*vs
444 vb = 25.92 - 28.97*vs + 5.596*vs*vs
445 vc = -25.69 + 23.68*vs - 1.975*vs*vs
446 vd = 2.537 + 1.718*vs + 0.353*vs*vs
447 ve = 0.595 + 2.138*vs
449 xg = (
x**vkleina*(va+vb*
x+vc*
x*
x)
450 & +vs**valpha*exp(-ve+sqrt(vf*vs**vbeta*
log(1./
x))))
472 ffu0 = 1./(1.+va0*
x**(-valphau)*(1.-
x)*(1.-
x))
473 ffu1 = 1./(1.+va0*va10*
x**(-valphau)*(1.-
x)*(1.-
x))
474 ffd0 = 1./(1.+va0*
x**(-valphad)*(1.-
x)*(1.-
x))
475 ffd1 = 1./(1.+va0*va10*
x**(-valphad)*(1.-
x)*(1.-
x))
478 & -xdv*(ffu0+ffu1)/3.
479 xddv = xdv*(ffd0-2*ffd1)/3.
483 xdg = xuv*(1.-ffu0)/2.
484 & +xdv*(2*ffd1-ffd0+ffu1+ffu0-3.)/6.
487 xdpq( 1) = xddv + xddb
489 xdpq( 2) = xduv + xdub
492 ELSEIF((lst(15).EQ.105).OR.(lst(15).EQ.106))
THEN
500 xuv = 1.996*
x**(-0.462)*(1.-
x)**3.96
501 & *(1. - 0.39*sqrt(
x) + 5.13*
x)*
x
502 xdv = 0.296*
x**(-0.67)*(1.-
x)**4.71
503 & *(1. + 5.03*sqrt(
x) + 5.56*
x)*
x
504 fdelta = 0.099*
x**(-0.462)*(1.-
x)**9.27*(1.+25*
x)
505 fm = 0.411*
x**(-1.3 )*(1.-
x)**9.27
506 & *(1. - 1.15*sqrt(
x) + 15.6*
x)
507 xub = 0.5*
x*(0.392*fm - fdelta)
508 xdb = 0.5*
x*(0.392*fm + fdelta)
512 xg = 0.775*
x**(-1.3)*(1.-
x)**5.3*(1.+5.2*
x)*
x
526 IF (lst(15).EQ.105)
THEN
530 xduv =
x**(-0.462)*(1.-
x)**3.96*(va1+va2*sqrt(
x)+va3*
x)*
x
535 xddv =
x**(-0.670)*(1.-
x)**4.71*(va1+va2*sqrt(
x)+va3*
x)*
x
540 fdelta =
x**(-0.462)*(1.-
x)**9.27*vd*(1.+25.*
x)
541 fm =
x**(-0.8 )*(1.-
x)**9.27
542 & *(vc1 + vc2*sqrt(
x))
544 xdub = 0.5*
x*(0.392*fm - fdelta)
545 xddb = 0.5*
x*(0.392*fm + fdelta)
549 ELSEIF(lst(15).EQ.106)
THEN
554 xduv =
x**(-0.462)*(1.-
x)**3.96*(va1+va2*sqrt(
x)+va3*
x)*
x
559 xddv =
x**(-0.670)*(1.-
x)**4.71*(va1+va2*sqrt(
x)+va3*
x)*
x
564 fdelta =
x**(-0.462)*(1.-
x)**9.27*vd*(1.+25.*
x)
565 fm =
x**(-0.8 )*(1.-
x)**9.27
566 & *(vc1+ vc2*sqrt(
x))
567 xdub = 0.5*
x*(0.392*fm - fdelta)
568 xddb = 0.5*
x*(0.392*fm + fdelta)
573 xdpq( 1) = xddv + xddb
575 xdpq( 2) = xduv + xdub
581 ELSEIF((lst(15).GE.107).AND.(lst(15).LE.109))
THEN
590 IF (lst(15).EQ.107) iflag = 0
591 IF (lst(15).EQ.108) iflag = 1
592 IF (lst(15).EQ.109) iflag = 2
603 CALL
mrseb(
dx,dq2,mode,mrsupv,mrsdnv,mrsusea,
604 & mrsdsea,mrsstr,mrschm,mrsbot,mrsglu)
607 xpq( 0) = sngl(mrsglu)
608 xpq( 1) = sngl(mrsdnv + mrsdsea)
609 xpq(-1) = sngl( mrsdsea)
610 xpq( 2) = sngl(mrsupv + mrsusea)
611 xpq(-2) = sngl( mrsusea)
612 xpq( 3) = sngl(mrsstr)
613 xpq(-3) = sngl(mrsstr)
614 xpq( 4) = sngl(mrschm)
615 xpq(-4) = sngl(mrschm)
616 xpq( 5) = sngl(mrsbot)
617 xpq(-5) = sngl(mrsbot)
620 CALL
polnlo(iflag,
x,q2,dxduv,dxddv,dxdg,dxdubar,dxddbar,dxds)
622 xdpq( 0) = sngl(dxdg)
623 xdpq( 1) = sngl(dxddv+dxddbar)
624 xdpq(-1) = sngl(dxddbar)
625 xdpq( 2) = sngl(dxduv+dxdubar)
626 xdpq(-2) = sngl(dxdubar)
627 xdpq( 3) = sngl(dxds)
628 xdpq(-3) = sngl(dxds)
647 ELSEIF((lst(15).GE.110).AND.(lst(15).LE.112) .or.
648 & (lst(15).GE.130).AND.(lst(15).LE.131) )
THEN
652 xuv = 3.221*
x**0.564*(1.-
x)**3.726
653 & *(1.-0.6889*
x**0.200 + 2.254*
x + 1.261*sqrt(
x)*
x)
654 xdv = 0.507*
x**0.376*(1.-
x)**4.476
655 & *(1.+1.615 *
x**0.553 + 3.651*
x + 1.299*sqrt(
x)*
x)
656 xupdb = (
x**0.158*(0.738 - 0.981*
x + 1.063*
x*
x)
658 & + 0.00285*exp(sqrt(-4.010*
log(
x))))*(1.-
x)**6.356
659 xdmub = 0.1067 *
x**0.4036 * (1.+ 0.4680*
x**0.8763 +
660 &
x * 18.6760) * (1.-
x)**8.6220
661 xs = 0.0034*(-
log(
x))**(-1.15)
662 & *(1.-2.392*sqrt(
x) + 7.094*
x)*(1.-
x)**6.166
663 & *exp(sqrt(-6.719*
log(
x)))
664 xg = (
x**0.731*(5.110 - 1.204*
x - 1.911*
x*
x)
665 & * (-
log(
x))**(-0.4718)
666 & + 0.0527*exp(sqrt(-4.584*
log(
x))))*(1.-
x)**5.566
669 xpq( 1) = xdv + (xupdb + xdmub)*0.5
670 xpq(-1) = (xupdb + xdmub)*0.5
671 xpq( 2) = xuv + (xupdb - xdmub)*0.5
672 xpq(-2) = (xupdb - xdmub)*0.5
679 IF(lst(15).EQ.110)
THEN
705 vnormu = (1.+ vgu*vau/(vau+vbu+1.))
708 & /
gamma(vau+vbu+1.5)
709 vnormd = (1.+ vgd*vad/(vad+vbd+1.))
712 & /
gamma(vad+vbd+1.5)
713 vnormqb = (1.+ vgqb*vaqb/(vaqb+vbqb+1.))
716 & /
gamma(vaqb+vbqb+1.5)
717 vnormg = (1.+ vgg*vag/(vag+vbg+1.))
720 & /
gamma(vag+vbg+1.5)
726 xduv = vetau*vnormu*
x**vau*(1.-
x)**vbu*(1.+vgu*
x
728 xddv = vetad*vnormd*
x**vad*(1.-
x)**vbd*(1.+vgd*
x
730 xdub = vetaqb*vnormqb*
x**vaqb*(1.-
x)**vbqb*
731 & (1.+vgqb*
x + vrqb*sqrt(
x))
734 xdg = vetag*vnormg*
x**vag*(1.-
x)**vbg*(1.+vgg*
x
738 xdpq( 1) = xddv + xddb
740 xdpq( 2) = xduv + xdub
746 ELSE IF(lst(15).EQ.111)
THEN
773 vnormu = (1.+ vgu*vau/(vau+vbu+1.))
776 & /
gamma(vau+vbu+1.5)
777 vnormd = (1.+ vgd*vad/(vad+vbd+1.))
780 & /
gamma(vad+vbd+1.5)
781 vnormqb = (1.+ vgqb*vaqb/(vaqb+vbqb+1.))
784 & /
gamma(vaqb+vbqb+1.5)
785 vnormg = (1.+ vgg*vag/(vag+vbg+1.))
788 & /
gamma(vag+vbg+1.5)
795 xduv = vetau*vnormu*
x**vau*(1.-
x)**vbu
796 & *(1.+vgu*
x + vru*sqrt(
x))
797 xddv = vetad*vnormd*
x**vad*(1.-
x)**vbd
798 & *(1.+vgd*
x + vrd*sqrt(
x))
799 xdub = vetaqb*vnormqb*
x**vaqb*(1.-
x)**vbqb*
800 & (1.+vgqb*
x + vrqb*sqrt(
x))
803 xdg = vetag*vnormg*
x**vag*(1.-
x)**vbg
804 & *(1.+vgg*
x + vrg*sqrt(
x))
807 xdpq( 1) = xddv + xddb
809 xdpq( 2) = xduv + xdub
815 ELSEIF(lst(15).EQ.112)
THEN
842 vnormu = (1.+ vgu*vau/(vau+vbu+1.))
845 & /
gamma(vau+vbu+1.5)
846 vnormd = (1.+ vgd*vad/(vad+vbd+1.))
849 & /
gamma(vad+vbd+1.5)
850 vnormqb = (1.+ vgqb*vaqb/(vaqb+vbqb+1.))
853 & /
gamma(vaqb+vbqb+1.5)
854 vnormg = (1.+ vgg*vag/(vag+vbg+1.))
857 & /
gamma(vag+vbg+1.5)
864 xduv = vetau*vnormu*
x**vau*(1.-
x)**vbu
865 & *(1.+vgu*
x + vru*sqrt(
x))
866 xddv = vetad*vnormd*
x**vad*(1.-
x)**vbd
867 & *(1.+vgd*
x + vrd*sqrt(
x))
868 xdub = vetaqb*vnormqb*
x**vaqb*(1.-
x)**vbqb*
869 & (1.+vgqb*
x + vrqb*sqrt(
x))
872 xdg = vetag*vnormg*
x**vag*(1.-
x)**vbg
873 & *(1.+vgg*
x + vrg*sqrt(
x))
876 xdpq( 1) = xddv + xddb
878 xdpq( 2) = xduv + xdub
883 ELSEIF(lst(15).EQ.130)
THEN
886 xdpq(2) = 0.5 * xpq(2)
888 ELSEIF(lst(15).EQ.131)
THEN
891 xdpq(1) = 0.5 * xpq(1)
903 ELSEIF ((lst(15).GE.113).AND.(lst(15).LE.115))
THEN
905 IF (lst(15).EQ.113) iflag = 0
906 IF (lst(15).EQ.114) iflag = 1
907 IF (lst(15).EQ.115) iflag = 2
917 & ,ddxuv,ddxdv,ddxdel,ddxudb,ddxsb,ddxgl)
919 xpq( 0) = sngl(ddxgl)
920 xpq( 1) = sngl(ddxdv + (ddxudb + ddxdel)*0.5d0)
921 xpq(-1) = sngl( (ddxudb + ddxdel)*0.5d0)
922 xpq( 2) = sngl(ddxuv + (ddxudb - ddxdel)*0.5d0)
923 xpq(-2) = sngl( (ddxudb - ddxdel)*0.5d0)
924 xpq( 3) = sngl(ddxsb)
925 xpq(-3) = sngl(ddxsb)
929 & ,dxduv,dxddv,dxdg,dxdqbar,dxds)
931 xdpq( 0) = sngl(dxdg)
932 xdpq( 1) = sngl(dxddv + dxdqbar)
933 xdpq(-1) = sngl(dxdqbar)
934 xdpq( 2) = sngl(dxduv + dxdqbar)
935 xdpq(-2) = sngl(dxdqbar)
936 xdpq( 3) = sngl(dxds)
937 xdpq(-3) = sngl(dxds)
952 ELSEIF ((lst(15).GE.116).AND.(lst(15).LE.119))
THEN
953 IF (lst(15).EQ.116) iset = 1
954 IF (lst(15).EQ.117) iset = 2
955 IF (lst(15).EQ.118) iset = 3
956 IF (lst(15).EQ.119) iset = 4
967 & ,ddxuv,ddxdv,ddxdel,ddxudb,ddxsb,ddxgl)
969 xpq( 0) = sngl(ddxgl)
970 xpq( 1) = sngl(ddxdv + (ddxudb + ddxdel)*0.5d0)
971 xpq(-1) = sngl( (ddxudb + ddxdel)*0.5d0)
972 xpq( 2) = sngl(ddxuv + (ddxudb - ddxdel)*0.5d0)
973 xpq(-2) = sngl( (ddxudb - ddxdel)*0.5d0)
974 xpq( 3) = sngl(ddxsb)
975 xpq(-3) = sngl(ddxsb)
980 & dxduv, dxddv, dxdqbar, dxds, dxdg)
982 xdpq( 0) = sngl(dxdg)
983 xdpq( 1) = sngl(dxddv) + sngl(dxdqbar)
984 xdpq(-1) = sngl(dxdqbar)
985 xdpq( 2) = sngl(dxduv) + sngl(dxdqbar)
986 xdpq(-2) = sngl(dxdqbar)
987 xdpq( 3) = sngl(dxds)
988 xdpq(-3) = sngl(dxds)
992 ELSEIF(lst(15).EQ.120)
THEN
999 qp(i) = x1*(aq(i)*
y**st1(i)+bq(i)*
y**st2(i))
1000 qm(i) = x1*(cq(i)*
y**st3(i)+dq(i)*
y**st4(i))
1005 qg(i) = qg(i)-2.*qg(3)
1006 qj(i) = qj(i)-2.*qj(3)
1009 xpq(i-4+int(i/4.)*3) = qg(3)
1010 xdpq(i-4+int(i/4.)*3) = qj(3)
1020 ELSEIF(lst(15).EQ.121)
THEN
1025 IF(q2.LE.4.) q2 = 4.
1026 z=alog(alog(q2/ww(2))/ww(3))
1030 aaa(i,j) = const0(i,j) + const1(i,j)*
z +
1031 & const2(i,j)*
z*
z + const3(i,j)*
z*
z*
z
1039 ss=1.+aaa(3,i)*x1+aaa(4,i)*x1*x1
1040 sumr(i)=sumr(i)+x1**aaa(1,i)*(1.-x1)*
1043 aaa(6,i)=(5.-2.*i)/sumr(i)
1046 ss = 1.+aaa(3,i)*
x+aaa(4,i)*
x*
x+aaa(5,i)*
x*
x*
x
1047 qg(i) =
x**aaa(1,i)*(1.-
x)**aaa(2,i)*ss*aaa(6,i)
1055 qj(i) =
x**aj(i)*(1.-
x)**bj(i)*ss*rj(i)
1059 xpq(i-4+int(i/4.)*3) = qg(3)
1060 xdpq(i-4+int(i/4.)*3) = qj(3)
1079 ELSEIF ((lst(15).GE.124).AND.(lst(15).LE.129))
THEN
1098 IF (lst(15).EQ.124) mode=1
1099 IF (lst(15).EQ.125) mode=2
1100 IF (lst(15).EQ.126) mode=3
1101 IF (lst(15).EQ.127) mode=4
1102 IF (lst(15).EQ.128) mode=5
1103 IF (lst(15).EQ.129) mode=6
1112 IF ((lst(15).GE.124).AND.(lst(15).LE.126))
THEN
1114 & ,ddxuv,ddxdv,ddxdel,ddxudb,ddxsb,ddxgl)
1115 ELSEIF ((lst(15).GE.127).AND.(lst(15).LE.129))
THEN
1117 & ,ddxuv,ddxdv,ddxdel,ddxudb,ddxsb,ddxgl)
1120 xpq( 0) = sngl(ddxgl)
1121 xpq( 1) = sngl(ddxdv + (ddxudb + ddxdel)*0.5d0)
1122 xpq(-1) = sngl( (ddxudb + ddxdel)*0.5d0)
1123 xpq( 2) = sngl(ddxuv + (ddxudb - ddxdel)*0.5d0)
1124 xpq(-2) = sngl( (ddxudb - ddxdel)*0.5d0)
1125 xpq( 3) = sngl(ddxsb)
1126 xpq(-3) = sngl(ddxsb)
1130 CALL
polfit(mode,
dx,dq2,dxduv,dxddv,dxdqbar,dxdstr,dxdglu)
1131 xdpq( 0) = sngl(dxdglu)
1132 xdpq( 1) = sngl(dxddv) + sngl(dxdqbar)
1133 xdpq(-1) = sngl(dxdqbar)
1134 xdpq( 2) = sngl(dxduv) + sngl(dxdqbar)
1135 xdpq(-2) = sngl(dxdqbar)
1136 xdpq( 3) = sngl(dxdstr)
1137 xdpq(-3) = sngl(dxdstr)
1138 ELSEIF(lst(15).EQ.132)
THEN
1142 ELSEIF ((lst(15).GE.133).AND.(lst(15).LE.136))
THEN
1157 IF(initcteq.eq.1)
THEN
1177 xpq( i) =
x*sngl(ddxpq(i))
1181 xdpq( 1) = -0.3*xpq(1)
1183 xdpq( 2) = 0.5*xpq(2)
1189 IF(xpq(2).EQ.0.0) xpq(2)=0.000001
1191 ELSEIF((lst(15).GE.137).AND.(lst(15).LE.138))
THEN
1202 CALL
mrseb(
dx,dq2,mode,mrsupv,mrsdnv,mrsusea,
1203 & mrsdsea,mrsstr,mrschm,mrsbot,mrsglu)
1206 xpq( 0) = sngl(mrsglu)
1207 xpq( 1) = sngl(mrsdnv + mrsdsea)
1208 xpq(-1) = sngl( mrsdsea)
1209 xpq( 2) = sngl(mrsupv + mrsusea)
1210 xpq(-2) = sngl( mrsusea)
1211 xpq( 3) = sngl(mrsstr)
1212 xpq(-3) = sngl(mrsstr)
1213 xpq( 4) = sngl(mrschm)
1214 xpq(-4) = sngl(mrschm)
1215 xpq( 5) = sngl(mrsbot)
1216 xpq(-5) = sngl(mrsbot)
1221 xdpq( 1) = -0.3*xpq(1)
1223 xdpq( 2) = 0.5*xpq(2)
1240 ELSEIF ((lst(15).GE.144).AND.(lst(15).LE.147))
THEN
1242 IF(
x.LE.0.00001)
THEN
1254 IF(q2.GE.1.0e6)
THEN
1267 IF ((lst(15).GE.144).AND.(lst(15).LE.145))
THEN
1269 ELSEIF ((lst(15).GE.146).AND.(lst(15).LE.147))
THEN
1273 & ,ddxuv,ddxdv,ddxus, ddxds, ddxsb,ddxgl)
1276 xpq( 0) = sngl(ddxgl)
1277 xpq( 1) = sngl(ddxdv + ddxds)
1278 xpq(-1) = sngl(ddxds)
1279 xpq( 2) = sngl(ddxuv + ddxus)
1280 xpq(-2) = sngl(ddxus)
1281 xpq( 3) = sngl(ddxsb)
1282 xpq(-3) = sngl(ddxsb)
1287 IF (lst(15).EQ.144) iset = 3
1288 IF (lst(15).EQ.145) iset = 4
1289 IF (lst(15).EQ.146) iset = 1
1290 IF (lst(15).EQ.147) iset = 2
1295 & dxdu, dxdd, dxdub, dxddb, dxdstr, dxdglu,
1296 & dummyg1p, dummyg1n)
1297 xdpq( 0) = sngl(dxdglu)
1298 xdpq( 1) = sngl(dxdd)
1299 xdpq(-1) = sngl(dxddb)
1300 xdpq( 2) = sngl(dxdu)
1301 xdpq(-2) = sngl(dxdub)
1302 xdpq( 3) = sngl(dxdstr)
1303 xdpq(-3) = sngl(dxdstr)
1311 ELSEIF((lst(15).GE.150).AND.(lst(15).LE.152))
THEN
1313 IF(
x.LE.0.00001)
THEN
1325 IF(q2.GE.1.0e4)
THEN
1330 xpq(-5) =
x*sngl(
ctq5pdf(-5, dble(
x), dble(sqrt(q2))))
1331 xpq(-4) =
x*sngl(
ctq5pdf(-4, dble(
x), dble(sqrt(q2))))
1332 xpq(-3) =
x*sngl(
ctq5pdf(-3, dble(
x), dble(sqrt(q2))))
1333 xpq(-2) =
x*sngl(
ctq5pdf(-1, dble(
x), dble(sqrt(q2))))
1334 xpq(-1) =
x*sngl(
ctq5pdf(-2, dble(
x), dble(sqrt(q2))))
1335 xpq( 0) =
x*sngl(
ctq5pdf( 0, dble(
x), dble(sqrt(q2))))
1336 xpq( 1) =
x*sngl(
ctq5pdf( 2, dble(
x), dble(sqrt(q2))))
1337 xpq( 2) =
x*sngl(
ctq5pdf( 1, dble(
x), dble(sqrt(q2))))
1338 xpq( 3) =
x*sngl(
ctq5pdf( 3, dble(
x), dble(sqrt(q2))))
1339 xpq( 4) =
x*sngl(
ctq5pdf( 4, dble(
x), dble(sqrt(q2))))
1340 xpq( 5) =
x*sngl(
ctq5pdf( 5, dble(
x), dble(sqrt(q2))))
1357 ELSEIF((lst(15).GE.161).AND.(lst(15).LE.172))
THEN
1359 IF(
x.LE.0.00001)
THEN
1371 IF(q2.GE.1.0e4)
THEN
1378 CALL
mrs99(dble(
x),dble(sqrt(q2)),mode,
1379 & mrsupv,mrsdnv,mrsusea,mrsdsea,mrsstr,mrschm,mrsbot,
1382 xpq(-5) = sngl(mrsbot)
1383 xpq(-4) = sngl(mrschm)
1384 xpq(-3) = sngl(mrsstr)
1385 xpq(-2) = sngl(mrsusea)
1386 xpq(-1) = sngl(mrsdsea)
1387 xpq( 0) = sngl(mrsglu)
1388 xpq( 1) = sngl(mrsdsea)+sngl(mrsdnv)
1389 xpq( 2) = sngl(mrsusea)+sngl(mrsupv)
1390 xpq( 3) = sngl(mrsstr)
1391 xpq( 4) = sngl(mrschm)
1392 xpq( 5) = sngl(mrsbot)
1396 ELSEIF((lst(15).GE.173).AND.(lst(15).LE.175))
THEN
1398 IF(
x.LE.0.00001)
THEN
1410 IF(q2.GE.1.0e4)
THEN
1415 xpq(-5) =
x*sngl(
ctq6pdf(-5, dble(
x), dble(sqrt(q2))))
1416 xpq(-4) =
x*sngl(
ctq6pdf(-4, dble(
x), dble(sqrt(q2))))
1417 xpq(-3) =
x*sngl(
ctq6pdf(-3, dble(
x), dble(sqrt(q2))))
1418 xpq(-2) =
x*sngl(
ctq6pdf(-1, dble(
x), dble(sqrt(q2))))
1419 xpq(-1) =
x*sngl(
ctq6pdf(-2, dble(
x), dble(sqrt(q2))))
1420 xpq( 0) =
x*sngl(
ctq6pdf( 0, dble(
x), dble(sqrt(q2))))
1421 xpq( 1) =
x*sngl(
ctq6pdf( 2, dble(
x), dble(sqrt(q2))))
1422 xpq( 2) =
x*sngl(
ctq6pdf( 1, dble(
x), dble(sqrt(q2))))
1423 xpq( 3) =
x*sngl(
ctq6pdf( 3, dble(
x), dble(sqrt(q2))))
1424 xpq( 4) =
x*sngl(
ctq6pdf( 4, dble(
x), dble(sqrt(q2))))
1425 xpq( 5) =
x*sngl(
ctq6pdf( 5, dble(
x), dble(sqrt(q2))))
1427 IF(mcset_sfact.eq.2)
THEN
1428 xpq( 3) = (
x*sngl(
ctq6pdf( 3, dble(
x), dble(sqrt(q2)))))*
1429 1 ((
x**(-0.3))*(1-
x)*exp(-
x/0.05))
1432 IF(mcset_sbfact.eq.2)
THEN
1433 xpq(-3) = (
x*sngl(
ctq6pdf(-3, dble(
x), dble(sqrt(q2)))))*
1434 1 ((
x**(-0.3))*(1-
x)*exp(-
x/0.05))
1444 WRITE(*,*)
'NOT KNOWN PARTON DENSITY FUNCTION: STOP',lst(15)
1449 IF(abs(xdpq(i)).gt.xpq(i))
THEN
1450 IF(icerr.lt.iplst(1).and.q2.gt.1.)
THEN
1451 WRITE(*,*)
'Non proper parton set : ',xdpq(i),xpq(i),i,
x,q2
1454 IF(xdpq(i).gt.0)
THEN
1463 IF(lst(39).NE.0)
THEN
1464 f2p = 4.*(xpq(2)+xpq(-2)+xpq(4)+xpq(-4))
1465 & +xpq(1)+xpq(-1)+xpq(3)+xpq(-3)
1466 IF(lst(36).eq.0)
THEN
1469 f2n = 4.*(xdv+2*xpq(-2)+xpq(4)+xpq(-4))
1470 & + xuv+2*xpq(-1)+xpq(3)+xpq(-3)
1472 f2n = 4.*(xpq(1)+xpq(-1)+xpq(4)+xpq(-4))+
1473 & xpq(2)+xpq(-2)+xpq(3)+xpq(-3)
1479 IF(lst(39).EQ.3)
THEN
1493 facts = f2n/(f2n+2*f2p)
1495 factd = 2*f2p/(f2n+2*f2p)
1496 ELSEIF(lst(39).EQ.2)
THEN
1510 facts = f2n/(f2n+2*f2p)
1515 ELSEIF(lst(39).EQ.1)
THEN
1529 facts = f2n/(f2n+2*f2p)
1537 IF(lst(36).EQ.0)
THEN
1539 xpq(1)=(1.-pari11)*xdv+pari11*xuv+xpq(-1)
1540 xpq(2)=(1.-pari11)*xuv+pari11*xdv+xpq(-2)
1542 xddv=xdpq(1)-xdpq(-1)
1543 xduv=xdpq(2)-xdpq(-2)
1544 xdpq(1)= ((1.-admxs )*xddv+admxs *xduv )
1546 & +((1.-admxsp)*xddv+admxsp*xduv )
1548 & +((1.-admxd )*xddv+admxd *xduv )
1550 xdpq(2)= ((1.-admxs )*xduv+admxs *xddv )
1552 & +((1.-admxsp)*xduv+admxsp*xddv )
1554 & +((1.-admxd )*xduv+admxd *xddv )
1560 xdpq(1)= xdpq(1) + xdpq(-1)
1563 xdpq(2)= xdpq(2) + xdpq(-2)
1567 & (facts*percs+factsp*percsp+factd*percd)
1570 ELSEIF(lst(36).EQ.1)
THEN
1573 xpq(1) =(1.-pari11)*xd+pari11*xu
1574 xpq(2) =(1.-pari11)*xu+pari11*xd
1577 xpq(-1)=(1.-pari11)*xd+pari11*xu
1578 xpq(-2)=(1.-pari11)*xu+pari11*xd
1590 xdpq(1)= ((1.-admxs )*xdd+admxs *xdu )
1592 & +((1.-admxsp)*xdd+admxsp*xdu )
1594 & +((1.-admxd )*xdd+admxd *xdu )
1597 xdpq(2)= ((1.-admxs )*xdu+admxs *xdd )
1599 & +((1.-admxsp)*xdu+admxsp*xdd )
1601 & +((1.-admxd )*xdu+admxd *xdd )
1604 ELSEIF(i.eq.-1)
THEN
1605 xdpq(-1)=((1.-admxs)*xdds+admxs*xdus)
1607 & +((1.-admxsp)*xdds+admxsp*xdus )
1609 & +((1.-admxd )*xdds+admxd *xdus )
1611 ELSEIF(i.eq.-2)
THEN
1612 xdpq(-2)=((1.-admxs)*xdus+admxs*xdds )
1614 & +((1.-admxsp)*xdus+admxsp*xdds )
1616 & +((1.-admxd )*xdus+admxd *xdds )
1621 & (facts*percs+factsp*percsp+factd*percd)
1630 xdpq(i) = float(lst(38))* xdpq(i)