fortran flags corrected.
[u/mrichter/AliRoot.git] / PYTHIA6 / pdf_alice.F
CommitLineData
2eef49c0 1C... ALICE interface to PDFLIB with possibility to select nuclear structure
2C... functions.
3C...
4C... The MSTP array in the PYPARS common block is used to enable and
5C... select the nuclear structure functions.
6C... MSTP(52) : (D=1) choice of proton and nuclear structure-function library
7C... =1: internal PYTHIA acording to MSTP(51)
8C... =2: PDFLIB proton s.f., with MSTP(51) = 1000xNGROUP+NSET
9C... MSTP( 51) = 1000xNPGROUP+NPSET
10C... MSTP(151) = 1000xNAGROUP+NASET
11C... MSTP(192) : Mass number of nucleus side 1
12C... MSTP(193) : Mass number of nucleus side 2
13C...
14C...
15C... MINT(124) : side (1 or 2)
16
17
18 SUBROUTINE PDFSET_ALICE(PARM, VALUE)
19C...
20 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
21 IMPLICIT INTEGER(I-N)
81935ff8 22C...Interface to PDFLIB.
23 COMMON/LW50512/QCDL4,QCDL5
24 SAVE /LW50512/
25 DOUBLE PRECISION QCDL4,QCDL5
26 COMMON/LW50513/XMIN,XMAX,Q2MIN,Q2MAX
27 SAVE /LW50513/
28 DOUBLE PRECISION XMIN,XMAX,Q2MIN,Q2MAX
29C...
30 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
2eef49c0 31 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
32 DOUBLE PRECISION VALUE(20)
33 CHARACTER*20 PARM(20)
34 write(6,*) MSTP(52)
35 write(6,*) PARM
36 write(6,*) VALUE
37
38 IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
39 PARM(5)='NATYPE'
40 VALUE(5)=4
41 PARM(6)='NAGROUP'
42 VALUE(6)=MSTP(191)/1000
43 PARM(7)='NASET'
44 VALUE(7)=MOD(MSTP(191),1000)
81935ff8 45 CALL PDFSET(PARM,VALUE,
46 > MSTU(11),MSTP(51),MSTP(53),MSTP(55),
47 > QCDL4,QCDL5,
48 > XMIN,XMAX,Q2MIN,Q2MAX)
2eef49c0 49 ELSE
50 write(6,*) "-> pdfset"
81935ff8 51 CALL PDFSET(PARM,VALUE,
52 > MSTU(11),MSTP(51),MSTP(53),MSTP(55),
53 > QCDL4,QCDL5,
54 > XMIN,XMAX,Q2MIN,Q2MAX)
2eef49c0 55 ENDIF
56 write(6,*) "done"
57 END
58
59
60
61 SUBROUTINE STRUCTM_ALICE
62 + (XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
63C...
64 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
65 IMPLICIT INTEGER(I-N)
66 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
67 COMMON/PYINT1/MINT(400),VINT(400)
68C write(6,*) "structm_alice->"
69 IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
70 A=MSTP(191+MINT(124))
71C write(6,*) mint(124), "-> structa ", A
72 CALL STRUCTA(XX,QQ,A,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
73 ELSE
74C write(6,*) mint(124), "-> structm "
75 CALL STRUCTM(XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
76 ENDIF
77 END
78
79