]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA6/pdf_alice.F
Parameters for track finding in AliITStrackerSA added to AliITSRecoParam (F. PRino)
[u/mrichter/AliRoot.git] / PYTHIA6 / pdf_alice.F
1 C...  ALICE interface to PDFLIB with possibility to select nuclear structure 
2 C...  functions. 
3 C...  
4 C...  The MSTP array in the PYPARS common block is used to enable and 
5 C...  select the nuclear structure functions. 
6 C...  MSTP(52)  : (D=1) choice of proton and nuclear structure-function library
7 C...          =1: internal PYTHIA acording to MSTP(51) 
8 C...          =2: PDFLIB proton  s.f., with MSTP(51)  = 1000xNGROUP+NSET
9 C...              MSTP( 51)  = 1000xNPGROUP+NPSET
10 C...              MSTP(151)  = 1000xNAGROUP+NASET
11 C...  MSTP(192) : Mass number of nucleus side 1
12 C...  MSTP(193) : Mass number of nucleus side 2
13 C...
14 C...
15 C...  MINT(124) : side (1 or 2)
16
17
18       SUBROUTINE PDFSET_ALICE(PARM, VALUE)
19 C...
20       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
21       IMPLICIT INTEGER(I-N)
22 C...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
29 C...
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       ELSE 
50          write(6,*) "-> pdfset"
51          CALL PDFSET(PARM,VALUE,
52      >        MSTU(11),MSTP(51),MSTP(53),MSTP(55),
53      >        QCDL4,QCDL5,
54      >        XMIN,XMAX,Q2MIN,Q2MAX)
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)
63 C...
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)
68 C      write(6,*) "structm_alice->"
69       IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
70          A=MSTP(191+MINT(124))
71 C         write(6,*) mint(124), "-> structa ", A
72           CALL STRUCTA(XX,QQ,A,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
73       ELSE
74 C         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