001
002 wbbgen_i/doc/wbbgen_cdf.txt
003 ---------------------------
004
005 A text note on the Monte Carlo generator WBBGEN as set up at CDF.
006 Updated July 26 2002, Jeremy Lys, lys@fnal.gov.
007
008
009 NOTE (7/24/2002): There was a random number problem around May 2002.
010 So releases 4.5.3 and 4.6.2 should NOT be used for wbbgen. Releases
011 4.6.0int5 and 4.7.0pre1 and any after that are OK. Random number
012 seeds for the Herwig part of the program can be set in the
013 RandomGenManager talkto, those for the Wbbgen part in the Wbbgen
014 talkto.
015
016
017 wbbgen generates W + b + bbar + jets events. The output is (in
018 general) a HEPG bank.
019
020 A discussion of the Physics involved and of the Monte Carlo
021 implementation is given in "Multijet Matrix Elements and Shower
022 Evolution in Hadronic Collisions: Wbbbar+njets as a Case Study",
023 M. L. Mangano, M. Moretti and R. Pittau, CERN-TH/2001-215, Los
024 Alamos archives hep-ph/0108069 (Aug 7, 2001).
025
026 A document by the authors (Mangano, Moretti, Pittau) is wbbdoc.txt
027 in wbbgen_i/doc .
028
029 At CDF, the relevant code is in the packages wbbgen_i and
030 generatorMods (in latter, see src/WbbgenModule.cc and generatorMods/
031 WbbgenModule.hh).
032
033 Conceptually there are two parts to the code. The first part
034 concerns the partonic level generation of weighted and thence unweighted
035 events. The second part concerns the parton showering and
036 hadronization, which is done using Herwig.
037
038 As of October 2001, the wbbgen code came from the authors in July
039 2001, and the herwig version assumed is v6_202 or v6_4.
040
041 For some results from running wbbgen at CDF, and comments and
042 experience in improving the unweighting efficiency, see cdf note
043 cdf5875 (Chris Neu et al).
044
045 -----------------------------------------------------------------------
046
047 To run wbbgen
048 -------------
049
050 execute the script wbbgen_setup in generatorMods/examples/wbbgen, and
051 run cdfGen with Wbbgen enabled.
052 cdfGen exists (usually) in development (in bin/$BFARCH) and rawhide.
053 Or make your own with gmake generatorMods ....
054 An example of a tcl file is in generatorMods/examples/wbbgen and in
055 wbbgen_i/test .
056
057 For example, in some suitable directory:
058 generatorMods/examples/wbbgen/wbbgen_setup
059 cdfGen generatorMods/examples/wbbgen/wbbgen_test1.tcl > wbbgen.log
060
061
062 The result will be the requested output file plus several (about 10)
063 additional files. Some of the additional files are interesting
064 and/or useful, but if desired they can all be deleted.
065
066 The script wbbgen_setup creates a soft link to cteq5m.tbl. See section
067 below on "The pdf situation...".
068
069 -----------------------------------------------------------------------
070
071 wbbgen talkto
072 -------------
073
074 There are two parts to the talkto, a herwig part and a wbbgen part.
075 Both are reached via talk Wbbgen .
076
077 The herwig part is very similar to the talkto if you run herwig, and you
078 will usually get sensible results if you do not change any of the default
079 settings (but to get some B-baryons set Clpow to ~ 1.3). All the Herwig
080 v6.202 variables (as in herwig_v6202_cdf.doc in the herwig_i package)
081 are in principle changeable, except beam type, beam energy, process,
082 and the b quark mass. None of the added changeable variables in Herwig
083 v6.4 (see herwig_v64a_cdf.txt) are changeable here; that means the
084 Vers64 items, the allow-negative- weights item, and nstru, of which only
085 nstru may be relevant. Changing herwig variables that concern the hard
086 scattering is not sensible and will do nothing.
087
088 The wbbgen part of the talkto controls variables that must be at
089 least checked before running the program. The beam type, beam energy,
090 process, and the b quark mass, can be set in the wbbgen part.
091
092 The following variables are in the wbbuser menu of the talkto, which
093 is the wbbgen part. In the following, the default value is in square
094 brackets.
095
096 ibeam1 1st incident beam, prot=3 antip=1 [3]
097
098 ibeam2 2nd incident beam, prot=3 antip=1 [1]
099
100 ebeam 1st incident beam energy in GeV [980.]
101
102 bmass mass of b quark for Wbb process [4.75]
103
104 njets total no. of jets in Wbb + jets [3]
105
106 ndns pdf set to use, in pdfset code [61]
107
108 ptjmin min. pt of non-b jet parton (GeV) [20.]
109
110 etajmax max. eta of non-b jet parton [2.5]
111
112 drjmin min. dr between two non-b jet partons [0.4]
113
114 ptbmin min. pt of b parton (GeV) [20]
115
116 etabmax max. eta of b parton [2.5]
117
118 drbmin min. dr between b parton's [0.4]
119
120 ptlmin min. pt of charged lepton (GeV) [20]
121
122 etalmax max. eta of charged lepton [2.5]
123
124 drlmin min. dr between charged lepton and a parton [0.0]
125
126 ptnmin min. pt of neutrino (GeV) [0.0]
127
128 iqopt qsq scale, 0 (MW**2), 1 (MW**2+PTJET**2),
129 2 (MW**2+PTW**2) [1]
130
131 qfac scale factor, Q2 -> Q2*qfac**2 [1.0]
132
133 nopt no. of events per iteration [50000]
134
135 niter no. of iterations [1]
136
137 maxev max. no. of events to generate [10000]
138
139 seed1 first seed, integer [12345]
140
141 seed2 second seed, integer [67890]
142
143 gridr grid read unit, cannot be 70-75 [0]
144
145 gridw grid write unit, cannot be 70-75 [22]
146
147 iilepton lepton from W decay, 11 (el), 13 (mu), 15 (tau) [11]
148
149 wbbfile primary name of intermediate files [wbbfile]
150
151
152 Some notes on some of the above:
153
154 njets: possible values are 2, 3, 4, 5, 6. Here 2 implies no extra
155 jets (so the two jets are b and bbar).
156
157 ndns tells which pdf set to use amongst those available within
158 wbbgen. As of Oct 19 2001, the only choice that works is ndns = 101 ;
159 the default does not work. But see section below, "The pdf situation...".
160
161 nopt, number of events per iteration during grid optimization. The
162 authors suggest 1000000 (njets=2), 2000000 (3), 5000000 (4), 10000000
163 (5). So the default value above is just for simple testing.
164
165 maxev gives the number of unweighted events to generate. The final
166 number of weighted events one gets is maxev * efficiency, and the
167 efficiency may be very small, ~ E-04 for example (depending on the
168 parameters chosen).
169
170 seed1 and seed2 are seeds in the explicitly wbbgen random number
171 scheme (not the CdfRn scheme). The random number generator uses the
172 l'Ecuyer method. One can separately set the Herwig random number
173 seeds in talk RandomGenManager .
174
175 gridr and gridw: If one might rerun with the same parameters (but
176 different seeds, for example), cpu time can be saved by writing grid
177 optimization results to a file. So a first run could have gridr = 0,
178 gridw = 22, and a following run gridr = 22, gridw = 0, niter = 0.
179
180 wbbfile is simply the primary name of intermediate files that are
181 written. With the default, one ends up with files like wbbfile_unw.stat.
182
183 ebeam default value was changed July 26 2002 from 900 to 980.
184
185 -----------------------------------------------------------------------
186
187 The pdf situation in WBBGEN
188 ---------------------------
189
190 NOTE: Temporarily, the only choice that works is cteq5m, which requires
191 ndns = 101 , if you use only what is in the repository. Wbbgen comes with
192 its own pdf library, which is too large to put in the repository. So,
193 in wbbgen_i/pdfdat, there is only one pdf, cteq5m.tbl . But, on fcdfsgi2
194 in ~lys/wbbmlm1/alplib/pdfdat are approx. 66 pdf's. If you create a soft
195 link to one of those files and set ndns accordingly, you get the
196 appropriate pdf. For example, on fcdfsgi2 and making a ~random choice:
197 ln -sf ~lys/wbbmlm1/alplib/pdfdat/cor01.dat cor01
198 ndns set 111 [in talkto]
199 should work and give the mrst99-cor01 pdf. Some pdf's were built in to
200 the fortran code, but reducing the size of the code has removed most of
201 those, which were generally rather old.
202
203 The following goes with the caveat of the preceeding paragraph.
204
205 The wbbgen talkto has a variable ndns.
206 The default value for ndns is 61.
207 "any" value" is permitted to be input, but the ones that will not cause
208 an abort are most integers in the range 1 to 122.
209
210 In alpgen.F are two calls that transmit ndns:
211 call pdfpar (ndns,.....)
212 call mlmpdf (ndns,.....) - occurs twice.
213
214 pdfpar and mlmpdf both reside in alppdf.F
215
216 pdfpar checks that ndns is one of the allowed integers.
217
218 From routines in alppdf.F, one can find the correspondence between ndns
219 and various named pdf's.
220 For some of the pdf's, a parametrization exists in alppdf.F. But for
221 most there is a Table to be read in. The Tables reside in pdfdat/xxxx.
222 If the ndns needs to read a Table, the appropriate table, or a link to
223 it, must exist in the current directory.
224
225 Example:
226 ndns = 101 -> CTEQ5M -> the code reads a Table 'cteq5m', that
227 is cteq5m.tbl in pdfdat, so need to do:
228 ln -s wbbgen_i/pdfdat/cteq5m.tbl cteq5m
229
230 Some of the available pdf's are:
231
232 ndns Name Table name file in pdfdat
233
234 72 MRSG MRSG mrsg.dat
235
236 81 CTEQ4M cteq4m cteq4m.tbl
237 82 CTEQ4D cteq4d cteq4d.tbl
238 83 CTEQ4L cteq4l cteq4l.tbl
239 84 CTEQ4A1 cteq4a1 cteq4a1.tbl
240 85 CTEQ4A2 cteq4a2 cteq4a2.tbl
241 86 CTEQ4A4 cteq4a4 cteq4a4.tbl
242 87 CTEQ4A5 cteq4a5 cteq4a5.tbl
243 88 CTEQ4HJ cteq4hj cteq4hj.tbl
244 89 CTEQ4LQ cteq4lq cteq4lq.tbl
245
246 95 MRST1 ft08a ft08a.dat
247 96 MRSTH ft09a ft09a.dat
248 97 MRSTL ft11a ft11a.dat
249 98 MRSTM ft24a ft24a.dat
250 99 MRSTP ft23a ft23a.dat
251
252 101 CTEQ5M cteq5m cteq5m.tbl
253 102 CTEQ5D cteq5d cteq5d.tbl
254 103 CTEQ5L cteq5l cteq5l.tbl
255 104 CTEQ5HJ cteq5hj cteq5hj.tbl
256 105 CTEQ5HQ cteq5hq cteq5hq.tbl
257 106 CTEQ5F3 cteq5f3 cteq5f3.tbl
258 107 CTEQ5F4 cteq5f4 cteq5f4.tbl
259
260 111 MRST99 COR01 cor01 cor01.dat
261 112 MRSTH COR02 cor02 cor02.dat
262 113 MRSTL COR03 cor03 cor03.dat
263 114 MRSTM COR04 cor04 cor04.dat
264 115 MRSTP COR05 cor05 cor05.dat
265 116 MRST99 COR06 cor06 cor06.dat
266 117 MRST99 COR07 cor07 cor07.dat
267 118 MRST99 COR08 cor08 cor08.dat
268 119 MRST99 COR09 cor09 cor09.dat
269 120 MRST99 COR10 cor10 cor10.dat
270 121 MRST99 COR11 cor11 cor11.dat
271 122 MRST99 COR12 cor12 cor12.dat
272
273
274 The above pdf's are used in the partonic level of the generation.
275 In the showering and hadronization, done in Herwig, there is the
276 standard Herwig choice of pdf. That is, a choice from a few hard-wired
277 pdf's or from the library pdflib - need to note the date and consequent
278 choice of the pdflib that is linked. The Herwig pdf does not have to be
279 the same as the wbbgen pdf.
280
281 -----------------------------------------------------------------------
282
283 Some details on the code
284 ------------------------
285
286 The code from the authors is in Fortran and allows for two ways of
287 running.
288 The first way, one generates weighted parton level events for on-line
289 analysis. That option is not available here - it could be made available,
290 but a user may be better off going back to the original authors' code
291 and avoiding the CDF framework.
292 The second way, with two steps (imode =1 and imode = 2), is well
293 described in the authors' wbbdoc.txt .
294
295 The cdf code resides in packages generatorMods and wbbgen_i.
296 generatorMods/src/WbbgenModule.cc has the talkto setup and the code that
297 "calls" the wbbgen routines and then the herwig routines.
298
299 We have made changes (or not) to the authors' code as follows:
300
301 alplib/Acp.f no change
302 Aint.f "
303 Asu3.f common/rescal -> common/rescal_wbb (avoid conflict)
304 alpgen.f ranget, ranset, rangen -> wranget, wranset, wrangen
305 (avoid conflicts)
306 alppdf.f very many changes; omit some pdf's to reduce size,
307 change Ctq4Fn -> WCtq4Fn, Ctq5Pdf -> WCtq5Pdf
308 alputi.f ranget, ranset, rangen -> wranget, wranset, wrangen,
309 and remove unused common/rndm (avoid conflicts)
310 herlib/atoher.f some changes that relate to transmitting file names.
311
312 wbblib/wbb.f changes concerning variable default values - these
313 are set in WbbgenModule.cc . Also momgen -> wmomgen (avoid conflict)
314
315 wbbwork/wbbusr.f many changes. Changes relate to (i) the topdrawer
316 histograms, (ii) printing formats, (iii) communicating the seed and
317 grid unit variables set in talkto, (iv) closing files, (v) a"program"
318 becoming a subroutine, (v) default settings.
319
320 --------------------------------------------------------------------
321
322 On the W decay
323 --------------
324
325 Firstly, note that there is no explicit W in the HEPG bank. There
326 are just the products of a W leptonic decay.
327 The default W decay is to electron + neutrino (equally positive and
328 negative electron). That can be changed in the talkto to muon +
329 neutrino or to tau + neutrino, by setting iilepton to 13 or 15, resp.
330 Here 13 and 15 are the particle ID's of muon and tau.
331 The cross section calculation in the code assumes a W decay to electron
332 plus neutrino, and at the parton level outputs electron and neutrino.
333 Apart from tiny mass effects the cross section should be the same for
334 muon and tau decays of the W. So we can get those decays by simply
335 changing the parton level electon and neutrino into muon and neutrino or
336 tau and neutrino. That is, we keep the particles' momenta but change the
337 particle ID before passing the information to Herwig. Herwig supplies the
338 appropriate mass.
339 Note iilepton was added to talkto 10/23/01.
340
341 --------------------------------------------------------------------
342
343 Topdrawer plots
344 ---------------
345
346 The code came with some topdrawer plots that seemed useful and we have
347 kept them. The plot files are *.top and *_unw.top. These are for weighted
348 and unweighted events respectively. If you have topdrawer (td) you can
349 make plots; or, you can just look at these files, the numbers are
350 readable.
351
352 --------------------------------------------------------------------
353
354 On numbers of unweighted events, and "abort" endings
355 ----------------------------------------------------
356
357 The number of unweighted events possible from running the program
358 depends on the value of maxev (which can be set in the talkto), on the
359 unweighting efficiency (which is usually not known before running), and
360 and on random numbers. So for efficient running it makes sense to
361 set nev (in the tcl file) to a large number. Then the job will stop
362 when it runs out of events to unweight. At present, that means that
363 the job will say it is aborting. But the output file will be good.
364
365 --------------------------------------------------------------------
366
367
368
369
370
371
372
373
374
375
376
Send problems or questions to cdfcode@fnal.gov