Writing back ITS alignement data (Ruben).
[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)
20e47f08 49 IF (MSTP(194) .EQ. 0) THEN
50 CALL SETLHAPARM("EKS98")
51 ELSE
52 CALL SETLHAPARM("EPS08")
53 ENDIF
2eef49c0 54 ELSE
55 write(6,*) "-> pdfset"
81935ff8 56 CALL PDFSET(PARM,VALUE,
57 > MSTU(11),MSTP(51),MSTP(53),MSTP(55),
58 > QCDL4,QCDL5,
59 > XMIN,XMAX,Q2MIN,Q2MAX)
2eef49c0 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