source: trunk/test/pgs.inc@ 18

Last change on this file since 18 was 2, checked in by Pavel Demin, 16 years ago

first commit

File size: 11.3 KB
RevLine 
[2]1c ------------------------------------------------------------------------------------------
2c PGS.INC - include file for PGS package
3c
4c Version 3.3
5c ------------------------------------------------------------------------------------------
6c
7c This include file is to be used with the PGS package. See
8c http://www.physics.rutgers.edu/~jconway/soft/pgs/pgs.html
9c for documentation and details.
10c
11c ------------------------------------------------------------------------------------------
12
13
14c STDHEP common blocks (see L. Garren, STDHEP 4.10, PM0091) -------------------------------
15
16c generated particle list
17
18 integer nmxhep
19 parameter (nmxhep=4000)
20
21 integer nevhep,nhep,isthep,idhep,jmohep,jdahep
22
23 double precision phep,vhep
24
25 common /hepevt/ nevhep, ! event number
26 . nhep, ! number of entries in record
27 . isthep(nmxhep), ! status code
28 . idhep(nmxhep), ! particle ID (PDG standard)
29 . jmohep(2,nmxhep), ! index to first and second particle mothers
30 . jdahep(2,nmxhep), ! index to first and last daughter particles
31 . phep(5,nmxhep), ! 4-vector and mass
32 . vhep(4,nmxhep) ! (x,y,z) of production, and production time (mm/c)
33
34 integer numhep ! for symmetry
35 equivalence(numhep,nhep) ! with other lists
36
37 integer numgen ! for symmetry
38 equivalence(numgen,nhep) ! with other lists
39
40c table of particle properties
41
42 integer nmxln
43
44 parameter (nmxln=2000)
45
46 integer idt
47 real*4 stmerr,stwerr
48
49 real*8 stmass,stwidth
50
51 character*21 stname
52
53 common /stdtbl/ idt(nmxln), ! particle ID (PDG standard)
54 . stmerr(2,nmxln), ! positive (1) and negative (2) error on mass
55 . stwerr(2,nmxln), ! positive (1) and negative (2) error on width
56 . stmass(nmxln), ! particle mass (GeV/c^2 for this, and rest)
57 . stwidth(nmxln), ! particle width
58 . stname(nmxln) ! particle name
59
60
61c STDHEP logical unit numbers and I/O information
62
63 integer lnhwrt,lnhrd,lnhout,lnhdcy,lnhrdm
64
65 common /heplun/ lnhwrt, ! logical unit number for writing
66 . lnhrd, ! logical unit number for reading
67 . lnhout, ! logical unit number for output
68 . lnhdcy, ! logical unit number for decay table (NYI)
69 . lnhrdm(15) ! logical unit number for reading multiple streams
70
71 real stdecom,stdxsec
72 double precision stdseed1,stdseed2
73 integer nevtreq,nevtgen,nevtwrt
74
75 common /stdcm1/ stdecom, ! center of mass energy
76 . stdxsec, ! cross section
77 . stdseed1, ! random number seed 1
78 . stdseed2, ! random number seed 2
79 . nevtreq, ! events to generate
80 . nevtgen, ! actually generated
81 . nevtwrt ! written to output file
82 save /stdcm1/
83
84
85c ---------------------------------------------------------------------------------------------
86
87c PGS functions for ET, pt, etc. of generated, reconstructed, clusters and tracks
88
89 real*8 et_gen,pt_gen,p_gen,eta_gen,phi_gen
90 real*8 et_obj,pt_obj,p_obj,eta_obj,phi_obj
91 real*8 et_clu,pt_clu,p_clu,eta_clu,phi_clu
92 real*8 et_trk,pt_trk,p_trk,eta_trk,phi_trk
93
94 real*8 cos_theta,cos_del_phi,del_phi,pgs_cluster_width
95
96 real*8 v4mass,v4mass2,v4et,v4p,v4pt,v4eta,v4phi
97
98 logical pgs_cal_fid_cut
99
100c PGS detector parameters
101
102 integer netacal,nphical
103
104 real*8 deta,dphi,crack_frac,rmax,bfield,sagitta_res
105 real*8 ecal_res,hcal_res,met_res
106 real*8 seed_thresh,shoulder_thresh,conesize
107 real*8 eff_track,eta_max_track,min_track_pt
108
109
110 common /pgspar/ netacal, ! number of eta cells in calorimeter
111 . nphical, ! number of phi cells in calorimeter
112 . deta, ! eta width of calorimeter cells
113 . dphi, ! phi width of calorimeter cells (2*pi/nphical)
114 . ecal_res, ! electromagnetic calorimeter resolution * sqrt(E)
115 . hcal_res, ! hadronic calorimeter resolution * sqrt(E)
116 . met_res, ! MET resolution
117 . crack_frac, ! calorimeter cell edge "crack" fraction
118 . seed_thresh, ! calorimeter cluster seed tower threshold
119 . shoulder_thresh, ! calorimeter shoulder tower threshold
120 . conesize, ! cluster finder cone size
121 . rmax, ! outer radius of tracking (m)
122 . bfield, ! magnetic field (T)
123 . sagitta_res, ! sagitta resolution (m)
124 . eff_track, ! track finding efficiency
125 . min_track_pt, ! minimum track pt (GeV/c)
126 . eta_max_track ! maximum tracking coverage in eta
127
128c PGS event header and control information
129
130 integer nevpgs,nprpgs
131
132 character*6 optpgs
133 character*80 pgs_input_file,pgs_output_file,pgs_param_file
134 character*80 pgs_isajet_decay,pgs_isajet_cards,pgs_pythia_cards
135
136 common /pgsevt/ nevpgs, ! number of events to generate/read
137 . nprpgs, ! number of events to print out
138 . optpgs, ! type of run: 'PYTHIA', 'ISAJET', 'FILE', ...
139 . pgs_input_file, ! input file
140 . pgs_output_file, ! output file
141 . pgs_param_file, ! detector parameter file
142 . pgs_isajet_decay, ! ISAJET decay table file name
143 . pgs_isajet_cards, ! ISAJET card file name
144 . pgs_pythia_cards ! PYTHIA card file name
145
146c PGS track list
147
148 integer ntrkmx
149 parameter (ntrkmx=500)
150
151 integer numtrk,dumtrk,indtrk
152
153 real*8 ptrk,qtrk
154
155 common /pgstrk/ numtrk,dumtrk, ! number of tracks
156 . indtrk(ntrkmx), ! index to HEPEVT particle
157 . ptrk(3,ntrkmx), ! track 3-vector
158 . qtrk(ntrkmx) ! track charge
159
160
161c PGS calorimeter tower arrays
162
163 real*8 pi
164 parameter(pi=3.141592654)
165
166 integer nphimax,netamax
167 parameter (nphimax=600)
168 parameter (netamax=600)
169
170 real*8 ecal,hcal,met_cal,phi_met_cal
171
172 common /pgscal/ ecal(netamax,nphimax), ! electromagnetic energy in each tower
173 . hcal(netamax,nphimax), ! hadronic energy in each tower
174 . met_cal, ! calorimeter missing ET
175 . phi_met_cal ! calorimeter missing ET phi
176
177
178c PGS calorimeter cluster list
179
180 integer nclumx
181
182 parameter (nclumx=50)
183
184 integer cclu,numclu,dumclu,etaclu,phiclu,mulclu
185
186 real*8 pclu,etclu,emclu,ehclu,efclu,widclu
187
188 common /pgsclu/ cclu(netamax,nphimax), ! map of cluster indices
189 . numclu,dumclu, ! number of clusters in list
190 . pclu(5,nclumx), ! cluster 4 vector and mass
191 . etaclu(nclumx), ! cluster seed tower eta
192 . phiclu(nclumx), ! cluster seed tower phi
193 . emclu(nclumx), ! cluster electromagnetic energy
194 . ehclu(nclumx), ! cluster hadronic energy
195 . efclu(nclumx), ! cluster electromagnetic fraction
196 . widclu(nclumx), ! cluster width sqrt(deta**2+dphi**2)
197 . mulclu(nclumx) ! cluster tower multiplicity
198
199
200c PGS trigger object list
201
202 integer ntrgmx
203 parameter (ntrgmx=500)
204
205 integer numtrg,dumtrg,indtrg,typtrg
206
207 real*8 vectrg
208
209 common /pgstrg/ numtrg,dumtrg, ! number of trigger objects
210 . indtrg(ntrgmx), ! index to HEPEVT particle (where relevant)
211 . typtrg(ntrgmx), ! reconstructed type: 0=photon
212 ! 1=electron
213 ! 2=muon
214 ! 3=tau (hadronic)
215 ! 4=jet
216 ! 5=detached vertex
217 ! 6=MET
218 . vectrg(10,ntrgmx) ! trigger object vector: 1 = eta
219 ! 2 = phi
220 ! 3 = ET of cluster
221 ! 4 = cluster #
222 ! 5 = pt of track (if any)
223 ! 6 = track #
224
225c PGS reconstructed object list
226
227 integer nobjmx
228 parameter (nobjmx=500)
229
230 integer numobj,dumobj,indobj,typobj
231 real*8 pobj,qobj,vecobj
232
233 common /pgsrec/ numobj,dumobj, ! number of reconstructed objects
234 . indobj(nobjmx), ! index to HEPEVT particle (where relevant)
235 . typobj(nobjmx), ! reconstructed type: 0 = photon
236 ! 1 = electron
237 ! 2 = muon
238 ! 3 = tau (hadronic)
239 ! 4 = jet
240 ! 5 = heavy charged
241 . pobj(4,nobjmx), ! four vector of reconstructed object
242 . qobj(nobjmx), ! charge of reconstructed object
243 . vecobj(10,nobjmx) ! interesting object quantities
244
245c --------------------------
246c table of vecobj quantities
247c --------------------------
248c
249c -------------------------------------------------------------------------------------
250c type 1 2 3 4 5 6 7
251c -------------------------------------------------------------------------------------
252c 0 photon EM energy HAD energy track E N(trk) width - -
253c 1 electron " " " " " " - - -
254c 2 muon " " " " " " trk iso E - -
255c 3 tau " " " " " " width mtau ptmax
256c 4 jet " " " " " " " flavor c,b tags ->
257c -------------------------------------------------------------------------------------
258c
259c b, c tagging: vecobj(7,iobj) non-zero if charm tag (jet prob. alg.)
260c vecobj(8,iobj) non-zero if b tag ( " " " )
261c vecobj(9,iobj) non-zero if b tag (impact method)
262c
263c --> all algorithms include rates for gluon, uds, c and b jets
264c
Note: See TracBrowser for help on using the repository browser.