Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
pyhiovly.f
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file pyhiovly.f
1
2
C*********************************************************************
3
4
SUBROUTINE
pyhiovly
(MOVLY)
5
6
C...Initializes multiplicity distribution and selects mutliplicity
7
C...of overlayed events, i.e. several events occuring at the same
8
C...beam crossing.
9
common/ludat1/mstu(200),paru(200),mstj(200),parj(200)
10
SAVE
/ludat1/
11
common/pyhipars/
mstp
(200),
parp
(200),
msti
(200),
pari
(200)
12
SAVE
/pyhipars/
13
common/pyhiint1/
mint
(400),
vint
(400)
14
SAVE
/pyhiint1/
15
dimension wti(0:100)
16
SAVE
imax,wti,wts
17
18
C...Sum of allowed cross-sections for overlayed events.
19
IF
(movly.EQ.1)
THEN
20
vint
(131)=
vint
(106)
21
IF
(
mstp
(132).GE.2)
vint
(131)=
vint
(131)+
vint
(104)
22
IF
(
mstp
(132).GE.3)
vint
(131)=
vint
(131)+
vint
(103)
23
IF
(
mstp
(132).GE.4)
vint
(131)=
vint
(131)+
vint
(102)
24
25
C...Initialize multiplicity distribution for unbiased events.
26
IF
(
mstp
(133).EQ.1)
THEN
27
xnave=
vint
(131)*
parp
(131)
28
IF
(xnave.GT.40.)
WRITE
(mstu(11),1000) xnave
29
wti(0)=exp(-min(50.,xnave))
30
wts=0.
31
wtn=0.
32
DO
100
i
=1,100
33
wti(
i
)=wti(
i
-1)*xnave/
i
34
IF
(
i
-2.5.GT.xnave.AND.wti(
i
).LT.1
e
-6) goto 110
35
wts=wts+wti(
i
)
36
wtn=wtn+wti(
i
)*
i
37
100 imax=
i
38
110
vint
(132)=xnave
39
vint
(133)=wtn/wts
40
vint
(134)=wts
41
42
C...Initialize mutiplicity distribution for biased events.
43
ELSEIF
(
mstp
(133).EQ.2)
THEN
44
xnave=
vint
(131)*
parp
(131)
45
IF
(xnave.GT.40.)
WRITE
(mstu(11),1000) xnave
46
wti(1)=exp(-min(50.,xnave))*xnave
47
wts=wti(1)
48
wtn=wti(1)
49
DO
120
i
=2,100
50
wti(
i
)=wti(
i
-1)*xnave/(
i
-1)
51
IF
(
i
-2.5.GT.xnave.AND.wti(
i
).LT.1
e
-6) goto 130
52
wts=wts+wti(
i
)
53
wtn=wtn+wti(
i
)*
i
54
120 imax=
i
55
130
vint
(132)=xnave
56
vint
(133)=wtn/wts
57
vint
(134)=wts
58
ENDIF
59
60
C...Pick multiplicity of overlayed events.
61
ELSE
62
IF
(
mstp
(133).EQ.0)
THEN
63
mint
(81)=
max
(1,
mstp
(134))
64
ELSE
65
wtr=wts*
rlu
(0)
66
DO
140
i
=1,imax
67
mint
(81)=
i
68
wtr=wtr-wti(
i
)
69
IF
(wtr.LE.0.) goto 150
70
140
CONTINUE
71
150
CONTINUE
72
ENDIF
73
ENDIF
74
75
C...Format statement for error message.
76
1000
FORMAT
(1
x
,
'Warning: requested average number of events per bunch'
,
77
&
'crossing too large, '
,1
p
,e12.4)
78
79
RETURN
80
END
coresoftware
blob
master
generators
hijing
src
pyhiovly.f
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:00
using
1.8.2 with
sPHENIX GitHub integration