EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mrs99.F
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file mrs99.F
1  subroutine mrs99(x,q,mode,upv,dnv,usea,dsea,str,chm,bot,glu)
2 C****************************************************************C
3 C This is a package for the new **corrected** MRST parton C
4 C distributions. The format is similar to the previous C
5 C (1998) MRST series. C
6 C C
7 C NOTE: 7 new sets are added here, corresponding to shifting C
8 C the small x HERA data up and down by 2.5%, and by varying C
9 C the charm and strange distributions, and by forcing a C
10 C larger d/u ratio at large x. C
11 C C
12 C As before, x times the parton distribution is returned, C
13 C q is the scale in GeV, MSbar factorization is assumed, C
14 C and Lambda(MSbar,nf=4) is given below for each set. C
15 C C
16 C NAMING SCHEME: C
17 
18 C mode set comment L(4)/MeV a_s(M_Z) grid#1 C
19 C ---- --- ------- -------- ------- ------ C
20 C 1 COR01 central gluon, a_s 300 0.1175 0.00537 C
21 C 2 COR02 higher gluon 300 0.1175 0.00497 C
22 C 3 COR03 lower gluon 300 0.1175 0.00398 C
23 C 4 COR04 lower a_s 229 0.1125 0.00585 C
24 C 5 COR05 higher a_s 383 0.1225 0.00384 C
25 C 6 COR06 quarks up 303.3 0.1178 0.00497 C
26 C 7 COR07 quarks down 290.3 0.1171 0.00593 C
27 C 8 COR08 strange up 300 0.1175 0.00524 C
28 C 9 COR09 strange down 300 0.1175 0.00524 C
29 C 10 C0R10 charm up 300 0.1175 0.00525 C
30 C 11 COR11 charm down 300 0.1175 0.00524 C
31 C 12 COR12 larger d/u 300 0.1175 0.00515 C
32 C The corresponding grid files are called cor01.dat etc. C
33 C The reference is: C
34 C A.D. Martin, R.G. Roberts, W.J. Stirling, R.S Thorne C
35 C Univ. Durham preprint DTP/99/64, hep-ph/9907231 (1999) C
36 C C
37 C Comments to : W.J.Stirling@durham.ac.uk C
38 C C
39 C****************************************************************C
40  implicit real*8(a-h,o-z)
41  data xmin,xmax,qsqmin,qsqmax/1d-5,1d0,1.25d0,1d7/
42  q2=q*q
43  if(q2.lt.qsqmin.or.q2.gt.qsqmax) print 99
44  if(x.lt.xmin.or.x.gt.xmax) print 98
45  if(mode.eq.1) then
46  call mrs991(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
47  elseif(mode.eq.2) then
48  call mrs992(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
49  elseif(mode.eq.3) then
50  call mrs993(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
51  elseif(mode.eq.4) then
52  call mrs994(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
53  elseif(mode.eq.5) then
54  call mrs995(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
55  elseif(mode.eq.6) then
56  call mrs996(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
57  elseif(mode.eq.7) then
58  call mrs997(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
59  elseif(mode.eq.8) then
60  call mrs998(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
61  elseif(mode.eq.9) then
62  call mrs999(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
63  elseif(mode.eq.10) then
64  call mrs9910(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
65  elseif(mode.eq.11) then
66  call mrs9911(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
67  elseif(mode.eq.12) then
68  call mrs9912(x,q2,upv,dnv,usea,dsea,str,chm,bot,glu)
69  endif
70  99 format(' WARNING: Q^2 VALUE IS OUT OF RANGE ')
71  98 format(' WARNING: X VALUE IS OUT OF RANGE ')
72  return
73  end