]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PDF/spdf/sfgrvh.F
(martin) pt vs eta correction matrix calculation macro using CorrectionMatrix2D class.
[u/mrichter/AliRoot.git] / PDF / spdf / sfgrvh.F
CommitLineData
21886bb6 1*
2* $Id$
3*
4* $Log$
7ef50f50 5* Revision 1.4 2000/09/18 10:02:36 hristov
6* Makefile added to PDF8
7*
21886bb6 8* Revision 1.1.1.2 1996/10/30 08:29:48 cernlib
9* Version 7.04
10*
11* Revision 1.1.1.1 1996/04/12 15:29:35 plothow
12* Version 7.01
13*
14*
15#include "pdf/pilot.h"
16C
17 SUBROUTINE SFGRVH(DX,DSCAL,DUPV,DDNV,DSEA,DSTR,DCHM,DBOT,DTOP,DGL)
18C
19C :::::::::::: Structure functions from Glueck, Reya and Vogt (HO)
20C :::::::::::: Lambda(NF=3) = 0.200 GeV
21C
22 DIMENSION XQ(7)
7ef50f50 23#if defined(CERNLIB_DOUBLE)
24 DOUBLE PRECISION
25#endif
26#if defined(CERNLIB_SINGLE)
27 REAL
28#endif
21886bb6 29 + DX,DSCAL,DUPV,DDNV,DSEA,DSTR,DCHM,DBOT,DTOP,DGL
30 PARAMETER (ALAM=0.200)
31C
32 X = DX
33 Q2 = DSCAL**2
34C
35C generate the individual structure fcn calls
36C
37C...Higher order parametrization of Gluck, Reya, Vogt.
38C...Allowed variable range: 0.2 GeV^2 < Q2 < 1E6 GeV^2; 1E-4 < x < 1.
39
40C...Determine s and x.
41 Q2IN=MIN(1.E6,MAX(0.2,Q2))
42 SD=LOG(LOG(Q2IN/ALAM**2)/LOG(0.2/ALAM**2))
43 SD2=SD**2
44 XC=MAX(1.E-4,X)
45 XL=-LOG(XC)
46
47C...Calculate structure functions.
48 XQ(1)=(1.364+0.989*SD-0.236*SD2)*XC**(0.593-0.048*SD)*
49 & (1.+(8.912-6.092*SD+0.852*SD2)*XC+(-16.737+7.039*SD)*XC**2+
50 & (10.275+0.806*SD-2.000*SD2)*XC**3)*
51 & (1.-XC)**(2.043+1.408*SD-0.283*SD2)
52 XQ(2)=(0.835+0.527*SD-0.144*SD2)*XC**(0.600-0.054*SD)*
53 & (1.+(10.245-7.821*SD+1.325*SD2)*XC+(-19.511+10.940*SD-
54 & 1.133*SD2)*XC**2+(12.836-2.570*SD-1.041*SD2)*XC**3)*
55 & (1.-XC)**(3.083+1.382*SD-0.276*SD2)
56 XQ(3)=(XC**(0.321-0.135*SD)*((10.51-2.299*SD)+
57 & (-17.28+0.755*SD)*XC+(8.242+2.543*SD)*XC**2)*
58 & XL**(-2.023-0.103*SD)+SD**1.044*
59 & EXP(-(-1.178+2.792*SD)+SQRT(2.318*SD**1.673*XL)))*
60 & (1.-XC)**(3.720+2.337*SD-0.199*SD2)
61 XQ(4)=SD**0.761*(1.+(6.078-2.065*SD)*XC)*(1.-XC)**(4.654+
62 & 0.603*SD-0.326*SD2)*EXP(-(4.231+1.036*SD)+SQRT(3.419*SD**0.316*
63 & XL))/XL**(0.897-0.618*SD)
64 XQ(5)=0.
65 IF(SD.GT.0.918) XQ(5)=(SD-0.918)*(1.-XC)**(3.328+0.859*SD)*
66 & EXP(-(3.837+1.504*SD)+SQRT((2.150+1.291*SD)*SD**0.5*XL))
67 XQ(6)=0.
68 IF(SD.GT.1.353) XQ(6)=(SD-1.353)*(1.-XC)**(3.382+0.909*SD)*
69 & EXP(-(4.130+1.486*SD)+SQRT((2.895+1.240*SD)*SD**0.5*XL))
70
71C...Put into output array - special factor for small x.
72 CXS=1.
73C IF(X.LT.1E-4.AND.ABS(XLOWPW-1.).GT.0.01)
74C & CXS=(1E-4/X)**(XLOWPW-1.)
75 UPV = CXS*XQ(1)
76 DUPV = UPV
77 DNV = CXS*XQ(2)
78 DDNV = DNV
79 SEA = CXS*XQ(4)
80 DSEA = SEA
81 STR = CXS*XQ(4)
82 DSTR = STR
83 CHM = CXS*XQ(5)
84 DCHM = CHM
85 DBOT = 0.0D0
86 DTOP = 0.0D0
87 GL = CXS*XQ(3)
88 DGL = GL
89C
90 RETURN
91 END