001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034 #include "generatorMods/WbbgenModule.hh"
035 #include "BankTools/ToFromYbos.hh"
036
037
038
039 #include <time.h>
040
041
042
043 #include <iostream>
044
045
046
047
048 #include "herwig_i/Herwig.hh"
049 #include "wbbgen_i/wbbgen.hh"
050 #include "evt/Event.hh"
051
052 #include "stdhep_i/CdfHepevt.hh"
053 #include "r_n/CdfRn.hh"
054 const long WbbgenModule::_defaultRandomSeed1 = 88351;
055 const long WbbgenModule::_defaultRandomSeed2 = 973546;
056
057
058 void InitWbbgenCommonBlocks();
059
060
061
062
063
064 extern "C" {
065
066
067 void wherwiginterface_();
068 void wbbusr_();
069 void wbbusrend_();
070 void stread_(double *pbeam1,int *ih1,
071 double *pbeam2,int *ih2,double *mq,int *njets);
072 void loadev_(int *ist,double *avgwgt);
073
074 void hwwarn_(char *,int *,int *);
075 void hwuinc_();
076
077 void hwabeg_();
078 void hwaini_();
079 void hwuine_();
080 void hwbgen_();
081 void hwcfor_();
082 void hwcdec_();
083 void hwdhad_();
084 void hwdhvy_();
085 void hwmevt_();
086 void hwufne_();
087 void whwanal_(int *ihwcod);
088 void hwafin_(double *totwgt,int *nev);
089 void hwaend_();
090
091 void hwghep_(int *mconv);
092 }
093
094
095
096
097 static int init=0;
098
099 int nevgoodev = 0;
100 double totwgt = 0;
101
102 const char* WbbgenModule::genId = "Wbbgen";
103
104
105
106
107 WbbgenModule::WbbgenModule() :
108 AbsGenModule( WbbgenModule::genId,"AC++ module for WBBGEN" ),
109
110
111 _maxer_Parm("Maxer",this,100),
112
113
114 _lambdaQCD_Parm( "Lambda_QCD", this, 0.18),
115
116
117
118
119
120
121
122 _pipsmr_Parm("Pipsmr",this,0),
123 _vipwidx_Parm("Vipwidx",this,0.25),
124 _vipwidy_Parm("Vipwidy",this,0.015),
125 _vipwidz_Parm("Vipwidz",this,1.8),
126
127
128 _sudord_Parm("Sudakov_order",this,2),
129
130
131 _autpdf("Autpdf",this,"MRS"),
132 _modpdf("Modpdf",this,28),
133
134
135
136
137 _rapiditiesM_Parm("Ymax",this,8.0),
138 _ptm_Parm("Ptmin",this,0),
139 _ptM_Parm("Ptmax",this,0),
140 _invarmassm_Parm("MassMin",this,10.),
141 _invarmassM_Parm("MassMax",this,1.E8),
142 _thrust_Parm("ThrustMax",this,0.9),
143 _ptpow_Parm("Ptpow",this,4.0),
144 _empow_Parm("Empow",this,4.00),
145 _q2pow_Parm("Q2power",this,2.5),
146 _qlim_Parm("Qlim",this,0),
147 _q2dilsm_Parm("Q2dilsmin",this,0),
148 _q2dilsM_Parm("Q2dilsmax",this,0),
149 _bgshat_Parm("Bgshat",this, false),
150
151
152
153 _azsoft_Parm("Azsoft",this,true),
154 _azspin_Parm("Azspin",this,true),
155 _qspac_Parm("Spacelike_evolution",this,2.5),
156 _ispac_Parm("Ispac",this,0),
157 _nospac_Parm("Nospac",this,0),
158 _vqcut_Parm("Qcutoff",this,0.48),
159 _vgcut_Parm("Gcutoff",this,0.10),
160 _vpcut_Parm("Pcutoff",this,0.40),
161 _intrinsicpt_Parm("Pt_incoming_hadrons",this,0),
162
163
164
165 _clmax_Parm("Clmax", this,3.35),
166 _clpow_Parm("Clpow",this,2.0),
167 _psplt1_Parm("Psplt1",this,1.0),
168 _psplt2_Parm("Psplt2",this,1.0),
169 _cldir1_Parm("Cldir1",this,1),
170 _cldir2_Parm("Cldir2",this,1),
171 _clsmr1_Parm("Clsmr1",this,0.0),
172 _clsmr2_Parm("Clsmr2",this,0.0),
173 _qdiqk_Parm("Qdiqk",this,0.00),
174 _pdiqk_Parm("Pdiqk",this,5.00),
175 _sngwt_Parm("Sngwt",this,1.0),
176 _decwt_Parm("Decwt",this,1.0),
177 _pwt1_Parm("Pwt1",this,1.0),
178 _pwt2_Parm("Pwt2",this,1.0),
179 _pwt3_Parm("Pwt3",this,1.0),
180 _pwt4_Parm("Pwt4",this,1.0),
181 _pwt5_Parm("Pwt5",this,1.0),
182 _pwt6_Parm("Pwt6",this,1.0),
183 _pwt7_Parm("Pwt7",this,1.0),
184
185
186
187 _prsof_Parm("Prsof",this,1.00),
188 _ensof_Parm("Ensof",this,1.00),
189 _pmbn1_Parm("Pmbn1",this,9.11),
190 _pmbn2_Parm("Pmbn2",this,0.115),
191 _pmbn3_Parm("Pmbn3",this,9.50),
192 _pmbk1_Parm("Pmbk1",this,0.029),
193 _pmbk2_Parm("Pmbk2",this,0.104),
194 _pmbm1_Parm("Pmbm1",this,0.4),
195 _pmbm2_Parm("Pmbm2",this,2.0),
196 _pmbp1_Parm("Pmbp1",this,5.2),
197 _pmbp2_Parm("Pmbp2",this,3.0),
198 _pmbp3_Parm("Pmbp3",this,5.2),
199
200
201
202 _pizstable_Parm("Pizstable",this,0),
203 _pltcut_Parm("Pltcut",this,0.),
204 _modbos1_Parm("Modbos1",this,0),
205 _modbos2_Parm("Modbos2",this,0),
206
207
208
209 _eventweight_Parm("No_weights",this,1),
210 _maxweight_Parm("Maxwt",this,0),
211 _effmin_Parm("Effmin",this,0.001),
212 _noshower_Parm("No_shower",this,0),
213 _nohadroniz_Parm("No_hadronization",this,0),
214 _tlout_Parm("Tlout",this,10.0),
215
216
217
218 _colors_Parm("Colors",this,3),
219 _flavors_Parm ("Flavors", this,6),
220 _weiangle_Parm("Weinberg_angle", this,0.2319),
221 _cabangle_Parm("Cabbibo_angle",this,0.0488),
222 _wwidth_Parm("W_width", this,2.12),
223 _zwidth_Parm("Z_width", this,2.495),
224
225
226
227 _down_Parm("down", this, 0.32),
228 _up_Parm("up", this, 0.32),
229 _strange_Parm("strange", this, 0.50),
230 _charm_Parm("charm",this, 1.55),
231 _bottom_Parm("bottom", this,4.95),
232 _top_Parm("top",this, 174.3),
233 _gluonmass_Parm("gluon",this,0.75),
234 _W_Parm("W", this,80.42),
235 _Z0_Parm("Z0",this,91.188),
236 _higgs_Parm("Higgs",this,115.),
237 _gammax_Parm("Gammax",this,10.),
238
239
240 _read_Filesusy("File_Readsusy",this,"$HERWIG_SUSY"),
241 _rparty_Parm("Rparty",this,1),
242
243
244
245 _zprime_Parm("Zprime",this,0),
246 _ZP_Parm("ZP",this,500.),
247 _zpwidth_Parm("ZP_width",this,5.),
248
249
250
251 _iprint_Parm("iprint",this,1),
252 _maxpr_Parm("maxpr",this,0),
253 _prvtx_Parm("prvtx",this,1),
254 _prndef_Parm("prndef",this,1),
255 _prntex_Parm("prntex",this,0),
256 _prnweb_Parm("prnweb",this,0),
257 _nprfmt_Parm("nprfmt",this,1),
258
259
260
261 _iih1_Parm("ibeam1",this,3),
262 _iih2_Parm("ibeam2",this,1),
263 _ebeam_Parm("ebeam",this,980.),
264 _mq_Parm("bmass",this,4.75),
265 _njets_Parm("njets",this,3),
266 _ndns_Parm("ndns",this,61),
267 _ptjmin_Parm("ptjmin",this,20.),
268 _etajmax_Parm("etajmax",this,2.5),
269 _drjmin_Parm("drjmin",this,0.4),
270 _ptbmin_Parm("ptbmin",this,20.),
271 _etabmax_Parm("etabmax",this,2.5),
272 _drbmin_Parm("drbmin",this,0.4),
273 _ptlmin_Parm("ptlmin",this,20.),
274 _etalmax_Parm("etalmax",this,2.5),
275 _drlmin_Parm("drlmin",this,0.0),
276 _ptnmin_Parm("ptnmin",this,0.0),
277 _iqopt_Parm("iqopt",this,1),
278 _qfac_Parm("qfac",this,1.0),
279 _nopt_Parm("nopt",this,50000),
280 _niter_Parm("niter",this,1),
281 _maxev_Parm("maxev",this,10000),
282 _seed1_Parm("seed1",this,12345),
283 _seed2_Parm("seed2",this,67890),
284 _jgridr_Parm("gridr",this,0),
285 _jgridw_Parm("gridw",this,22),
286 _iilepton_Parm("iilepton",this,11),
287 _wbbfilen("wbbfile",this,"wbbfile"),
288 _randomSeed1("RandomSeed1",this,WbbgenModule::_defaultRandomSeed1),
289 _randomSeed2("RandomSeed2",this,WbbgenModule::_defaultRandomSeed2)
290 {
291
292 InitializeTalkTo();
293
294 _randomNumberMenu.initialize("RandomNumberMenu",this);
295 _randomNumberMenu.initTitle("Fake event random number menu");
296 commands()->append(&_randomNumberMenu);
297
298
299 _randomNumberMenu.commands()->append(&_randomSeed1);
300 _randomNumberMenu.commands()->append(&_randomSeed2);
301
302 ostringstream tmpSstream1;
303 ostringstream tmpSstream2;
304
305
306 tmpSstream1 << " \t\t\tSeed #1 for the random number generator"
307 << "\n\t\t\t(default " << _randomSeed1.value() << ").";
308 _randomSeed1.addDescription(tmpSstream1.str());
309 tmpSstream2 << " \t\t\tSeed #2 for the random number generator"
310 << "\n\t\t\t(default " << _randomSeed2.value() << ").";
311 _randomSeed2.addDescription(tmpSstream2.str());
312
313
314
315
316 wherwiginterface_();
317
318 Her2Absparm();
319
320 InitWbbgenCommonBlocks();
321
322 Absparm2Wbb();
323 }
324
325
326
327
328
329
330 WbbgenModule::~WbbgenModule(){ }
331
332 AppResult WbbgenModule::genBeginJob( ) {
333
334 CdfRn* rn = CdfRn::Instance();
335 if ( !rn->isReadingFromFile() ) {
336 rn->SetEngineSeeds(_randomSeed1.value(), _randomSeed2.value(),"WBBGEN");
337 }
338
339
340
341 Absparm2Wbb();
342
343 Absparm2Her();
344
345 wbbusr_();
346 std::cout << " Finished first wbbusr call " << std::endl;
347 wbbusrend_();
348 wbbusr_();
349 std::cout << " Finished second wbbusr call " << std::endl;
350 wbbusrend_();
351 double pbeam1;
352 int ih1;
353 double pbeam2;
354 int ih2;
355 double mq;
356 int njets;
357 stread_(&pbeam1,&ih1,&pbeam2,&ih2,&mq,&njets);
358
359
360
361 Herwig* herwig = Herwig::Instance();
362 herwig->Hwprop() ->rmass[5]= mq;
363 herwig->Hwproc()->pbeam1 = pbeam1;
364 herwig->Hwproc()->pbeam2 = pbeam2;
365 herwig->Hwproc()->iproc = 0;
366
367
368 char chprot[8] = "P ";
369 char chpbar[8] = "PBAR ";
370 if(ih1==1){
371 for(int i=0; i<7; i++){
372 herwig->Hwbmch()->part1[i] = chprot[i];
373 }
374 }
375 else{
376 for(int i=0; i<7; i++){
377 herwig->Hwbmch()->part1[i] = chpbar[i];
378 }
379 }
380 if(ih2==1){
381 for(int i=0; i<7; i++){
382 herwig->Hwbmch()->part2[i] = chprot[i];
383 }
384 }
385 else{
386 for(int i=0; i<7; i++){
387 herwig->Hwbmch()->part2[i] = chpbar[i];
388 }
389 }
390
391
392
393 hwuinc_();
394
395
396
397 hwabeg_();
398
399 hwaini_();
400
401
402 _events = 0;
403
404 init = 1;
405 return AppResult::OK;
406 }
407
408
409 AppResult WbbgenModule::genEndJob() {
410
411
412 CdfHepevt* hepevt = CdfHepevt::Instance();
413 hepevt->HepevtPtr()->NEVHEP = _events;
414
415
416 hwafin_(&totwgt,&nevgoodev);
417 hwaend_();
418 return AppResult::OK;
419 }
420
421
422
423 AppResult WbbgenModule::genBeginRun( AbsEvent* run ) {
424 return AppResult::OK;
425 }
426
427
428 AppResult WbbgenModule::genEndRun( AbsEvent* run ) {
429 return AppResult::OK;
430 }
431
432
433 int WbbgenModule::callGenerator(AbsEvent* event) {
434
435
436 const int mxerr = 5000;
437 int nterr = 0;
438 bool goodev = false;
439
440 if(init==0) {
441 std::cout << " Herwig not properly initialized" << std::endl;
442 }
443
444 CdfHepevt* hepevt = CdfHepevt::Instance();
445 while(!goodev){
446 hepevt->HepevtPtr()->NEVHEP = _events;
447 hwuine_();
448 int ist = 0;
449 double avgwgt = 0;
450 loadev_(&ist,&avgwgt);
451 if(ist !=1) {
452 if(! _noshower_Parm.value()) {
453 hwbgen_();
454 if(! _nohadroniz_Parm.value()) {
455 hwcfor_();
456 hwcdec_();
457 hwdhad_();
458 hwdhvy_();
459 hwmevt_();
460 }
461 }
462 hwufne_();
463
464 int ihwcod = 1;
465 whwanal_(&ihwcod);
466 if(Herwig::Instance()->Hwevnt()->ierror > 99) {
467 ++nterr;
468 if(nterr>mxerr) {
469 std::cerr << "Herwig:Too many errors on event generation" << std::endl;
470 goodev=true;
471 }
472 }
473 else {
474 if(ihwcod != 0) {
475 goodev=true;
476 }
477 }
478 }
479 else{
480
481 hwafin_(&totwgt,&nevgoodev);
482 hwaend_();
483 ERRLOG(ELfatal,"[WBBGEN_OUT_OF_EVENTS]")
484 << " We have come to the end of the unweighted events in wbbgen"
485 << endmsg;
486
487 goodev=true;
488 }
489 if(goodev){
490 nevgoodev++;
491 totwgt+=avgwgt;
492 }
493 }
494 _events++;
495 return 0;
496 }
497
498
499 void WbbgenModule::fillHepevt() {
500
501
502 int mconv = 1;
503 hwghep_(&mconv);
504 }
505
506
507 void WbbgenModule::Her2Absparm() {
508
509
510 Herwig* herwig = Herwig::Instance();
511
512 string mystring;
513
514
515
516
517 mystring.assign(herwig->Hwprch()->autpdf[0],20);
518 _autpdf.set(mystring);
519 _modpdf.set(herwig->Hwpram()->modpdf[0]);
520
521
522
523 _maxer_Parm.set(herwig->Hwevnt() ->maxer);
524
525
526 _lambdaQCD_Parm.set(herwig->Hwpram() -> qcdlam);
527 _sudord_Parm.set(herwig->Hwusud() ->sudord);
528 _pipsmr_Parm.set(herwig->Hwdist()->pipsmr);
529 _vipwidx_Parm.set(herwig->Hw6202()->vipwid[0]);
530 _vipwidy_Parm.set(herwig->Hw6202()->vipwid[1]);
531 _vipwidz_Parm.set(herwig->Hw6202()->vipwid[2]);
532
533
534 _rapiditiesM_Parm.set(herwig->Hwhard() ->yjmax);
535 _ptM_Parm.set(herwig->Hwhard() ->ptmax);
536 _ptm_Parm.set(herwig->Hwhard() ->ptmin);
537 _invarmassM_Parm.set(herwig->Hwhard() ->emmax);
538 _invarmassm_Parm.set(herwig->Hwhard() ->emmin);
539 _thrust_Parm.set(herwig->Hwhard() ->thmax);
540 _ptpow_Parm.set(herwig->Hwhard() ->ptpow);
541 _empow_Parm.set(herwig->Hwhard() ->empow);
542 _q2pow_Parm.set(herwig->Hwhard() ->q2pow);
543 _qlim_Parm.set(herwig->Hwhard() ->qlim);
544 _q2dilsM_Parm.set(herwig->Hwhard() ->q2max);
545 _q2dilsm_Parm.set(herwig->Hwhard() ->q2min);
546 _bgshat_Parm.set(herwig->Hwhard() ->bgshat);
547
548 _azsoft_Parm.set(herwig->Hwpram()->azsoft);
549 _azspin_Parm.set(herwig->Hwpram() -> azspin);
550 _qspac_Parm.set(herwig->Hwpram() -> qspac);
551 _ispac_Parm.set(herwig->Hwpram() -> ispac);
552 _nospac_Parm.set(herwig->Hwpram() -> nospac);
553 _vqcut_Parm.set(herwig->Hwpram() -> vqcut);
554 _vgcut_Parm.set(herwig->Hwpram() -> vgcut);
555 _vpcut_Parm.set(herwig->Hwpram() -> vpcut);
556 _intrinsicpt_Parm.set(herwig->Hwpram() -> ptrms);
557
558 _clmax_Parm.set(herwig->Hwpram() -> clmax);
559 _clpow_Parm.set(herwig->Hwpram() -> clpow);
560 _psplt1_Parm.set(herwig->Hwpram() -> psplt[0]);
561 _psplt2_Parm.set(herwig->Hwpram() -> psplt[1]);
562 _cldir1_Parm.set(herwig->Hwpram() -> cldir[0]);
563 _cldir2_Parm.set(herwig->Hwpram() -> cldir[1]);
564 _clsmr1_Parm.set(herwig->Hwpram() -> clsmr[0]);
565 _clsmr2_Parm.set(herwig->Hwpram() -> clsmr[1]);
566 _qdiqk_Parm.set(herwig->Hwpram() -> qdiqk);
567 _pdiqk_Parm.set(herwig->Hwpram() -> pdiqk);
568 _sngwt_Parm.set(herwig->Hwuwts() ->sngwt);
569 _decwt_Parm.set(herwig->Hwuwts() ->decwt);
570 _pwt1_Parm.set(herwig->Hwuwts() ->pwt[0]);
571 _pwt2_Parm.set(herwig->Hwuwts() ->pwt[1]);
572 _pwt3_Parm.set(herwig->Hwuwts() ->pwt[2]);
573 _pwt4_Parm.set(herwig->Hwuwts() ->pwt[3]);
574 _pwt5_Parm.set(herwig->Hwuwts() ->pwt[4]);
575 _pwt6_Parm.set(herwig->Hwuwts() ->pwt[5]);
576 _pwt7_Parm.set(herwig->Hwuwts() ->pwt[6]);
577
578
579 _prsof_Parm.set(herwig->Hwpram() -> prsof);
580 _ensof_Parm.set(herwig->Hwpram() -> ensof);
581 _pmbn1_Parm.set(herwig->Hwminb() -> pmbn1);
582 _pmbn2_Parm.set(herwig->Hwminb() -> pmbn2);
583 _pmbn3_Parm.set(-herwig->Hwminb() -> pmbn3);
584 _pmbk1_Parm.set(herwig->Hwminb() -> pmbk1);
585 _pmbk2_Parm.set(-herwig->Hwminb() -> pmbk2);
586 _pmbm1_Parm.set(herwig->Hwminb() -> pmbm1);
587 _pmbm2_Parm.set(herwig->Hwminb() -> pmbm2);
588 _pmbp1_Parm.set(herwig->Hwminb() -> pmbp1);
589 _pmbp2_Parm.set(herwig->Hwminb() -> pmbp2);
590 _pmbp3_Parm.set(herwig->Hwminb() -> pmbp3);
591
592 _pizstable_Parm.set(herwig->Hwupdt() -> rstab[21]);
593 _pltcut_Parm.set(herwig->Hwdist() -> pltcut);
594 _modbos1_Parm.set(herwig->Hwbosc()->modbos[0]);
595 _modbos2_Parm.set(herwig->Hwbosc()->modbos[1]);
596
597 _eventweight_Parm.set(herwig->Hwevnt() ->nowgt);
598 _maxweight_Parm.set(herwig->Hwevnt() ->wgtmax);
599 _effmin_Parm.set(herwig->Hwpram() ->effmin);
600 _tlout_Parm.set(herwig->Hwevnt() ->tlout);
601
602 _colors_Parm.set(herwig->Hwpram() -> ncolo);
603 _flavors_Parm.set(herwig->Hwpram() -> nflav);
604 _weiangle_Parm.set(herwig->Hwpram() -> swein);
605 _cabangle_Parm.set(herwig->Hwpram() -> scabi);
606 _wwidth_Parm.set(herwig->Hwpram() -> gamw);
607 _zwidth_Parm.set(herwig->Hwpram() -> gamz);
608
609 _down_Parm.set(herwig->Hwprop() ->rmass[1]);
610 _up_Parm.set(herwig->Hwprop() ->rmass[2]);
611 _strange_Parm.set(herwig->Hwprop() ->rmass[3]);
612 _charm_Parm.set(herwig->Hwprop() ->rmass[4]);
613 _bottom_Parm.set(herwig->Hwprop() ->rmass[5]);
614 _top_Parm.set(herwig->Hwprop() ->rmass[6]);
615 _gluonmass_Parm.set(herwig->Hwprop() ->rmass[13]);
616 _W_Parm.set(herwig->Hwprop() ->rmass[198]);
617 _Z0_Parm.set(herwig->Hwprop() ->rmass[200]);
618 _higgs_Parm.set(herwig->Hwprop() ->rmass[201]);
619 _gammax_Parm.set(herwig->Hwbosc()->gammax);
620
621 _zprime_Parm.set(herwig->Hwpram() -> zprime);
622 _ZP_Parm.set(herwig->Hwprop() -> rmass[202]);
623 _zpwidth_Parm.set(herwig->Hwpram() -> gamzp);
624 _rparty_Parm.set(herwig->Hwrpar()->rparty);
625
626 _iprint_Parm.set(herwig->Hwpram() -> iprint);
627 _maxpr_Parm.set(herwig->Hwevnt() -> maxpr);
628 _prvtx_Parm.set(herwig->Hwpram() -> prvtx);
629 _prndef_Parm.set(herwig->Hwpram() -> prndef);
630 _prntex_Parm.set(herwig->Hwpram() -> prntex);
631 _prnweb_Parm.set(herwig->Hwpram() -> prnweb);
632 _nprfmt_Parm.set(herwig->Hwpram() -> nprfmt);
633
634
635
636
637
638
639
640 }
641
642
643
644
645
646 void WbbgenModule::Absparm2Her() {
647
648 Herwig* herwig = Herwig::Instance();
649
650 int nch;
651 nch = (_autpdf.value().size()<20) ? _autpdf.value().size() : 19;
652 for(int i=0; i<19; i++) {
653 if(i<nch) {
654 herwig->Hwprch()->autpdf[0][i] = _autpdf.value().c_str()[i];
655 herwig->Hwprch()->autpdf[1][i] = _autpdf.value().c_str()[i];
656 }
657 else {
658 herwig->Hwprch()->autpdf[0][i] = ' ';
659 herwig->Hwprch()->autpdf[1][i] = ' ';
660 }
661 }
662
663 herwig->Hwpram() ->modpdf[0]=_modpdf.value();
664 herwig->Hwpram()->modpdf[1]=_modpdf.value();
665 herwig->Hwevnt() ->maxer=_maxer_Parm.value();
666
667
668 herwig->Hwpram() -> qcdlam=_lambdaQCD_Parm.value();
669 herwig->Hwusud() ->sudord=_sudord_Parm.value();
670 herwig->Hwdist() ->pipsmr=_pipsmr_Parm.value();
671 herwig->Hw6202() ->vipwid[0]=_vipwidx_Parm.value();
672 herwig->Hw6202() ->vipwid[1]=_vipwidy_Parm.value();
673 herwig->Hw6202() ->vipwid[2]=_vipwidz_Parm.value();
674
675
676
677 float yjmin1;
678 yjmin1 = -_rapiditiesM_Parm.value();
679
680 herwig->Hwhard() ->yjmin=yjmin1;
681
682 herwig->Hwhard() ->yjmax=_rapiditiesM_Parm.value();
683 herwig->Hwhard() ->ptmin=_ptm_Parm.value();
684 herwig->Hwhard() ->ptmax=_ptM_Parm.value();
685 herwig->Hwhard() ->emmin=_invarmassm_Parm.value();
686 herwig->Hwhard() ->emmax=_invarmassM_Parm.value();
687 herwig->Hwhard() ->thmax=_thrust_Parm.value();
688 herwig->Hwhard() ->ptpow=_ptpow_Parm.value();
689 herwig->Hwhard() ->empow=_empow_Parm.value();
690 herwig->Hwhard() ->q2pow=_q2pow_Parm.value();
691 herwig->Hwhard() ->qlim=_qlim_Parm.value();
692 herwig->Hwhard() ->q2min=_q2dilsm_Parm.value();
693 herwig->Hwhard() ->q2max=_q2dilsM_Parm.value();
694 herwig->Hwhard() ->bgshat=_bgshat_Parm.value();
695
696 herwig->Hwpram() ->azsoft=_azsoft_Parm.value();
697 herwig->Hwpram() -> azspin=_azspin_Parm.value();
698 herwig->Hwpram() -> qspac=_qspac_Parm.value();
699 herwig->Hwpram() -> ispac=_ispac_Parm.value();
700 herwig->Hwpram() -> nospac=_nospac_Parm.value();
701 herwig->Hwpram() -> vqcut=_vqcut_Parm.value();
702 herwig->Hwpram() -> vgcut=_vgcut_Parm.value();
703 herwig->Hwpram() -> vpcut=_vpcut_Parm.value();
704 herwig->Hwpram() -> ptrms=_intrinsicpt_Parm.value();
705
706 herwig->Hwpram() -> clmax=_clmax_Parm.value();
707 herwig->Hwpram() -> clpow=_clpow_Parm.value();
708 herwig->Hwpram() -> psplt[0]=_psplt1_Parm.value();
709 herwig->Hwpram() -> psplt[1]=_psplt2_Parm.value();
710 herwig->Hwpram() -> cldir[0]=_cldir1_Parm.value();
711 herwig->Hwpram() -> cldir[1]=_cldir2_Parm.value();
712 herwig->Hwpram() -> clsmr[0]=_clsmr1_Parm.value();
713 herwig->Hwpram() -> clsmr[1]=_clsmr2_Parm.value();
714 herwig->Hwpram() -> qdiqk=_qdiqk_Parm.value();
715 herwig->Hwpram() -> pdiqk=_pdiqk_Parm.value();
716 herwig->Hwuwts() -> sngwt=_sngwt_Parm.value();
717 herwig->Hwuwts() -> decwt=_decwt_Parm.value();
718 herwig->Hwuwts() -> pwt[0]=_pwt1_Parm.value();
719 herwig->Hwuwts() -> pwt[1]=_pwt2_Parm.value();
720 herwig->Hwuwts() -> pwt[2]=_pwt3_Parm.value();
721 herwig->Hwuwts() -> pwt[3]=_pwt4_Parm.value();
722 herwig->Hwuwts() -> pwt[4]=_pwt5_Parm.value();
723 herwig->Hwuwts() -> pwt[5]=_pwt6_Parm.value();
724 herwig->Hwuwts() -> pwt[6]=_pwt7_Parm.value();
725
726 herwig->Hwpram() -> prsof=_prsof_Parm.value();
727 herwig->Hwpram() -> ensof=_ensof_Parm.value();
728
729 herwig->Hwminb() -> pmbn1=_pmbn1_Parm.value();
730 herwig->Hwminb() -> pmbn2=_pmbn2_Parm.value();
731 herwig->Hwminb() -> pmbn3=-_pmbn3_Parm.value();
732 herwig->Hwminb() -> pmbk1=_pmbk1_Parm.value();
733 herwig->Hwminb() -> pmbk2=-_pmbk2_Parm.value();
734 herwig->Hwminb() -> pmbm1=_pmbm1_Parm.value();
735 herwig->Hwminb() -> pmbm2=_pmbm2_Parm.value();
736 herwig->Hwminb() -> pmbp1=_pmbp1_Parm.value();
737 herwig->Hwminb() -> pmbp2=_pmbp2_Parm.value();
738 herwig->Hwminb() -> pmbp3=_pmbp3_Parm.value();
739
740 herwig->Hwupdt() -> rstab[21]=_pizstable_Parm.value();
741 herwig->Hwdist() -> pltcut=_pltcut_Parm.value();
742 herwig->Hwbosc() -> modbos[0]=_modbos1_Parm.value();
743 herwig->Hwbosc() -> modbos[1]=_modbos2_Parm.value();
744
745 herwig->Hwevnt() -> nowgt=_eventweight_Parm.value();
746 herwig->Hwevnt() -> wgtmax=_maxweight_Parm.value();
747 herwig->Hwpram() -> effmin=_effmin_Parm.value();
748 herwig->Hwevnt() -> tlout=_tlout_Parm.value();
749 herwig->Hwpram() -> ncolo=_colors_Parm.value();
750 herwig->Hwpram() -> nflav=_flavors_Parm.value();
751 herwig->Hwpram() -> swein=_weiangle_Parm.value();
752 herwig->Hwpram() -> scabi=_cabangle_Parm.value();
753 herwig->Hwpram() -> gamw=_wwidth_Parm.value();
754 herwig->Hwpram() -> gamz=_zwidth_Parm.value();
755
756 herwig->Hwprop() ->rmass[1]=_down_Parm.value();
757 herwig->Hwprop() ->rmass[2]=_up_Parm.value();
758 herwig->Hwprop() ->rmass[3]=_strange_Parm.value();
759 herwig->Hwprop() ->rmass[4]=_charm_Parm.value();
760 herwig->Hwprop() ->rmass[5]=_bottom_Parm.value();
761 herwig->Hwprop() ->rmass[6]=_top_Parm.value();
762 herwig->Hwprop() ->rmass[13]=_gluonmass_Parm.value();
763 herwig->Hwprop() ->rmass[198]=_W_Parm.value();
764 herwig->Hwprop() ->rmass[200]=_Z0_Parm.value();
765 herwig->Hwprop() ->rmass[201]=_higgs_Parm.value();
766 herwig->Hwbosc() ->gammax=_gammax_Parm.value();
767
768 herwig->Hwpram() -> zprime = _zprime_Parm.value();
769 herwig->Hwprop() -> rmass[202] = _ZP_Parm.value();
770 herwig->Hwpram()-> gamzp = _zpwidth_Parm.value();
771
772 herwig->Hwrpar() -> rparty = _rparty_Parm.value();
773
774 herwig->Hwpram() -> iprint = _iprint_Parm.value();
775 herwig->Hwevnt() -> maxpr = _maxpr_Parm.value();
776 herwig->Hwpram() -> prvtx = _prvtx_Parm.value();
777 herwig->Hwpram() -> prndef = _prndef_Parm.value();
778 herwig->Hwpram() -> prntex = _prntex_Parm.value();
779 herwig->Hwpram() -> prnweb = _prnweb_Parm.value();
780 herwig->Hwpram() -> nprfmt = _nprfmt_Parm.value();
781
782 }
783
784
785
786
787 void WbbgenModule::Absparm2Wbb() {
788
789 gWbbeams ->ih1=_iih1_Parm.value()-2;
790 gWbbeams ->ih2=_iih2_Parm.value()-2;
791 gWbbeams ->ebeam=_ebeam_Parm.value();
792 gWbpparam ->mq=_mq_Parm.value();
793 gWbevtpari ->njets=_njets_Parm.value();
794 gWbglocut ->ptjmin=_ptjmin_Parm.value();
795 gWbglocut ->etajmax=_etajmax_Parm.value();
796 gWbglocut ->drjmin=_drjmin_Parm.value();
797 gWbglocut ->ptbmin=_ptbmin_Parm.value();
798 gWbglocut ->etabmax=_etabmax_Parm.value();
799 gWbglocut ->drbmin=_drbmin_Parm.value();
800 gWbglocut ->ptlmin=_ptlmin_Parm.value();
801 gWbglocut ->etalmax=_etalmax_Parm.value();
802 gWbglocut ->drlmin=_drlmin_Parm.value();
803 gWbglocut ->ptnmin=_ptnmin_Parm.value();
804 gWbpdfvar ->iqopt=_iqopt_Parm.value();
805 gWbpdfvar ->qfac=_qfac_Parm.value();
806 gWbpdfvar ->ndns=_ndns_Parm.value();
807 gWboptiter ->nopt=_nopt_Parm.value();
808 gWboptiter ->niter=_niter_Parm.value();
809 gWbweights ->maxev=_maxev_Parm.value();
810 gWbkkseed ->kseed[0]=_seed1_Parm.value();
811 gWbkkseed ->kseed[1]=_seed2_Parm.value();
812 gWbgridunit ->jgridr=_jgridr_Parm.value();
813 gWbgridunit ->jgridw=_jgridw_Parm.value();
814 gWbleptontype ->iilepton=_iilepton_Parm.value();
815
816 int nch;
817 nch = (_wbbfilen.value().size()<20) ? _wbbfilen.value().size() : 19;
818 for(int i=0; i<19; i++) {
819 if(i<nch) {
820 gWbevtout->fname[i] = _wbbfilen.value().c_str()[i];
821 }
822 else {
823 gWbevtout->fname[i] = ' ';
824 }
825 }
826
827 }
828
829 void WbbgenModule::InitializeTalkTo() {
830
831
832 _01Menu.initialize ("Beam",this);
833 _01Menu.initTitle ("Beam Menu: Beam types and momenta");
834
835 _02Menu.initialize ("Sudakov",this);
836 _02Menu.initTitle ("alpha_s order in Sudakov form factors");
837
838 _03Menu.initialize ("Struc_Function",this);
839 _03Menu.initTitle ("Select structure function set");
840
841 _04Menu.initialize ("Hards",this);
842 _04Menu.initTitle ("Hard scattering process params menu");
843
844 _05Menu.initialize ("Shower",this);
845 _05Menu.initTitle ("Evokes shower parameters menu");
846
847 _06Menu.initialize ("Hadronization",this);
848 _06Menu.initTitle ("Evokes hadronization parameters menu");
849
850 _07Menu.initialize ("Underl_event",this);
851 _07Menu.initTitle ("Underlying soft event parameters menu");
852
853 _08Menu.initialize ("Decays",this);
854 _08Menu.initTitle ("Controls Particle Decays");
855
856 _09Menu.initialize ("Generation",this);
857 _09Menu.initTitle ("Evokes generation parameter menu");
858
859 _10Menu.initialize ("Sm_par",this);
860 _10Menu.initTitle("Evokes standard model parameters menu");
861
862 _11Menu.initialize ("Masses",this);
863 _11Menu.initTitle ("Change particle masses");
864
865 _12Menu.initialize ("Read_susy",this);
866 _12Menu.initTitle ("Read susy file");
867
868 _13Menu.initialize ("Zprime",this);
869 _13Menu.initTitle ("Control Z-prime");
870
871 _14Menu.initialize ("Prints",this);
872 _14Menu.initTitle ("Control printing");
873
874 _15Menu.initialize ("Wbbuser",this);
875 _15Menu.initTitle ("Control wbb process");
876
877
878
879 _maxer_Parm.addDescription(
880 "\t\t\tNumber of errors allowed before run stops\n\
881 \t\t\t The syntax is: Maxer set <maxer> ");
882
883
884
885
886
887
888
889 _lambdaQCD_Parm.addDescription(
890 "\t\t\tSpecify the value of lamba QCD.\n\
891 \t\t\tThe syntax is: Lambda_QCD set <lambda>\n\
892 \t\t\twhere <lambda> is specified in GEV" );
893
894
895
896
897
898 _pipsmr_Parm.addDescription(
899 "\t\t\tWhether to smear primary vertex.\n\
900 \t\t\tThe syntax is: Pipsmr set <pipsmr>\n\
901 \t\t\twhere <pipsmr> is 1 (yes) or 0 (no)" );
902
903 _vipwidx_Parm.addDescription(
904 "\t\t\tSet x width for smeared primary vertex.\n\
905 \t\t\tThe syntax is: Vipwidx set <vipwidx>\n\
906 \t\t\twhere <vipwidx> is specified in mm " );
907
908 _vipwidy_Parm.addDescription(
909 "\t\t\tSet y width for smeared primary vertex.\n\
910 \t\t\tThe syntax is: Vipwidy set <vipwidy>\n\
911 \t\t\twhere <vipwidy> is specified in mm " );
912
913 _vipwidz_Parm.addDescription(
914 "\t\t\tSet z width for smeared primary vertex.\n\
915 \t\t\tThe syntax is: Vipwidz set <vipwidz>\n\
916 \t\t\twhere <vipwidz> is specified in mm " );
917
918
919
920
921
922 _sudord_Parm.addDescription(
923 "\t\t\tSpecify the order of Sudakov calculation.\n\
924 \t\t\tThe syntax is: Sudakov_order set <sudakov_order>\n\
925 \t\t\twhere <sudakov_order> is an integer, 1 or 2");
926
927
928
929
930 _autpdf.addDescription(
931 "\t\t\tAuthors of PDF function (MRS,CTEQ,etc) as string variable");
932
933 _modpdf.addDescription(
934 "\t\t\tPDF number for PDFLIB as integer");
935
936
937
938
939
940
941
942
943
944
945
946
947
948 _rapiditiesM_Parm.addDescription(
949 "\t\t\tSet maximum rapidity.\n\
950 \t\t\tThe command is effective for:\n\
951 \t\t\t\t IPROC=1500 QCD 2->2 \n\
952 \t\t\t\t IPROC=17** Heavy flavor production \n\
953 \t\t\t\t IPROC=1800 Direct photon production\n\
954 \t\t\tThe syntax is: Ymax set <maxrap>");
955
956 _ptm_Parm.addDescription(
957 "\t\t\tSet minimum transverse momentum.\n\
958 \t\t\tThe syntax is: Ptmin set <ptm>\n\
959 \t\t\twhere <ptm> is specified in GEV" );
960
961 _ptM_Parm.addDescription(
962 "\t\t\tSet maximum transverse momentum.\n\
963 \t\t\tThe syntax is: Ptmax set <ptM>\n\
964 \t\t\twhere <ptM> is specified in GEV" );
965
966 _invarmassm_Parm.addDescription(
967 "\t\t\tSet min invariant mass limits for Drell-Yan process.\n\
968 \t\t\tThe syntax is: MassMin set <invarmass>\n\
969 \t\t\twhere <invarmassm> is specified in GEV " );
970
971 _invarmassM_Parm.addDescription(
972 "\t\t\tSet max invariant mass limits for Drell-Yan process.\n\
973 \t\t\tThe syntax is: MassMax set <invarmassM>\n\
974 \t\t\twhere <invarmassM> is specified in GEV " );
975
976 _thrust_Parm.addDescription(
977 "\t\t\tMax thrust for 2->3 process.\n\
978 \t\t\tThe syntax is: ThrustMax set <thrust>");
979
980 _ptpow_Parm.addDescription(
981 "\t\t\tPower of importance sampling in QCD 2->2 process.\n\
982 \t\t\td(sigma)/dEt fall like ET**(-Ptpow)\n\
983 \t\t\tThe syntax is: Ptpow set <ptpow>" );
984
985 _empow_Parm.addDescription(
986 "\t\t\tPower of importance sampling in DRELL-YAN process.\n\
987 \t\t\td(sigma)/dM falls like M**(-Empow)\n\
988 \t\t\tThe syntax is: Empow set <empw> " );
989
990 _q2pow_Parm.addDescription(
991 "\t\t\tQ**2 power for importance sampling in DILS.\n\
992 \t\t\tThe syntax is: Q2power set <q2pow>\n\
993 \t\t\twhere <q2pow> is a positive real " );
994
995 _qlim_Parm.addDescription(
996 "\t\t\tUpper limit on hard process scale.\n\
997 \t\t\tThe syntax is: Qlim set <qlim>");
998
999 _q2dilsm_Parm.addDescription(
1000 "\t\t\tQ**2 min limit for deep inelastic lepton scattering.\n\
1001 \t\t\tThe syntax is: Q2dilsmin set <q2dilsm>");
1002
1003 _q2dilsM_Parm.addDescription(
1004 "\t\t\tQ**2 max limit for deep inelastic lepton scattering.\n\
1005 \t\t\tThe syntax is: Q2dilsmax set <q2dilsM>");
1006
1007 _bgshat_Parm.addDescription(
1008 "\t\t\tScale switch for boson-gluon fusion.\n\
1009 \t\t\tThe syntax is: Bgshat set <bgshat>\n\
1010 \t\t\twhere <bgshat> is 1 (true) or 0 (false) " );
1011
1012
1013
1014
1015 _azsoft_Parm.addDescription(
1016 "\t\t\tSwitch on azimuthal correlation for soft gluons.\n\
1017 \t\t\tThe syntax is: Azsoft set <azsoft>\n\
1018 \t\t\twhere <azsoft> is 1(true) or 0(false) " );
1019
1020 _azspin_Parm.addDescription(
1021 "\t\t\tSwitch on azimuthal correlation including nearest\n\
1022 \t\t\t\tneighbor spin correlations.\n\
1023 \t\t\tThe syntax is: Azspin set <azspin>\n\
1024 \t\t\twhere <azspin> is 1(true) or 0(false) " );
1025
1026 _qspac_Parm.addDescription(
1027 "\t\t\tSet lower limit for spacelike evolution.\n\
1028 \t\t\tThe syntax is: Spacelike_evolution set <qspac>");
1029
1030 _ispac_Parm.addDescription(
1031 "\t\t\tSet ispac controlling qspac precise meaning.\n\
1032 \t\t\tThe syntax is: Ispac set <ispac>\n\
1033 \t\t\twhere <ispac> is 0 or 1 or 2 " );
1034
1035 _nospac_Parm.addDescription(
1036 "\t\t\tWhether to turn off ISR.\n\
1037 \t\t\tThe syntax is: Nospac set <nospac>\n\
1038 \t\t\twhere <nospac> is 1(true) or 0(false) " );
1039
1040 _vqcut_Parm.addDescription(
1041 "\t\t\tSet quark virtuality cutoff.\n\
1042 \t\t\tThe syntax is: Qcutoff set <vqcut>");
1043
1044 _vgcut_Parm.addDescription(
1045 "\t\t\tSet gluon virtuality cutoff.\n\
1046 \t\t\tThe syntax is: Gcutoff set <vgcut>");
1047
1048 _vpcut_Parm.addDescription(
1049 "\t\t\tSet photon virtuality cutoff.\n\
1050 \t\t\tThe syntax is: Pcutoff set <vpcut>");
1051
1052 _intrinsicpt_Parm.addDescription(
1053 "\t\t\tSet intrinsic pt of incoming hadrons.\n\
1054 \t\t\tThe syntax is: Pt_incoming_hadrons set <intrinsicpt>");
1055
1056
1057
1058 _clmax_Parm.addDescription(
1059 "\t\t\tSet mass cluster mass parameter.\n\
1060 \t\t\tThe syntax is: Clmax set <clmax>\n\
1061 \t\t\twhere <clmax> is GEV" );
1062
1063 _clpow_Parm.addDescription(
1064 "\t\t\tSet mass dependence of cluster hadronization.\n\
1065 \t\t\tThe syntax is: Clpow set <clpow>");
1066
1067 _psplt1_Parm.addDescription(
1068 "\t\t\tSet mass distribution in cluster splitting, non-b.\n\
1069 \t\t\tThe syntax is: Psplt1 set <psplt1>");
1070
1071 _psplt2_Parm.addDescription(
1072 "\t\t\tSet mass distribution in cluster splitting, b.\n\
1073 \t\t\tThe syntax is: Psplt2 set <psplt2>");
1074
1075 _cldir1_Parm.addDescription(
1076 "\t\t\tSet remember direction in cluster decay to hads, non-b.\n\
1077 \t\t\tThe syntax is: Cldir1 set <cldir1>)\n\
1078 \t\t\twhere <cldir1> is 1(true) or 0(false) " );
1079
1080 _cldir2_Parm.addDescription(
1081 "\t\t\tSet remember direction in cluster decay to hads, b.\n\
1082 \t\t\tThe syntax is: Cldir2 set <cldir2>)\n\
1083 \t\t\twhere <cldir2> is 1(true) or 0(false) " );
1084
1085 _clsmr1_Parm.addDescription(
1086 "\t\t\tSet alignment correl. in cluster decay to hads, non-b.\n\
1087 \t\t\tThe syntax is: Clsmr1 set <clsmr1>");
1088
1089 _clsmr2_Parm.addDescription(
1090 "\t\t\tSet alignment correl. in cluster decay to hads, b.\n\
1091 \t\t\tThe syntax is: Clsmr2 set <clsmr2>");
1092
1093 _qdiqk_Parm.addDescription(
1094 "\t\t\tSet scale at which gluon can be split into diquarks.\n\
1095 \t\t\tThe syntax is: Qdiqk set <qdiqk>\n\
1096 \t\t\twhere <qdiqk> is in GEV " );
1097
1098 _pdiqk_Parm.addDescription(
1099 "\t\t\tSet probability of diquark splitting per unit log scale.\n\
1100 \t\t\tThe syntax is: Pdiqk set <pdiqk>");
1101
1102 _sngwt_Parm.addDescription(
1103 "\t\t\tSet weights for singlet baryons.\n\
1104 \t\t\tThe syntax is: Sngwt set <sngwt>");
1105
1106 _decwt_Parm.addDescription(
1107 "\t\t\tSet weights for decuplet baryons.\n\
1108 \t\t\tThe syntax is: Decwt set <decwt>");
1109
1110 _pwt1_Parm.addDescription(
1111 "\t\t\ta priori wt for d.dbar pairs in cluster decays.\n\
1112 \t\t\tThe syntax is: Pwt1 set <ptw1>");
1113
1114 _pwt2_Parm.addDescription(
1115 "\t\t\ta priori wt for u.ubar pairs in cluster decays.\n\
1116 \t\t\tThe syntax is: Pwt2 set <ptw2>");
1117
1118 _pwt3_Parm.addDescription(
1119 "\t\t\ta priori wt for s.sbar pairs in cluster decays.\n\
1120 \t\t\tThe syntax is: Pwt3 set <ptw3>");
1121
1122 _pwt4_Parm.addDescription(
1123 "\t\t\ta priori wt for c.cbar pairs in cluster decays.\n\
1124 \t\t\tThe syntax is: Pwt4 set <ptw4>");
1125
1126 _pwt5_Parm.addDescription(
1127 "\t\t\ta priori wt for b.bbar pairs in cluster decays.\n\
1128 \t\t\tThe syntax is: Pwt5 set <ptw5>");
1129
1130 _pwt6_Parm.addDescription(
1131 "\t\t\ta priori wt for t.tbar pairs in cluster decays.\n\
1132 \t\t\tThe syntax is: Pwt6 set <ptw6>");
1133
1134 _pwt7_Parm.addDescription(
1135 "\t\t\ta priori wt for qq.qqbar pairs in cluster decays.\n\
1136 \t\t\tThe syntax is: Pwt7 set <ptw7>");
1137
1138
1139
1140 _prsof_Parm.addDescription(
1141 "\t\t\tSet probability of underlying soft event.\n\
1142 \t\t\tThe syntax is: Prsof set <prsof>");
1143
1144 _ensof_Parm.addDescription(
1145 "\t\t\tSet multiplicity enhancement for underlying soft event.\n\
1146 \t\t\tThe syntax is: Ensof set <ensof>");
1147
1148 _pmbn1_Parm.addDescription(
1149 "\t\t\tSet soft interaction model parameter.\n\
1150 \t\t\tThe syntax is: Pmbn1 set <pmbn1>");
1151
1152 _pmbn2_Parm.addDescription(
1153 "\t\t\tSet soft interaction model parameter.\n\
1154 \t\t\tThe syntax is: Pmbn2 set <pmbn2>");
1155
1156 _pmbn3_Parm.addDescription(
1157 "\t\t\tSet (negative of) soft interaction model parameter.\n\
1158 \t\t\tThe syntax is: Pmbn3 set <pmbn3>");
1159
1160 _pmbk1_Parm.addDescription(
1161 "\t\t\tSet soft interaction model parameter.\n\
1162 \t\t\tThe syntax is: Pmbk1 set <pmbk1>");
1163
1164 _pmbk2_Parm.addDescription(
1165 "\t\t\tSet (negative of) soft interaction model parameter.\n\
1166 \t\t\tThe syntax is: Pmbk2 set <pmbk2>");
1167
1168 _pmbm1_Parm.addDescription(
1169 "\t\t\tSet soft interaction model parameter.\n\
1170 \t\t\tThe syntax is: Pmbm1 set <pmbm1>");
1171
1172 _pmbm2_Parm.addDescription(
1173 "\t\t\tSet soft interaction model parameter.\n\
1174 \t\t\tThe syntax is: Pmbm2 set <pmbm2>");
1175
1176 _pmbp1_Parm.addDescription(
1177 "\t\t\tSet soft interaction model parameter.\n\
1178 \t\t\tThe syntax is: Pmbp1 set <pmbp1>");
1179
1180 _pmbp2_Parm.addDescription(
1181 "\t\t\tSet soft interaction model parameter.\n\
1182 \t\t\tThe syntax is: Pmbp2 set <pmbp2>");
1183
1184 _pmbp3_Parm.addDescription(
1185 "\t\t\tSet soft interaction model parameter.\n\
1186 \t\t\tThe syntax is: Pmbp3 set <pmbp3>");
1187
1188
1189
1190 _pizstable_Parm.addDescription(
1191 "\t\t\tSet whether pizeros are to be stable.\n\
1192 \t\t\tThe syntax is: Pizstable set <pizstable>\n\
1193 \t\t\twhere <pizstable> is 1(true) or 0(false) " );
1194 _pltcut_Parm.addDescription(
1195 "\t\t\tSet lifetime cut in secs above which particles are stable.\n\
1196 \t\t\tThe syntax is: Pltcut set <pltcut> " );
1197
1198 _modbos1_Parm.addDescription(
1199 "\t\t\tSet force weak boson decay modes (see Table in Herwig6 doc).\n\
1200 \t\t\tThe syntax is: Modbos1 set <modbos(1)> " );
1201
1202 _modbos2_Parm.addDescription(
1203 "\t\t\tSet force weak boson decay modes (see Table in Herwig6 doc).\n\
1204 \t\t\tThe syntax is: Modbos2 set <modbos(2)> " );
1205
1206
1207
1208 _eventweight_Parm.addDescription(
1209 "\t\t\tSpecify whether event are unweighted.\n\
1210 \t\t\tThe syntax is: No_weights set <nowt>\n\
1211 \t\t\tWhere <nowt> is 1 or 0.");
1212
1213
1214
1215
1216
1217
1218 _maxweight_Parm.addDescription(
1219 "\t\t\tSets max weight.\n\
1220 \t\t\tThe syntax is: Maxwt set <maxweight>");
1221
1222 _effmin_Parm.addDescription(
1223 "\t\t\tSets min efficiency for event generation.\n\
1224 \t\t\tThe syntax is: Effmin set <effmin>");
1225
1226 _noshower_Parm.addDescription(
1227 "\t\t\tTurn off parton shower.\n\
1228 \t\t\tThe syntax is: No_shower set <noshower>\n\
1229 \t\t\twhere <noshower> is true or false" );
1230
1231 _nohadroniz_Parm.addDescription(
1232 "\t\t\tTurn off hadronization.\n\
1233 \t\t\tThe syntax is: No_hadronization set <nohadroniz>\n\
1234 \t\t\twhere <nohadroniz> is true or false" );
1235
1236
1237 _tlout_Parm.addDescription(
1238 "\t\t\ttime (sec) needed to terminate gracefully.\n\
1239 \t\t\tThe syntax is: Tlout set <tlout>\n\
1240 \t\t\twhere <tlout> is in sec" );
1241
1242
1243
1244
1245 _colors_Parm.addDescription(
1246 "\t\t\tSet number of colors.\n\
1247 \t\t\tThe syntax is: Colors set <ncolors>");
1248
1249 _flavors_Parm.addDescription(
1250 "\t\t\tSet number of flavors.\n\
1251 \t\t\tThe syntax is: Flavors set <flavors>");
1252
1253 _weiangle_Parm.addDescription(
1254 "\t\t\tSet sin**2 of Weinberg angle.\n\
1255 \t\t\tThe syntax is: Weinberge_angle set <weiangle>\n\
1256 \t\t\twhere <weiangle> is real (0,1)" );
1257
1258 _cabangle_Parm.addDescription(
1259 "\t\t\tSet sin**2 of Cabibbo angle.\n\
1260 \t\t\tThe syntax is: Cabibbo_angle set <cabangle>\n\
1261 \t\t\twhere <cabangle> is real (0,1)" );
1262
1263 _wwidth_Parm.addDescription(
1264 "\t\t\tSet width of W boson.\n\
1265 \t\t\tThe syntax is: W_width set <wwidth>\n\
1266 \t\t\twhere <wwidth> is in GEV" );
1267
1268 _zwidth_Parm.addDescription(
1269 "\t\t\tSet width of Z boson.\n\
1270 \t\t\tThe syntax is: Z_width set <zwidth>\n\
1271 \t\t\twhere <zwidth> is in GEV" );
1272
1273
1274
1275 _down_Parm.addDescription(
1276 "\t\t\tSet down quark mass.\n\
1277 \t\t\tThe syntax is: down set <down>\n\
1278 \t\t\twhere <down> is in GEV" );
1279 _up_Parm.addDescription(
1280 "\t\t\tSet up quark mass.\n\
1281 \t\t\tThe syntax is: up set <up>\n\
1282 \t\t\twhere <up> is in GEV" );
1283 _strange_Parm.addDescription(
1284 "\t\t\tSet strange quark mass.\n\
1285 \t\t\tThe syntax is: strange set <strange>\n\
1286 \t\t\twhere <strange> is in GEV" );
1287 _charm_Parm.addDescription(
1288 "\t\t\tSet charm quark mass.\n\
1289 \t\t\tThe syntax is: charm set <charm>\n\
1290 \t\t\twhere <charm> is in GEV" );
1291 _bottom_Parm.addDescription(
1292 "\t\t\tSet bottom quark mass.\n\
1293 \t\t\tThe syntax is: bottom set <bottom>\n\
1294 \t\t\twhere <bottom> is in GEV" );
1295 _top_Parm.addDescription(
1296 "\t\t\tSet top quark mass.\n\
1297 \t\t\tThe syntax is: top set <top>\n\
1298 \t\t\twhere <top> is in GEV" );
1299 _gluonmass_Parm.addDescription(
1300 "\t\t\tSet gluon effective mass.\n\
1301 \t\t\tThe syntax is: gluon set <gluonmass>\n\
1302 \t\t\twhere <gluonmass> is in GEV" );
1303 _W_Parm.addDescription(
1304 "\t\t\tSet W+/- mass.\n\
1305 \t\t\tThe syntax is: W set <W>\n\
1306 \t\t\twhere <W> is in GEV" );
1307 _Z0_Parm.addDescription(
1308 "\t\t\tSet Z0 mass.\n\
1309 \t\t\tThe syntax is: Z0 set <Z0>\n\
1310 \t\t\twhere <Z0> is in GEV" );
1311 _higgs_Parm.addDescription(
1312 "\t\t\tSet Higgs mass.\n\
1313 \t\t\tThe syntax is: Higgs set <higgs>\n\
1314 \t\t\twhere <Higgs> is in GEV" );
1315 _gammax_Parm.addDescription(
1316 "\t\t\tSet limit on range of Higgs mass distribution.\n\
1317 \t\t\tThe syntax is: Gammax set <gammax>\n\
1318 \t\t\twhere <gammax> multiplies the Higgs width" );
1319
1320
1321
1322
1323 _read_Filesusy.addDescription(
1324 "\t\t\tSpecify the name of the file used to read the\n\
1325 \t\t\t\tSUSY particle properties.\n\
1326 \t\t\tThe format of the command is: File_Readsusy set <filename>" );
1327
1328 _rparty_Parm.addDescription(
1329 "\t\t\tSet whether R-parity is conserved in SUSY.\n\
1330 \t\t\tThe syntax is: Rparty set <rparty>\n\
1331 \t\t\twhere <rparty> is 1 (yes) or 0 (no)" );
1332
1333
1334
1335 _zprime_Parm.addDescription(
1336 "\t\t\tWhether to use a Z-prime particle.\n\
1337 \t\t\tThe syntax is: Zprime set <zprime>\n\
1338 \t\t\twhere <zprime> is 0 or 1");
1339
1340 _ZP_Parm.addDescription(
1341 "\t\t\tSet mass of the Z-prime particle.\n\
1342 \t\t\tThe syntax is: ZP set <ZP>\n\
1343 \t\t\twhere <ZP> is mass in GeV");
1344
1345 _zpwidth_Parm.addDescription(
1346 "\t\t\tSet width of the Z-prime particle.\n\
1347 \t\t\tThe syntax is: ZP_width set <zpwidth>\n\
1348 \t\t\twhere <zpwidth> is width in GeV");
1349
1350
1351
1352
1353 _iprint_Parm.addDescription(
1354 "\t\t\tHerwig print level control.\n\
1355 \t\t\tThe syntax is: iprint set <print>\n\
1356 \t\t\twhere :\n\
1357 \t\t\t 0 No printout;\n\
1358 \t\t\t 1 Print selected input parameters;\n\
1359 \t\t\t 2 1 + table of particle codes and properties;\n\
1360 \t\t\t 3 2 + tables of Sudakov form factors." );
1361
1362 _maxpr_Parm.addDescription(
1363 "\t\t\tDump of Herwig event for maxpr events.\n\
1364 \t\t\tThe syntax is: maxpr set <maxpr>\n\
1365 \t\t\twhere <maxpr> is no. of events to dump");
1366
1367 _prvtx_Parm.addDescription(
1368 "\t\t\tWhether to include vtx info in dump of Herwig events.\n\
1369 \t\t\tThe syntax is: prvtx set <prvtx>\n\
1370 \t\t\twhere <prvtx> is 1 (yes) or 0 (no)");
1371
1372 _prndef_Parm.addDescription(
1373 "\t\t\tPrint to screen or log file in ASCII.\n\
1374 \t\t\tThe syntax is: prndef set <prndef>\n\
1375 \t\t\twhere <prndef> is 1 (yes) or 0 (no)");
1376
1377 _prntex_Parm.addDescription(
1378 "\t\t\tPrint to file in LATEX format.\n\
1379 \t\t\tThe syntax is: prntex set <prntex>\n\
1380 \t\t\twhere <prntex> is 1 (yes) or 0 (no)");
1381
1382 _prnweb_Parm.addDescription(
1383 "\t\t\tPrint to file in html format.\n\
1384 \t\t\tThe syntax is: prnweb set <prnweb>\n\
1385 \t\t\twhere <prnweb> is 1 (yes) or 0 (no)");
1386
1387 _nprfmt_Parm.addDescription(
1388 "\t\t\tHow may sig. figures in printing.\n\
1389 \t\t\tThe syntax is: nprfmt set <nprfmt>\n\
1390 \t\t\twhere <nprfmt> is 1 (short) or 2 (long)");
1391
1392
1393
1394 _iih1_Parm.addDescription(
1395 "\t\t\t1st incident beam, prot=3 antip=1");
1396 _iih2_Parm.addDescription(
1397 "\t\t\t2nd incident beam, prot=3 antip=1");
1398 _ebeam_Parm.addDescription(
1399 "\t\t\t1st incident beam energy in GeV");
1400 _mq_Parm.addDescription(
1401 "\t\t\tmass of b quark for Wbb process");
1402 _njets_Parm.addDescription(
1403 "\t\t\tno. of jets in Wbb + njets, def. is 3");
1404 _ndns_Parm.addDescription(
1405 "\t\t\tpdf set to use, in pdfset code, def. is 61");
1406 _ptjmin_Parm.addDescription(
1407 "\t\t\tmin. pt of non-b jet parton (GeV), def. is 20");
1408 _etajmax_Parm.addDescription(
1409 "\t\t\tmax. eta of non-b jet parton");
1410 _drjmin_Parm.addDescription(
1411 "\t\t\tmin. dr between two non-b jet partons");
1412 _ptbmin_Parm.addDescription(
1413 "\t\t\tmin. pt of b parton (GeV), def. is 20");
1414 _etabmax_Parm.addDescription(
1415 "\t\t\tmax. eta of b parton");
1416 _drbmin_Parm.addDescription(
1417 "\t\t\tmin. dr between two b partons");
1418 _ptlmin_Parm.addDescription(
1419 "\t\t\tmin. pt of charged lepton (GeV), def. is 20");
1420 _etalmax_Parm.addDescription(
1421 "\t\t\tmax. eta of charged lepton");
1422 _drlmin_Parm.addDescription(
1423 "\t\t\tmin. dr between chg lepton and a parton b");
1424 _ptnmin_Parm.addDescription(
1425 "\t\t\tmin. pt of neutrino (GeV), def. is 0");
1426 _iqopt_Parm.addDescription(
1427 "\t\t\tqsq scale, 0 (MW**2), 1 (MW**2+PT**2)");
1428 _qfac_Parm.addDescription(
1429 "\t\t\tqfac for Wbb process");
1430 _nopt_Parm.addDescription(
1431 "\t\t\tno. of events per iteration");
1432 _niter_Parm.addDescription(
1433 "\t\t\tno. of iterations ");
1434 _maxev_Parm.addDescription(
1435 "\t\t\tmax. no. of events to generate");
1436 _seed1_Parm.addDescription(
1437 "\t\t\tfirst seed, integer");
1438 _seed2_Parm.addDescription(
1439 "\t\t\tsecond seed, integer");
1440 _jgridr_Parm.addDescription(
1441 "\t\t\tgrid read unit, def. is 0, cannot be 70-75");
1442 _jgridw_Parm.addDescription(
1443 "\t\t\tgrid write unit, def. is 22, cannot be 70-75");
1444 _iilepton_Parm.addDescription(
1445 "\t\t\tlepton from W decay, 11 for el (def), 13 mu, 15 tau");
1446 _wbbfilen.addDescription(
1447 "\t\t\tprimary name of intermediate files");
1448
1449
1450
1451 commands( )->append( &_maxer_Parm);
1452
1453
1454 commands( )->append( &_lambdaQCD_Parm);
1455
1456 commands( )->append( &_01Menu);
1457 commands( )->append( &_02Menu);
1458 commands( )->append( &_03Menu);
1459 commands( )->append( &_04Menu);
1460 commands( )->append( &_05Menu);
1461 commands( )->append( &_06Menu);
1462 commands( )->append( &_07Menu);
1463 commands( )->append( &_08Menu);
1464 commands( )->append( &_09Menu);
1465 commands( )->append( &_10Menu);
1466 commands( )->append( &_11Menu);
1467 commands( )->append( &_12Menu);
1468 commands( )->append( &_13Menu);
1469 commands( )->append( &_14Menu);
1470 commands( )->append( &_15Menu);
1471
1472
1473
1474
1475
1476
1477
1478 _01Menu.commands( )->append( &_pipsmr_Parm);
1479 _01Menu.commands( )->append( &_vipwidx_Parm);
1480 _01Menu.commands( )->append( &_vipwidy_Parm);
1481 _01Menu.commands( )->append( &_vipwidz_Parm);
1482
1483 _02Menu.commands( )->append( &_sudord_Parm);
1484
1485 _03Menu.commands( )->append( &_autpdf);
1486 _03Menu.commands( )->append( &_modpdf);
1487
1488
1489 _04Menu.commands( )->append ( &_rapiditiesM_Parm);
1490 _04Menu.commands( )->append ( &_ptm_Parm);
1491 _04Menu.commands( )->append ( &_ptM_Parm);
1492 _04Menu.commands( )->append ( &_invarmassm_Parm);
1493 _04Menu.commands( )->append ( &_invarmassM_Parm);
1494 _04Menu.commands( )->append ( &_thrust_Parm);
1495 _04Menu.commands( )->append ( &_ptpow_Parm);
1496 _04Menu.commands( )->append ( &_empow_Parm);
1497 _04Menu.commands( )->append ( &_q2pow_Parm);
1498 _04Menu.commands( )->append ( &_qlim_Parm);
1499 _04Menu.commands( )->append ( &_q2dilsm_Parm);
1500 _04Menu.commands( )->append ( &_q2dilsM_Parm);
1501 _04Menu.commands( )->append ( &_bgshat_Parm);
1502
1503 _05Menu.commands( )->append ( &_azsoft_Parm);
1504 _05Menu.commands( )->append ( &_azspin_Parm);
1505 _05Menu.commands( )->append ( &_qspac_Parm);
1506 _05Menu.commands( )->append ( &_ispac_Parm);
1507 _05Menu.commands( )->append ( &_nospac_Parm);
1508 _05Menu.commands( )->append ( &_vqcut_Parm);
1509 _05Menu.commands( )->append ( &_vgcut_Parm);
1510 _05Menu.commands( )->append ( &_vpcut_Parm);
1511 _05Menu.commands( )->append ( &_intrinsicpt_Parm);
1512
1513 _06Menu.commands( )->append (& _clmax_Parm);
1514 _06Menu.commands( )->append (& _clpow_Parm);
1515 _06Menu.commands( )->append (& _psplt1_Parm);
1516 _06Menu.commands( )->append (& _psplt2_Parm);
1517 _06Menu.commands( )->append (& _cldir1_Parm);
1518 _06Menu.commands( )->append (& _cldir2_Parm);
1519 _06Menu.commands( )->append (& _clsmr1_Parm);
1520 _06Menu.commands( )->append (& _clsmr2_Parm);
1521 _06Menu.commands( )->append (& _qdiqk_Parm);
1522 _06Menu.commands( )->append (& _pdiqk_Parm);
1523 _06Menu.commands( )->append (& _sngwt_Parm);
1524 _06Menu.commands( )->append (& _decwt_Parm);
1525 _06Menu.commands( )->append (& _pwt1_Parm);
1526 _06Menu.commands( )->append (& _pwt2_Parm);
1527 _06Menu.commands( )->append (& _pwt3_Parm);
1528 _06Menu.commands( )->append (& _pwt4_Parm);
1529 _06Menu.commands( )->append (& _pwt5_Parm);
1530 _06Menu.commands( )->append (& _pwt6_Parm);
1531 _06Menu.commands( )->append (& _pwt7_Parm);
1532
1533 _07Menu.commands( )->append (& _prsof_Parm);
1534 _07Menu.commands( )->append (& _ensof_Parm);
1535 _07Menu.commands( )->append (& _pmbn1_Parm);
1536 _07Menu.commands( )->append (& _pmbn2_Parm);
1537 _07Menu.commands( )->append (& _pmbn3_Parm);
1538 _07Menu.commands( )->append (& _pmbk1_Parm);
1539 _07Menu.commands( )->append (& _pmbk2_Parm);
1540 _07Menu.commands( )->append (& _pmbm1_Parm);
1541 _07Menu.commands( )->append (& _pmbm2_Parm);
1542 _07Menu.commands( )->append (& _pmbp1_Parm);
1543 _07Menu.commands( )->append (& _pmbp2_Parm);
1544 _07Menu.commands( )->append (& _pmbp3_Parm);
1545
1546 _08Menu.commands( )->append (& _pizstable_Parm);
1547 _08Menu.commands( )->append (& _pltcut_Parm);
1548 _08Menu.commands( )->append (& _modbos1_Parm);
1549 _08Menu.commands( )->append (& _modbos2_Parm);
1550
1551 _09Menu.commands( )->append (& _eventweight_Parm);
1552 _09Menu.commands( )->append (& _maxweight_Parm);
1553 _09Menu.commands( )->append (& _effmin_Parm);
1554 _09Menu.commands( )->append (& _noshower_Parm);
1555 _09Menu.commands( )->append (& _nohadroniz_Parm);
1556 _09Menu.commands( )->append (& _tlout_Parm);
1557
1558 _10Menu.commands( )->append (& _colors_Parm);
1559 _10Menu.commands( )->append (& _flavors_Parm);
1560 _10Menu.commands( )->append (& _weiangle_Parm);
1561 _10Menu.commands( )->append (& _cabangle_Parm);
1562 _10Menu.commands( )->append (& _wwidth_Parm);
1563 _10Menu.commands( )->append (& _zwidth_Parm);
1564
1565 _11Menu.commands( )->append (& _down_Parm);
1566 _11Menu.commands( )->append (& _up_Parm);
1567 _11Menu.commands( )->append (& _strange_Parm);
1568 _11Menu.commands( )->append (& _charm_Parm);
1569 _11Menu.commands( )->append (& _bottom_Parm);
1570 _11Menu.commands( )->append (& _top_Parm);
1571 _11Menu.commands( )->append (& _gluonmass_Parm);
1572 _11Menu.commands( )->append (& _W_Parm);
1573 _11Menu.commands( )->append (& _Z0_Parm);
1574 _11Menu.commands( )->append (& _higgs_Parm);
1575 _11Menu.commands( )->append (& _gammax_Parm);
1576
1577 _12Menu.commands( )->append( &_read_Filesusy);
1578 _12Menu.commands( )->append (& _rparty_Parm);
1579
1580 _13Menu.commands()->append(& _zprime_Parm);
1581 _13Menu.commands()->append(& _ZP_Parm);
1582 _13Menu.commands()->append(& _zpwidth_Parm);
1583
1584 _14Menu.commands()->append(& _iprint_Parm);
1585 _14Menu.commands()->append(& _maxpr_Parm);
1586 _14Menu.commands()->append(& _prvtx_Parm);
1587 _14Menu.commands()->append(& _prndef_Parm);
1588 _14Menu.commands()->append(& _prntex_Parm);
1589 _14Menu.commands()->append(& _prnweb_Parm);
1590 _14Menu.commands()->append(& _nprfmt_Parm);
1591
1592 _15Menu.commands()->append(& _iih1_Parm);
1593 _15Menu.commands()->append(& _iih2_Parm);
1594 _15Menu.commands()->append(& _ebeam_Parm);
1595 _15Menu.commands()->append(& _mq_Parm);
1596 _15Menu.commands()->append(& _njets_Parm);
1597 _15Menu.commands()->append(& _ndns_Parm);
1598 _15Menu.commands()->append(& _ptjmin_Parm);
1599 _15Menu.commands()->append(& _etajmax_Parm);
1600 _15Menu.commands()->append(& _drjmin_Parm);
1601 _15Menu.commands()->append(& _ptbmin_Parm);
1602 _15Menu.commands()->append(& _etabmax_Parm);
1603 _15Menu.commands()->append(& _drbmin_Parm);
1604 _15Menu.commands()->append(& _ptlmin_Parm);
1605 _15Menu.commands()->append(& _etalmax_Parm);
1606 _15Menu.commands()->append(& _drlmin_Parm);
1607 _15Menu.commands()->append(& _ptnmin_Parm);
1608 _15Menu.commands()->append(& _iqopt_Parm);
1609 _15Menu.commands()->append(& _qfac_Parm);
1610 _15Menu.commands()->append(& _nopt_Parm);
1611 _15Menu.commands()->append(& _niter_Parm);
1612 _15Menu.commands()->append(& _maxev_Parm);
1613 _15Menu.commands()->append(& _seed1_Parm);
1614 _15Menu.commands()->append(& _seed2_Parm);
1615 _15Menu.commands()->append(& _jgridr_Parm);
1616 _15Menu.commands()->append(& _jgridw_Parm);
1617 _15Menu.commands()->append(& _iilepton_Parm);
1618 _15Menu.commands()->append(& _wbbfilen);
1619 }
1620
1621
1622
1623
1624
1625
1626
1627
1628
Send problems or questions to cdfcode@fnal.gov