1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
subroutine uppyfact(idwtup,generate,ievntdis)
implicit double precision(a-h, o-z)
implicit integer(i-n)
common/pypars/mstp(200),parp(200),msti(200),pari(200)
common/ptpass/ptmin,ptmax,crossmax,etamin,etamax,
& smin,smax,ymin,ymax,psetamin,psetamax
common/histcol/inx
common/extraz/zfactor,zmin,zmax
common/totcross/appcross
common/counter/ibcstate,nev
logical generate
c...if not to generate the normalized event number distribution, then
c...gets the value of the differential cross-sec of different
c...parameters (the unit will be changed from mb to nb).
if(idwtup.eq.1.and.generate) then
c...the unit of pari(2) is mb.
if(ievntdis.eq.0) then
call pyfact(1,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(2,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(3,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(4,1.0d+6*pari(2)*inx/(ymax-ymin))
call pyfact(5,1.0d+6*pari(2)*inx/(psetamax-psetamin))
call pyfact(6,1.0d+6*pari(2)*inx/(zmax-zmin))
call pyfact(11,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(12,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(13,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(14,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(15,1.0d+6*pari(2)*inx/(etamax-etamin))
call pyfact(21,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(22,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(23,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(24,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(25,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(31,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(32,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(33,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(34,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(35,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(41,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(42,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(43,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(44,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(45,1.0d+6*pari(2)*inx/(smax-smin))
call pyfact(52,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(53,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(54,1.0d+6*pari(2)*inx/(ptmax-ptmin))
call pyfact(55,1.0d+6*pari(2)*inx/(ptmax-ptmin))
end if
else
if(ievntdis.eq.0) then
call pyfact(1,1.0d-3)
call pyfact(2,1.0d-3)
call pyfact(3,1.0d-3)
call pyfact(4,1.0d-3)
call pyfact(5,1.0d-3)
call pyfact(6,1.0d-3)
call pyfact(11,1.0d-3)
call pyfact(12,1.0d-3)
call pyfact(13,1.0d-3)
call pyfact(14,1.0d-3)
call pyfact(15,1.0d-3)
call pyfact(21,1.0d-3)
call pyfact(22,1.0d-3)
call pyfact(23,1.0d-3)
call pyfact(24,1.0d-3)
call pyfact(25,1.0d-3)
call pyfact(31,1.0d-3)
call pyfact(32,1.0d-3)
call pyfact(33,1.0d-3)
call pyfact(34,1.0d-3)
call pyfact(35,1.0d-3)
call pyfact(41,1.0d-3)
call pyfact(42,1.0d-3)
call pyfact(43,1.0d-3)
call pyfact(44,1.0d-3)
call pyfact(45,1.0d-3)
call pyfact(52,1.0d-3)
call pyfact(53,1.0d-3)
call pyfact(54,1.0d-3)
call pyfact(55,1.0d-3)
end if
if(ievntdis.eq.1) then
call pyfact(1,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(2,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(3,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(4,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(5,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(6,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(11,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(12,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(13,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(14,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(15,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(21,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(22,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(23,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(24,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(25,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(31,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(32,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(33,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(34,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(35,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(41,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(42,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(43,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(44,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(45,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(52,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(53,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(54,1.0d0/(1.0d+3*appcross)*nev)
call pyfact(55,1.0d0/(1.0d+3*appcross)*nev)
end if
end if
end
|