]>
Commit | Line | Data |
---|---|---|
4e9e3152 | 1 | subroutine GSG96evolvep0(xin,qin,p2in,ip2in,pdf) |
2 | include 'parmsetup.inc' | |
3 | real*8 xin,qin,q2in,p2in,pdf(-6:6),xval(45),qcdl4,qcdl5 | |
4 | real*8 upv,dnv,usea,dsea,str,chm,bot,top,glu | |
5 | real*8 SIG,QNS,GL | |
6 | common/gsgdat/SIG(78,11,3),QNS(78,11,3),GL(78,11,3) | |
7 | character*16 name(nmxset) | |
8 | integer nmem(nmxset),ndef(nmxset),mmem | |
9 | common/NAME/name,nmem,ndef,mmem | |
10 | integer nset | |
11 | ||
12 | save | |
13 | ||
14 | iimem = 2 | |
15 | call GS96HL(iimem,xin,qin,upv,dnv,str,chm,bot,glu) | |
16 | usea = upv | |
17 | dsea = dnv | |
18 | ||
19 | pdf(-6)= 0.0d0 | |
20 | pdf(6)= 0.0d0 | |
21 | pdf(-5)= bot | |
22 | pdf(5 )= bot | |
23 | pdf(-4)= chm | |
24 | pdf(4 )= chm | |
25 | pdf(-3)= str | |
26 | pdf(3 )= str | |
27 | pdf(-2)= usea | |
28 | pdf(2 )= upv | |
29 | pdf(-1)= dsea | |
30 | pdf(1 )= dnv | |
31 | pdf(0 )= glu | |
32 | ||
33 | return | |
34 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
35 | entry GSG96evolvep1(xin,qin,p2in,ip2in,pdf) | |
36 | ||
37 | iimem = 1 | |
38 | call GS96HL(iimem,xin,qin,upv,dnv,str,chm,bot,glu) | |
39 | usea = upv | |
40 | dsea = dnv | |
41 | ||
42 | pdf(-6)= 0.0d0 | |
43 | pdf(6)= 0.0d0 | |
44 | pdf(-5)= bot | |
45 | pdf(5 )= bot | |
46 | pdf(-4)= chm | |
47 | pdf(4 )= chm | |
48 | pdf(-3)= str | |
49 | pdf(3 )= str | |
50 | pdf(-2)= usea | |
51 | pdf(2 )= upv | |
52 | pdf(-1)= dsea | |
53 | pdf(1 )= dnv | |
54 | pdf(0 )= glu | |
55 | ||
56 | return | |
57 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
58 | entry GSG96read(nset) | |
59 | read(1,*)nmem(nset),ndef(nset) | |
60 | ||
61 | do m = 1,2 | |
62 | do k = 1,78 | |
63 | read(1,*)(sig(k,j,m),j=1,4) | |
64 | read(1,*)(sig(k,j,m),j=5,8) | |
65 | read(1,*)(sig(k,j,m),j=9,11) | |
66 | enddo | |
67 | do k = 1,78 | |
68 | read(1,*)(qns(k,j,m),j=1,4) | |
69 | read(1,*)(qns(k,j,m),j=5,8) | |
70 | read(1,*)(qns(k,j,m),j=9,11) | |
71 | enddo | |
72 | do k = 1,78 | |
73 | read(1,*)(gl(k,j,m),j=1,4) | |
74 | read(1,*)(gl(k,j,m),j=5,8) | |
75 | read(1,*)(gl(k,j,m),j=9,11) | |
76 | enddo | |
77 | enddo | |
78 | return | |
79 | c | |
80 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
81 | entry GSG96alfa(alfas,qalfa) | |
82 | call getnset(iset) | |
83 | call getnmem(iset,imem) | |
84 | call GetOrderAsM(iset,iord) | |
85 | call Getlam4M(iset,imem,qcdl4) | |
86 | call Getlam5M(iset,imem,qcdl5) | |
87 | call aspdflib(alfas,Qalfa,iord,qcdl5) | |
88 | return | |
89 | c | |
90 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
91 | entry GSG96init(Eorder,Q2fit) | |
92 | return | |
93 | c | |
94 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
95 | entry GSG96pdf(mem) | |
96 | call getnset(iset) | |
97 | call setnmem(iset,mem) | |
98 | c imem = mem | |
99 | return | |
100 | c | |
101 | 1000 format(5e13.5) | |
102 | end | |
103 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
104 | c SUBROUTINE GS96HO(X,Q,U,D,S,C,B,G) | |
105 | SUBROUTINE GS96HL(iset,X,Q,U,D,S,C,B,G) | |
106 | implicit real*8 (a-h,o-z) | |
107 | PARAMETER(NP=78,NQ=11,NARG=2) | |
108 | ***************************************************************** | |
109 | * Subroutine returns the parton distributions in the photon in * | |
110 | * next-to-leading order. u,d etc. gives the actual distributions* | |
111 | * not x times the distributions; Q2 means Q^2. The distributions* | |
112 | * are valid for 5.0e^-4< x < 1.0 and 5.3 GeV^2 < Q^2 < 1.0e^8. * | |
113 | * if higher Q^2 or lower x is required, these may be obtained * | |
114 | * from the authors on request. * | |
115 | * Lionel Gordon April 1996 : Gordon@hep.anl.gov * | |
116 | * John Storrow :johns@a3.ph.man.ac.uk * | |
117 | ***************************************************************** | |
118 | c DIMENSION SIG(NP,NQ),QNS(NP,NQ),GL(NP,NQ),Y(NP) | |
119 | DIMENSION Y(NP) | |
120 | DIMENSION XT(NARG),NA(NARG),A(NP+NQ),QT(NQ) | |
121 | common/gsgdat/SIG(78,11,3),QNS(78,11,3),GL(78,11,3) | |
122 | EXTERNAL GS2XCOR | |
123 | c SAVE SIG,QNS,GL,Y,ICALL | |
124 | SAVE Y,ICALL | |
125 | DATA QT /3.0D0,20.0D0,50.0D0,100.0D0,500.0D0,1.0D3,1.0D4,1.0D5, | |
126 | + 1.0D6,1.0D7,1.0D8/ | |
127 | ****************************************************************** | |
128 | q2=q*q | |
129 | *if x is out of range | |
130 | IF((X.LT.5.0D-4).OR.(X.GT.1.0D0)) GOTO 90 | |
131 | ******************************************************************* | |
132 | IF (ICALL.NE.1) THEN | |
133 | * get the x coordinates | |
134 | CALL GS2XCOR(Y,NP) | |
135 | ICALL=1 | |
136 | END IF | |
137 | * | |
138 | DO 30 IX=1,NP | |
139 | A(IX)=Y(IX) | |
140 | 30 CONTINUE | |
141 | DO 40 IQ=1,NQ | |
142 | A(NP+IQ)=QT(IQ) | |
143 | 40 CONTINUE | |
144 | * | |
145 | NA(1)=NP | |
146 | NA(2)=NQ | |
147 | XT(1)=X | |
148 | XT(2)=Q2 | |
149 | XSIG=DBFINT(2,XT,NA,A,SIG(1,1,iset)) | |
150 | XQNS=DBFINT(2,XT,NA,A,QNS(1,1,iset)) | |
151 | G =DBFINT(2,XT,NA,A,GL(1,1,iset)) | |
152 | * | |
153 | IF (Q2.LT.50.0D0) THEN | |
154 | C Use three flavour evolution. | |
155 | U=(XSIG+9.0D0*XQNS)/6.0D0 | |
156 | D=(XSIG-4.5D0*XQNS)/6.0D0 | |
157 | S=D | |
158 | C=0.0D0 | |
159 | B=0.0D0 | |
160 | * | |
161 | ELSE IF((Q2.GT.50.0).AND.(Q2.LT.250.0)) THEN | |
162 | C Use four flavour evolution | |
163 | U=(XSIG+6.0D0*XQNS)/8.0D0 | |
164 | D=(XSIG-6.0D0*XQNS)/8.0D0 | |
165 | S=D | |
166 | C=U | |
167 | B=0.0D0 | |
168 | ELSE | |
169 | C Use five flavour evolution | |
170 | U=(XSIG+7.5D0*XQNS)/10.0D0 | |
171 | D=(XSIG-5.0D0*XQNS)/10.0D0 | |
172 | S=D | |
173 | C=U | |
174 | B=D | |
175 | ENDIF | |
176 | U=X*U | |
177 | US=U | |
178 | D=X*D | |
179 | DS=D | |
180 | S=X*S | |
181 | C=X*C | |
182 | B=X*B | |
183 | G=X*G | |
184 | 90 RETURN | |
185 | END | |
186 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | |
187 | SUBROUTINE GS2XCOR(Y,NP) | |
188 | IMPLICIT REAL*8(A-H,O-Z) | |
189 | DIMENSION Y(NP) | |
190 | N=1 | |
191 | DO 10 IX=1,20,2 | |
192 | Y(N)=DBLE(IX)/2000.0D0 | |
193 | N=N+1 | |
194 | 10 CONTINUE | |
195 | DO 20 IX=30,200,10 | |
196 | Y(N)=DBLE(IX)/2000.0D0 | |
197 | N=N+1 | |
198 | 20 CONTINUE | |
199 | DO 30 IX=240,1600,40 | |
200 | Y(N)=REAL(IX)/2000.0D0 | |
201 | N=N+1 | |
202 | 30 CONTINUE | |
203 | DO 40 IX=1625,1980,25 | |
204 | Y(N)=REAL(IX)/2000.0D0 | |
205 | N=N+1 | |
206 | 40 CONTINUE | |
207 | RETURN | |
208 | END | |
209 | ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |