ClassDef set to 1
[u/mrichter/AliRoot.git] / PYTHIA6 / pythia6.4.21 / pdf_alice.F
CommitLineData
02626a96 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)
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)
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)
45 CALL PDFSET(PARM,VALUE,
46 > MSTU(11),MSTP(51),MSTP(53),MSTP(55),
47 > QCDL4,QCDL5,
48 > XMIN,XMAX,Q2MIN,Q2MAX)
49 IF (MSTP(194) .EQ. 0) THEN
50 CALL SETLHAPARM("EKS98")
51 ELSE
52 CALL SETLHAPARM("EPS08")
53 ENDIF
54 ELSE
55 write(6,*) "-> pdfset"
56 CALL PDFSET(PARM,VALUE,
57 > MSTU(11),MSTP(51),MSTP(53),MSTP(55),
58 > QCDL4,QCDL5,
59 > XMIN,XMAX,Q2MIN,Q2MAX)
60 ENDIF
61 write(6,*) "done"
62 END
63
64
65
66 SUBROUTINE STRUCTM_ALICE
67 + (XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
68C...
69 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
70 IMPLICIT INTEGER(I-N)
71 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
72 COMMON/PYINT1/MINT(400),VINT(400)
73C write(6,*) "structm_alice->"
74 IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
75 A=MSTP(191+MINT(124))
76C write(6,*) mint(124), "-> structa ", A
77 CALL STRUCTA(XX,QQ,A,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
78 ELSE
79C write(6,*) mint(124), "-> structm "
80 CALL STRUCTM(XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
81 ENDIF
82 END
83
84