]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HIJING/hipyset1_35/pyovly_hijing.F
PWGUD base and diffractive
[u/mrichter/AliRoot.git] / HIJING / hipyset1_35 / pyovly_hijing.F
CommitLineData
e74335a4 1* $Id$
2
3C*********************************************************************
4
5 SUBROUTINE PYOVLY_HIJING(MOVLY)
6
7C...Initializes multiplicity distribution and selects mutliplicity
8C...of overlayed events, i.e. several events occuring at the same
9C...beam crossing.
10#include "ludat1_hijing.inc"
11#include "pypars_hijing.inc"
12#include "pyint1_hijing.inc"
13 DIMENSION WTI(0:100)
14 SAVE IMAX,WTI,WTS
15
16C...Sum of allowed cross-sections for overlayed events.
17 IF(MOVLY.EQ.1) THEN
18 VINT(131)=VINT(106)
19 IF(MSTP(132).GE.2) VINT(131)=VINT(131)+VINT(104)
20 IF(MSTP(132).GE.3) VINT(131)=VINT(131)+VINT(103)
21 IF(MSTP(132).GE.4) VINT(131)=VINT(131)+VINT(102)
22
23C...Initialize multiplicity distribution for unbiased events.
24 IF(MSTP(133).EQ.1) THEN
25 XNAVE=VINT(131)*PARP(131)
26 IF(XNAVE.GT.40.) WRITE(MSTU(11),1000) XNAVE
27 WTI(0)=EXP(-MIN(50.,XNAVE))
28 WTS=0.
29 WTN=0.
30 DO 100 I=1,100
31 WTI(I)=WTI(I-1)*XNAVE/I
32 IF(I-2.5.GT.XNAVE.AND.WTI(I).LT.1E-6) GOTO 110
33 WTS=WTS+WTI(I)
34 WTN=WTN+WTI(I)*I
35 100 IMAX=I
36 110 VINT(132)=XNAVE
37 VINT(133)=WTN/WTS
38 VINT(134)=WTS
39
40C...Initialize mutiplicity distribution for biased events.
41 ELSEIF(MSTP(133).EQ.2) THEN
42 XNAVE=VINT(131)*PARP(131)
43 IF(XNAVE.GT.40.) WRITE(MSTU(11),1000) XNAVE
44 WTI(1)=EXP(-MIN(50.,XNAVE))*XNAVE
45 WTS=WTI(1)
46 WTN=WTI(1)
47 DO 120 I=2,100
48 WTI(I)=WTI(I-1)*XNAVE/(I-1)
49 IF(I-2.5.GT.XNAVE.AND.WTI(I).LT.1E-6) GOTO 130
50 WTS=WTS+WTI(I)
51 WTN=WTN+WTI(I)*I
52 120 IMAX=I
53 130 VINT(132)=XNAVE
54 VINT(133)=WTN/WTS
55 VINT(134)=WTS
56 ENDIF
57
58C...Pick multiplicity of overlayed events.
59 ELSE
60 IF(MSTP(133).EQ.0) THEN
61 MINT(81)=MAX(1,MSTP(134))
62 ELSE
63 WTR=WTS*RLU_HIJING(0)
64 DO 140 I=1,IMAX
65 MINT(81)=I
66 WTR=WTR-WTI(I)
67 IF(WTR.LE.0.) GOTO 150
68 140 CONTINUE
69 150 CONTINUE
70 ENDIF
71 ENDIF
72
73C...Format statement for error message.
74 1000 FORMAT(1X,'Warning: requested average number of events per bunch',
75 &'crossing too large, ',1P,E12.4)
76
77 RETURN
78 END