Corrected path to mapping libraries.
[u/mrichter/AliRoot.git] / PDF / tpdf / testpdf.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.5  2000/04/19 13:30:02  mclareni
6 * Import version 8.04
7 *
8 * Revision 1.5  2000/04/09 10:06:56  plothow
9 * new version 8.00 - MRS 98 and 99, CTEQ5 and GRV98 added
10 *
11 * Revision 1.4  1997/07/02 15:03:12  pdflib
12 * potential bug removed in GRSGALO
13 *
14 * Revision 1.3  1997/04/08 15:53:28  pdflib
15 * Lambda_QCD for CTEQ4 sets corrected
16 *
17 * Revision 1.2  1996/10/28 16:10:15  pdflib
18 * PDFLIB new version 7.04
19 *
20 * Revision 1.1.1.1  1996/04/12 15:30:17  plothow
21 * Version 7.01
22 *
23 *
24 #include "pdf/pilot.h"
25       PROGRAM TESTPDF
26 C
27       PARAMETER (LFLPRT = 2)
28 #include "pdf/w5051p2.inc"
29 #include "pdf/w5051p7.inc"
30 #include "pdf/w50510.inc"
31 #include "pdf/w50511.inc"
32 #include "pdf/w50512.inc"
33 #include "pdf/w50515.inc"
34 #include "pdf/w50516.inc"
35 #include "pdf/w50517.inc"
36 #include "pdf/w505110.inc"
37 #include "pdf/w505120.inc"
38 #include "pdf/w505122.inc"
39 C
40 #include "pdf/expdp.inc"
41      +       DX,DQ,DUPV,DDNV,DUSEA,DDSEA,DSTR,DCHM,DBOT,DTOP,DGL,
42      +       DQ2,DP2,ALF,ALPHAS2
43       REAL    X, Q, UPV, DNV, USEA, DSEA, SSEA, CSEA, BOT, TOP, GLUE
44       DIMENSION XX(5),Q2(5)
45       CHARACTER*20 PARM(NCHDIM)
46 #include "pdf/expdp.inc"
47      +       VAL(NCHDIM)
48 C
49       DATA NXX,XX/5, .0005,.140,.700,0.01,0.05/
50       DATA NQ2,Q2/5, 1.30,24.0,33.5,200.0,200.0/
51       DATA P2/5./
52       DATA IP2/0/
53 C
54       N6 = L6
55       IFLPRT = LFLPRT
56 C
57       CH1=4./9.
58       CH2=1./9.
59 C
60       SCAL=SQRT(Q2(2))
61 C
62 C First call to PDFSET to initialize COMMON/W505120/
63       PARM(1) = 'Init0'
64       VAL(1)  = 0.D0
65       CALL PDFSET(PARM,VAL)
66 C.
67 C Test new PDFLIB versions (4.0 or bigger)
68       DO KPTY = 1,NPTYMX
69          DO KGRO = 1,NGRMAX
70             IF(NPGSMX(KPTY,KGRO) .EQ. 0) GOTO 400
71             DO ISET=-9,NPGSMX(KPTY,KGRO)
72                IF((KPTY*KGRO).NE.1 .AND. ISET.LE.0) GOTO 300
73                WRITE (N6,*) ' ==========================================
74      +============================================'
75                FIRST=.TRUE.
76                IF(ISET.LE.-8) IFLSET = 0
77                IF(ISET.LT.0) GOTO 50
78                PARM(1) = 'Nptype'
79                VAL(1)  = KPTY
80                PARM(2) = 'Ngroup'
81                VAL(2)  = KGRO
82                PARM(3) = 'Nset'
83                VAL(3)  = ISET
84 C... test different NSET writings
85                IF(ISET.GT. 5) PARM(3) = 'NSET'
86                IF(ISET.GT.10) PARM(3) = 'nset'
87                IF(ISET.GT.15) PARM(3) = 'NSet'
88                IF(ISET.GT.20) PARM(3) = 'nsET'
89 C
90 C... test different NSET writings and INVALID parameter settings
91    50          CONTINUE
92                IF(ISET.GE.0) THEN
93                   CALL PDFSET(PARM,VAL)
94                ELSEIF (ISET.EQ.-9) THEN
95                   GOTO 100
96                ELSEIF (ISET.EQ.-8) THEN
97                   PARM(1) = 'dflm'
98                   VAL(1) = 8.D0
99                   CALL PDFSET(PARM,VAL)
100                ELSEIF (ISET.EQ.-7) THEN
101                   PARM(1) = 'GRV'
102                   VAL(1) = 3.D0
103                   CALL PDFSET(PARM,VAL)
104                ELSEIF (ISET.EQ.-6) THEN
105                   PARM(1) = 'abfkw'
106                   VAL(1) = 1.D0
107                   CALL PDFSET(PARM,VAL)
108                ELSEIF (ISET.EQ.-5) THEN
109                   PARM(1) = 'GRVph'
110                   VAL(1) = 2.D0
111                   CALL PDFSET(PARM,VAL)
112                ELSEIF (ISET.EQ.-4) THEN
113                   PARM(1) = 'Nptype'
114                   VAL(1)  = -1
115                   PARM(2) = 'Ngroup'
116                   VAL(2)  = KGRO
117                   PARM(3) = 'Nset'
118                   VAL(3)  = ISET
119                   CALL PDFSET(PARM,VAL)
120                ELSEIF (ISET.EQ.-3) THEN
121                   PARM(1) = 'Nptype'
122                   VAL(1)  = -1
123                   PARM(2) = 'Ngroup'
124                   VAL(2)  = KGRO
125                   PARM(3) = 'Nset'
126                   VAL(3)  =  0
127                   PARM(4) = 'QCDL4'
128                   VAL(4)  =  0.1900D0
129                   PARM(5) = 'QCDL5'
130                   VAL(5)  =  0.1230D0
131                   CALL PDFSET(PARM,VAL)
132                ELSEIF (ISET.EQ.-2) THEN
133                   PARM(1) = 'Nptype'
134                   VAL(1)  = KPTY
135                   PARM(2) = 'Ngroup'
136                   VAL(2)  = -1
137                   PARM(3) = 'Nset'
138                   VAL(3)  = ISET
139                   CALL PDFSET(PARM,VAL)
140                ELSEIF (ISET.EQ.-1) THEN
141                   PARM(1) = 'Nptype'
142                   VAL(1)  = KPTY
143                   PARM(2) = 'Ngroup'
144                   VAL(2)  = KGRO
145                   PARM(3) = 'Nset'
146                   VAL(3)  = 80
147                   CALL PDFSET(PARM,VAL)
148                ENDIF
149 C
150                DQ = SCAL
151                ALF = ALPHAS2(DQ)
152                WRITE(N6,4000) NPTYPE,NGROUP,NSET,
153      +         SFNAME(NPTYPE,NGROUP,NSET),MODECR(NPTYPE,NGROUP,NSET)
154                WRITE(N6,4001) QCDL4,QCDL5,DQ,ALF
155  4000          FORMAT(/,'  Nptype = ',I1,'  Ngroup = ',I2,
156      +                  '  Nset = ',I3,'  Name  = "',A8,
157      +                  '"  CrMode = ',I3)
158  4001          FORMAT(1H ,' QCDL4, QCDL5 = ',2F7.4,
159      +                    '    Scale = ',F8.4,'  alpha(s) = ',F7.5)
160 C
161   100          CONTINUE
162                DO 200 IX=1,NXX
163                X=XX(IX)
164                Q=SQRT(Q2(IX))
165                  DX=X
166                  DQ=Q
167                  IF(KPTY.EQ.3) THEN
168                     DQ2=Q2(IX)
169                     DP2=P2
170                     IP=IP2
171                     CALL STRUCTP(DX,DQ2,DP2,IP,
172      +                    DUPV,DDNV,DUSEA,DDSEA,DSTR,DCHM,DBOT,DTOP,DGL)
173                  ELSE
174                     CALL STRUCTM(DX,DQ,
175      +                    DUPV,DDNV,DUSEA,DDSEA,DSTR,DCHM,DBOT,DTOP,DGL)
176                  ENDIF
177                  UPV=DUPV
178                  DNV=DDNV
179                  USEA=DUSEA
180                  DSEA=DDSEA
181                  SSEA=DSTR
182                  CSEA=DCHM
183                  GLUE=DGL
184 C
185                FFPU = UPV + USEA
186                FFPUB = USEA
187                FFPD = DNV + DSEA
188                FFPDB = DSEA
189                FFPS = SSEA
190                FFPSB = SSEA
191                FFPC = CSEA
192                FFPCB = CSEA
193                FFNU = FFPD
194                FFNUB = FFPDB
195                FFND = FFPU
196                FFNDB = FFPUB
197                FFNS = FFPS
198                FFNSB = FFPSB
199                FFNC = FFPC
200                FFNCB = FFPCB
201                FFPGL = GLUE
202             SFFP=CH1*(FFPU+FFPUB+FFPC+FFPCB)+CH2*(FFPD+FFPDB+FFPS+FFPSB)
203             SFFN=CH1*(FFNU+FFNUB+FFNC+FFNCB)+CH2*(FFND+FFNDB+FFNS+FFNSB)
204                FACNP = 0.
205                IF (SFFP .NE. 0.) FACNP=SFFN/SFFP
206                UP = FFPU
207                UV = FFPU - FFPUB
208                US = FFPUB
209                DP = FFPD
210                DV = FFPD - FFPDB
211                DS = FFPDB
212                GL = FFPGL
213                F2P = SFFP
214 C
215                WRITE(N6,3000)X,Q2(IX),FACNP,UP,UV,US,DP,DV,GL,F2P
216  3000          FORMAT(1X,' X:',F6.3,2X,'Q2:',F5.1,
217      1         3X,'N/P:',F7.4,2X,'UP:',F6.3,
218      1         1X,'UV:',F6.3,1X,'US:',F6.3,1X,'DP:',F6.3,1X,'DV:',F6.3,
219      2         1X,'GL:',F6.3,2X,'F2P:',F7.4)
220 C
221  200           CONTINUE
222 C
223                IF(ISET.EQ.-9) THEN
224                   DQ = SCAL
225                   ALF = ALPHAS2(DQ)
226                   WRITE(N6,4000) NPTYPE,NGROUP,NSET,
227      +            SFNAME(NPTYPE,NGROUP,NSET),MODECR(NPTYPE,NGROUP,NSET)
228                   WRITE(N6,4001) QCDL4,QCDL5,DQ,ALF
229                ENDIF
230                CALL PDFSTA
231 C
232  300           CONTINUE
233              ENDDO
234  400         CONTINUE
235           ENDDO
236        ENDDO
237 C
238       STOP
239       END