]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PDF/tpdf/testgamo.F
New methods and data member added by M. Horner.
[u/mrichter/AliRoot.git] / PDF / tpdf / testgamo.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.2  1996/10/30 08:32:51  cernlib
6 * Version 7.04
7 *
8 * Revision 1.1.1.1  1996/04/12 15:30:17  plothow
9 * Version 7.01
10 *
11 *
12 #include "pdf/pilot.h"
13       PROGRAM TESTGAMO
14 C
15 #include "pdf/impdp.inc"
16       PARAMETER (LFLPRT = 2)
17 C+SEQ, W5051P2.
18       PARAMETER (MODEMX = 281)
19 #include "pdf/w5051p7.inc"
20 #include "pdf/w50510.inc"
21 #include "pdf/w50511.inc"
22 #include "pdf/w50512.inc"
23 #include "pdf/w50513.inc"
24 #include "pdf/w50516.inc"
25 #include "pdf/w50517.inc"
26 C
27 #include "pdf/expdp.inc"
28      +       DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DTB,DGL
29       REAL       GLUCK
30       COMMON/W5051I8/GLUCK
31 #include "pdf/expdp.inc"
32      +               XI(32),WI(32),XX(33)
33       COMMON/W5051I9/XI,WI,XX,NTERMS
34 #include "pdf/expdp.inc"
35      +       XV(3),ZQ(5)
36       DATA XV/0.05D0,0.50D0,0.95D0/
37       DATA ZQ/10.D0,100.D0,1000.D0,1.D+4,5.5D+5/
38       DATA FLAV/4.D0/
39       DATA ALQED/137.D0/
40       DATA ICALL/0/
41       CHARACTER*20 PARM(20)
42 #include "pdf/expdp.inc"
43      +       VAL(20)
44 C
45       N6 = L6
46       IFLPRT = LFLPRT
47 C
48       IF(GLUCK.LT.0.01) GLUCK = 0.
49       PI=4.D0*ATAN(1.D0)
50       PI2=PI**2
51       CF=4.D0/3.D0
52       NF=INT(FLAV+0.1D0)
53       FLAVOR=FLAV
54       B0=11.D0-2.D0*NF/3.D0
55       B1=102.D0-38.D0*NF/3.D0
56       CCOEG=2.D0/9.D0
57       IF(NF.EQ.4) CCOEG=5.D0/18.D0
58       COEG=2.D0*FLAVOR*CCOEG
59       CALL WATE32
60 C
61       DO 300 ISTRUC=272,272
62       ICALL = 0
63       FIRST=.TRUE.
64       VAL(1)  = ISTRUC
65       PARM(1) = 'Mode'
66       IF(ISTRUC.GE.201 .AND. ISTRUC.LE.205) GOTO 300
67       IF(ISTRUC.GE.208 .AND. ISTRUC.LE.209) GOTO 300
68       IF(ISTRUC.GE.214 .AND. ISTRUC.LE.219) GOTO 300
69       IF(ISTRUC.GE.223 .AND. ISTRUC.LE.229) GOTO 300
70       IF(ISTRUC.GE.233 .AND. ISTRUC.LE.270) GOTO 300
71       IF(ISTRUC.GE.274 .AND. ISTRUC.LE.279) GOTO 300
72       IF(ISTRUC.GE.282                    ) GOTO 300
73 C
74          CALL PDFSET(PARM,VAL)
75          Q02 = Q2MIN
76          OWLAM = QCDL4
77          OWLAM2=OWLAM**2
78          IORD = LO - 1
79 *
80       DO 100 J=3,3
81       Q2=Q02
82       IF(J.GE.2) Q2=ZQ(J-1)
83       ALQ2= LOG(Q2/OWLAM2)
84       ALFPI= 2.D0 /(B0*ALQ2+B1* LOG(ALQ2)/B0)
85       DO 70 K=1,3
86       X=XV(K)
87       DX = X
88       Q = SQRT(Q2)
89       DQ = Q
90       CALL STRUCTM(DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DTB,DGL)
91       UB =DUB
92       DB =DDB
93       SB =DSB
94       CB =DCB
95       GL =DGL
96       F2=(4.D0*  DUB   +  DDB   +  DSB)/9.D0*2.D0
97       F2C=F2+(4.D0/9.D0)*DCB*2.D0
98       IF(ICALL.EQ.0) THEN
99         ICALL = 1
100         WRITE (N6,1000) Q02,IORD,OWLAM,GLUCK,FLAV
101  1000   FORMAT(1X,' Q02= ',F7.3,'   IORD= ',I2,'   LAMBDA=',F7.4,
102      +               '   GLUCK= ',F5.2,'   NF = ',F5.2)
103         ENDIF
104       IF (K.EQ.1) THEN
105         WRITE (N6,1001) Q2
106  1001   FORMAT(/,'  Q2=  ',E10.3,' GEV**2')
107         WRITE(N6,1002)
108  1002   FORMAT(/,4X,' X',6X,'X*UB  ',6X,'X*DB  ',6X,'X*SB  ',6X,'X*CB  '
109      +                  ,6X,'X*GL',8X,' F2 ',6X,' F2/ALPHA'
110      +                            ,5X,' F2C ',5X,' F2C/ALPHA')
111       ENDIF
112       IF (GLUCK.LT..5) GOTO 5
113       F2=DUV
114  5    IF(IORD)13,13,14
115 14    CONTINUE
116       AL=0.5D0*ALFPI
117       AL1= LOG(1.D0-X)
118       XQ=F2+F2*AL*CF*(-9.D0-2.D0*PI2/3.D0+AL1*(-3.D0+2.D0*AL1))
119 C     WRITE(N6,1111) X,Q,F2,AL1,XQ
120 C1111 FORMAT(1X,' X,F2 = ',5E13.5)
121       DO 81 I=1,NTERMS
122       Y=0.5D0*(1.D0-X)*XI(I)+0.5D0*(1.D0+X)
123       XY=X/Y
124       AL1= LOG(1.D0-Y)
125       DX = XY
126       CALL STRUCTM(DX,DQ,DUV,DDV,DUB,DDB,DSB,DCB,DBB,DTB,DGL)
127       XQQ=(4.D0*  DUB   +  DDB   +  DSB)/9.D0*2.D0
128       IF (GLUCK.LT..5) GOTO 6
129       XQQ=DUV
130  6    C22=CF*(6.D0+4.D0*Y-2.D0*(1.D0+Y*Y)/
131      +          (1.D0-Y)* LOG(Y)-2.D0*(1.D0+Y)*AL1)
132       C23=CF*(-3.D0+4.D0*AL1)/(1.D0-Y)
133       CG2=(-1.D0+8.D0*Y*(1.D0-Y)+(1.D0-2.D0*Y+2.D0*Y*Y)*
134      +                   LOG(1.D0/Y-1.D0))*COEG
135       XQ=XQ +0.5D0*(1.D0-X)*WI(I)*AL*(C22*XQQ+C23*(XQQ- F2))
136       XQ=XQ +0.5D0*(1.D0-X)*WI(I)*AL*CG2*DGL
137 C     WRITE(N6,1112) Y,AL1,C22,C23,CG2,XQQ,XQ
138 C1112 FORMAT(1X,' Y,C22 = ',7E13.5)
139  81   CONTINUE
140       F2=3.D0*3.D0*(2.D0/27.D0)*(1.D0/(2.D0*PI*ALQED))*2.D0
141       F2=XQ+F2*(8.D0*X*(1.D0-X)-1.D0+(1.D0-2.D0*X+2.D0*X*X)*
142      +            LOG(1.D0/X-1.D0))*X
143       F2C=F2+(4.D0/9.D0)*CB*2.D0
144    13 F2N=F2*ALQED
145       F2CN=F2C*ALQED
146       WRITE(N6,1003)X,UB,DB,SB,CB,GL,F2,F2N,F2C,F2CN
147  1003 FORMAT(1X,' ',F6.3,9E12.4)
148    70 CONTINUE
149   100 CONTINUE
150       WRITE(N6,*) '  '
151   300 CONTINUE
152       STOP
153       END