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
120
|
subroutine create_banner(lunw, swgt, nw)
implicit none
c include 'nexternal.inc'
c
c parameters
c
integer MaxParticles
parameter (MaxParticles=15)
c
c Arguments
c
integer lunw, nw
double precision swgt(99999)
c
c Local
c
integer ic(7,MaxParticles),next, luni
double precision P(0:3,MaxParticles),wgt
real*8 sum,mxwgt
logical done
integer i,imax,j, nevent, nfound
character*35 infile,outfile
integer iseed
data iseed/9999/
character*30 process,QED,QCD
c--cuts
c double precision etmin(3:nexternal),etamax(3:nexternal)
c double precision r2min(3:nexternal,3:nexternal)
c double precision s_min(nexternal,nexternal)
c common/to_cuts/ etmin ,etamax , r2min, s_min
c
c open the Process/input.dat
c
luni = 67
infile='Process/input.dat'
i=0
done=.false.
do while (.not. done .and. i .lt. 5)
c write(*,*) 'Attempting to open file ',infile
open(unit=luni,file=infile,status='old',err=101)
done = .true.
101 i = i+1
infile='../' // infile
enddo
if (done) then
read(luni,'(a30)') process
read(luni,'(a30)') QCD
read(luni,'(a30)') QED
close(luni)
else
process = '???? Process'
QCD = '???? QCD'
QED = '???? QED'
endif
c call get_seed(iseed)
c
c All the info is gathered. Now start writing it out.
c
call write_para(lunw)
write(lunw,'(a70)') '## '
write(lunw,'(a70)') '##=================== '
write(lunw,'(a70)') '## Run-time options '
write(lunw,'(a70)') '##=================== '
write(lunw,'(a70)') '## '
write(lunw,'(a70)') '##********************************************************************'
write(lunw,'(a70)') '## Random Number seed *'
write(lunw,'(a70)') '##********************************************************************'
write(lunw,'(a3,i8,a)') '## ',iseed,' = iseed'
c write(lunw,'(a70)') '##********************************************************************'
c write(lunw,'(a70)') '## Standard Cuts *'
c write(lunw,'(a70)') '##********************************************************************'
c write(lunw,'(a13,8i8)') '## Particle ',(i,i=3,nexternal)
c write(lunw,'(a13,8f8.1)') '## Et >',(etmin(i),i=3,nexternal)
c write(lunw,'(a13,8f8.1)') '## Eta <',(etamax(i),i=3,nexternal)
c do j=3,nexternal-1
c write(lunw,'(a,i2,a,8f8.1)') '## d R #',j,' >',(-0.0,i=3,j),
c & (r2min(i,j),i=j+1,nexternal)
c do i=j+1,nexternal
c r2min(i,j)=r2min(i,j)**2 !Since r2 returns distance squared
c enddo
c enddo
c do j=1,nexternal-1
c write(lunw,'(a,i2,a,8f8.1)') '## s min #',j,'>',
c & (s_min(i,j),i=3,nexternal)
c enddo
c write(lunw,'(a70)') '##********************************************************************'
c
c Now write out specific information on the event set
c
done=.false.
nevent=0
nfound=0
sum=0d0
mxwgt=-1d0
do i=1,nw
sum=sum+swgt(i)
mxwgt = max(swgt(i),mxwgt)
enddo
nevent = nw
write(lunw,'(a70)') '## '
write(lunw,'(a70)') '##=================== '
write(lunw,'(a70)') '## Event information '
write(lunw,'(a70)') '##=================== '
write(lunw,'(a70)') '## '
write(lunw,'(a70)') '##********************************************************************'
write(lunw,'(a12,a30)') '## Process: ',process
write(lunw,'(a12,a30)') '## Max QCD: ',QCD
write(lunw,'(a12,a30)') '## Max QED: ',QED
write(lunw,'(a70)') '##********************************************************************'
write(lunw,'(a30,i10)') '## Number of Events : ',nevent
write(lunw,'(a30,e10.5)') '## Integrated weight (pb) : ',sum
write(lunw,'(a30,e10.5)') '## Max wgt : ',mxwgt
write(lunw,'(a30,e10.5)') '## Average wgt : ',sum/nevent
write(lunw,'(a70)') '##********************************************************************'
c close(lunw)
end
|