Possible conflicts between Heavy Flavor and Atlas Tuning removed.
[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       COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)  
23       DOUBLE PRECISION VALUE(20)
24       CHARACTER*20 PARM(20)
25       write(6,*) MSTP(52)
26       write(6,*) PARM
27       write(6,*) VALUE
28
29       IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
30          PARM(5)='NATYPE'
31          VALUE(5)=4
32          PARM(6)='NAGROUP'
33          VALUE(6)=MSTP(191)/1000
34          PARM(7)='NASET'
35          VALUE(7)=MOD(MSTP(191),1000)
36          CALL PDFSET(PARM,VALUE)
37       ELSE 
38          write(6,*) "-> pdfset"
39          CALL PDFSET(PARM,VALUE)
40       ENDIF
41       write(6,*) "done"
42       END
43
44
45
46       SUBROUTINE STRUCTM_ALICE
47      +     (XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
48 C...
49       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
50       IMPLICIT INTEGER(I-N)
51       COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
52       COMMON/PYINT1/MINT(400),VINT(400)
53 C      write(6,*) "structm_alice->"
54       IF (MSTP(192) .GT. 0 .AND. MSTP(193) .GT. 0) THEN
55          A=MSTP(191+MINT(124))
56 C         write(6,*) mint(124), "-> structa ", A
57           CALL STRUCTA(XX,QQ,A,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
58       ELSE
59 C         write(6,*) mint(124), "-> structm "
60          CALL STRUCTM(XX,QQ,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,GL)
61       ENDIF
62       END
63
64