CDF II
CDF KITS
source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Architecture: i386 ]
Version: 4.10.4 ] [ 4.10.5 ] [ 4.8.4 ] [ 4.8.4l3s ] [ 4.8.5 ] [ 4.9.0 ] [ 4.9.1 ] [ 4.9.1.hpt3 ] [ 4.9.1hpt3 ] [ 4.9.1top1 ] [ 5.0.0 ] [ 5.1.0 ] [ 5.1.0beamonly ] [ 5.1.1 ] [ 5.2.0 ] [ 5.3.0 ] [ 5.3.1 ] [ 5.3.1dsp ] [ 5.3.3 ] [ 5.3.3_nt ] [ 5.3.4 ] [ 6.1.1 ] [ 6.1.1b ] [ 6.1.2 ] [ 6.1.3 ] [ 6.1.4 ] [ 6.1.4int3 ] [ 6.1.4mc ] [ 6.1.4mc_a ] [ 6.1.6 ] [ development ]

001 //--------------------------------------------------------------------------
002 // File and Version Information:
003 //      HerwigModule.cc
004 //
005 // Description:
006 //     This module is the interface between the Herwig Monte Carlo generator
007 //     and the CDF Run 2 software.   HerwigModule inherits from the base class
008 //     APPGenInputModule which defines the default behaviour for an AC++ 
009 //     generator input module.  A good portion of the code here moves
010 //     parameters between the AC++ abstract parameter class and the
011 //     Herwig common blocks that control the generator.
012 //     The Herwig output is transferred to the Hepevt common block using
013 //     the standard Fermilab library STDHEP.  Then, CDF code moves this
014 //     common block into the HEPG Trybos bank in the Abstract Event.
015 //
016 //
017 // Author List:
018 //     Marjorie Shapiro and Elena Bucciol               Original Author
019 // Revision History:
020 //     00001  Aug 1998  Original Version
021 //     1999, 2000, j lys and others
022 //     2000, May, j lys, for Herwig v 6.1
023 //     2001, May, j lys, for Herwig v 6.202
024 //     Aug 29, 2001, lena: clean up - removed unnesessary include,
025 //                         gEvent, USE_ROOT_
026 //     Aug 30, 2001, lena: ct rearrangement and added genId
027 //     May 2002  jlys, for Herwig v 6.400
028 //     Apr 2002  jlys, for Herwig v 6.500
029 //     Feb 2004  jlys, for Herwig v 6504
030 //     Feb 2005  jdlee, add talk-to for SOFTME
031 //     cjl h 6505+jimmy  add call jminit hwmsct jmefin
032 //------------------------------------------------------------------------
033 //-----------------------
034 // This Class's Header --
035 //-----------------------
036 #include "generatorMods/HerwigModule.hh"
037 #include "BankTools/ToFromYbos.hh"
038 //-------------
039 // C Headers --
040 //-------------
041 #include <time.h>
042 //---------------
043 // C++ Headers --
044 //--------------- 
045 #include <iostream>
046 #include<cmath>
047 //-------------------------------
048 // Collaborating Class Headers --
049 //-------------------------------
050 //  #include "herwig_i/herwig62.hh"
051 #include "herwig_i/Herwig.hh"
052 #include "evt/Event.hh"
053 //#include "ParticleDB/hepevt.hh"
054 #include "stdhep_i/CdfHepevt.hh"
055 #include "stdhep_i/Hepevt.hh"
056 
057 //void InitHerwigCommonBlocks();
058 
059 //---------------------------------------------
060 // Fortran Subroutines called by this Module --
061 //---------------------------------------------
062 
063 extern "C" {
064   //  void stdhepctb_();
065                                 // In generatorMods area:
066   void herwiginterface_();
067   ////  void cdfreadsusy_(char* file,int *syunit);
068   void cdfreadsusy_(const char* ,int * , int);
069                                 //  In Herwig 
070   //susy
071   void hwissp_();
072   void hwuinc_();
073   //  void hwusta(int *tstab);
074   void hwabeg_();
075   void hweini_();
076   void jminit_();
077   void hwuine_();
078   void hwepro_();
079   void hwbgen_();
080   void hwmsct_(int *iabort);
081   //  v6.1  void hwdhqk_();
082   void hwdhob_();
083   void hwcfor_();
084   void hwcdec_();
085   void hwdhad_();
086   void hwdhvy_();
087   void hwmevt_();
088   void hwufne_(); 
089   void hwanal0_(int *ihwcod0);
090   void hwanal_(int *ihwcod);
091   void hwefin_();
092   void jmefin_();
093   void hwaend_();
094                                 // In Stdhep
095   void hwghep_(int *mconv);
096 }
097 
098 
099 //-----------------------------------------------------------------------
100 // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
101 //-----------------------------------------------------------------------
102 static int init=0;
103 const char* HerwigModule::genId = "herwig";
104 
105 //----------------     
106 // Constructors --
107 //----------------
108 HerwigModule::HerwigModule() : 
109   AbsGenModule( HerwigModule::genId, "AC++ module for HERWIG"),
110   _process("Process",this,1705), 
111 
112   _maxer_Parm("Maxer",this,100),
113   _randomseed1_Parm("Randseed1",this,0),
114   _randomseed2_Parm("Randseed2",this,0),
115   _lambdaQCD_Parm( "Lambda_QCD", this, 0.18),
116    
117                                 // commands of Menu 01: The Beam menu
118                                 // ----------------------------------
119   _Beamtype1_Parm("Beam1", this, "12345678"),
120   _Beamtype2_Parm("Beam2", this , "12345678"),
121   _Energy1_Parm("Pbeam1", this,900.),
122   _Energy2_Parm("Pbeam2", this,900.),
123   _pipsmr_Parm("Pipsmr",this,0),
124   _vipwidx_Parm("Vipwidx",this,0.25),
125   _vipwidy_Parm("Vipwidy",this,0.015),
126   _vipwidz_Parm("Vipwidz",this,1.8),
127 
128 
129                                 // commands of menu 02: The Sudakov menu
130                                 // ----------------------------------
131   _sudord_Parm("Sudakov_order",this,2),
132 
133                                 // commands of menu 03: The Structure Function Menu
134   _autpdf("Autpdf",this,"MRS"),
135   _modpdf("Modpdf",this,0),
136   _nstru_Parm("Nstru",this,8),
137 
138                                 // commands of menu 04: The Hard Scattering Menu
139                                 // ---------------------------------------------
140 //cjl  _rapiditiesm_Parm("Ymin",this,-8.0),    
141   _rapiditiesM_Parm("Ymax",this,8.0),    
142   _ptm_Parm("Ptmin",this,0),
143   _ptM_Parm("Ptmax",this,0),
144   _invarmassm_Parm("MassMin",this,10.),
145   _invarmassM_Parm("MassMax",this,1.E8),     
146   _thrust_Parm("ThrustMax",this,0.9),
147   _ptpow_Parm("Ptpow",this,4.0),
148   _empow_Parm("Empow",this,4.00),
149   _q2pow_Parm("Q2power",this,2.5),
150   _qlim_Parm("Qlim",this,1.E8),
151   _q2dilsm_Parm("Q2dilsmin",this,0),
152   _q2dilsM_Parm("Q2dilsmax",this,0),
153   _bgshat_Parm("Bgshat",this, false),
154     
155                                 // commands of Menu 05: Parton Shower Menu
156                                 // ---------------------------------------
157   _azsoft_Parm("Azsoft",this,true),
158   _azspin_Parm("Azspin",this,true),
159   _qspac_Parm("Spacelike_evolution",this,2.5),
160   _ispac_Parm("Ispac",this,0),
161   _nospac_Parm("Nospac",this,0),
162   _vqcut_Parm("Qcutoff",this,0.48),
163   _vgcut_Parm("Gcutoff",this,0.10),
164   _vpcut_Parm("Pcutoff",this,0.40),
165   _softme_Parm("SoftME",this,true),
166   _intrinsicpt_Parm("Pt_incoming_hadrons",this,0),
167   _clreco_Parm("Clreco",this,false),
168   _preco_Parm("Preco",this,0.111111),
169   
170                                 // commands of Menu 06: Hadronization Menu
171                                 // ---------------------------------------
172   _clmax_Parm("Clmax", this,3.35), 
173   _clpow_Parm("Clpow",this,2.0),  
174   _psplt1_Parm("Psplt1",this,1.0),  
175   _psplt2_Parm("Psplt2",this,1.0),  
176   _cldir1_Parm("Cldir1",this,1),  
177   _cldir2_Parm("Cldir2",this,1),  
178   _clsmr1_Parm("Clsmr1",this,0.0),  
179   _clsmr2_Parm("Clsmr2",this,0.0),  
180   _qdiqk_Parm("Qdiqk",this,0.00), 
181   _pdiqk_Parm("Pdiqk",this,5.00), 
182   _sngwt_Parm("Sngwt",this,1.0),
183   _decwt_Parm("Decwt",this,1.0),
184   _pwt1_Parm("Pwt1",this,1.0),
185   _pwt2_Parm("Pwt2",this,1.0),
186   _pwt3_Parm("Pwt3",this,1.0),
187   _pwt4_Parm("Pwt4",this,1.0),
188   _pwt5_Parm("Pwt5",this,1.0),
189   _pwt6_Parm("Pwt6",this,1.0),
190   _pwt7_Parm("Pwt7",this,1.0),
191 
192                                 // commands of Menu 07: Underlying Event Menu
193                                 // -------------------------------------------
194   _prsof_Parm("Prsof",this,1.00),
195   _ensof_Parm("Ensof",this,1.00),
196   _pmbn1_Parm("Pmbn1",this,9.11),
197   _pmbn2_Parm("Pmbn2",this,0.115),
198   _pmbn3_Parm("Pmbn3",this,9.50),
199   _pmbk1_Parm("Pmbk1",this,0.029),
200   _pmbk2_Parm("Pmbk2",this,0.104),
201   _pmbm1_Parm("Pmbm1",this,0.4),
202   _pmbm2_Parm("Pmbm2",this,2.0),
203   _pmbp1_Parm("Pmbp1",this,5.2),
204   _pmbp2_Parm("Pmbp2",this,3.0),
205   _pmbp3_Parm("Pmbp3",this,5.2),
206 
207                                 // commands of Menu 08: Decays Menu
208                                 // --------------------------------
209   _pizstable_Parm("Pizstable",this,0),
210   _topltim_Parm("Topltim",this,5.534E-25),
211   _pltcut_Parm("Pltcut",this,0.),
212   _modbos1_Parm("Modbos1",this,0),
213   _modbos2_Parm("Modbos2",this,0),
214 
215                                 // commands of Menu 09: Generation Menu
216                                 // ------------------------------------
217   _eventweight_Parm("No_weights",this,1),
218   _maxweight_Parm("Maxwt",this,0),
219   _negwts_Parm("Negwts",this,0),
220   _effmin_Parm("Effmin",this,0.001),
221   _noshower_Parm("No_shower",this,0),
222   _nohadroniz_Parm("No_hadronization",this,0),
223   _tlout_Parm("Tlout",this,10.0),
224   
225                                 // commands of Menu 10: Parameters Menu
226                                 // ------------------------------------
227   _colors_Parm("Colors",this,3),
228   _flavors_Parm ("Flavors", this,6),
229   _weiangle_Parm("Weinberg_angle", this,0.2319),  
230   _cabangle_Parm("Cabbibo_angle",this,0.0488),
231   _wwidth_Parm("W_width", this,2.12),
232   _zwidth_Parm("Z_width", this,2.495),
233   
234                                 // commands of Menu 11: Masses Menu
235                                 // --------------------------------
236   _down_Parm("down", this, 0.32),
237   _up_Parm("up", this, 0.32),
238   _strange_Parm("strange", this, 0.50),
239   _charm_Parm("charm",this, 1.55),
240   _bottom_Parm("bottom", this,4.95), 
241   _top_Parm("top",this, 174.3),
242   _gluonmass_Parm("gluon",this,0.75),  
243   _W_Parm("W", this,80.42),
244   _Z0_Parm("Z0",this,91.188),
245   _higgs_Parm("Higgs",this,115.), 
246   _gammax_Parm("Gammax",this,10.), 
247 
248                                 // commands of Menu 12: Readsusy Menu
249                                 // -----------------------------------
250   _read_Filesusy("File_Readsusy",this,"$HERWIG_SUSY"),
251   _rparty_Parm("Rparty",this,1),
252 
253                                 // commands of Menu 13: Zprime Menu
254                                 // --------------------------------
255   _zprime_Parm("Zprime",this,0),
256   _ZP_Parm("ZP",this,500.),
257   _zpwidth_Parm("ZP_width",this,5.),
258 
259                                 // commands of Menu 14: Prints Menu 
260                                 // --------------------------------
261   _iprint_Parm("iprint",this,1),
262   _maxpr_Parm("maxpr",this,0),
263   _prvtx_Parm("prvtx",this,1),
264   _prndef_Parm("prndef",this,1),
265   _prntex_Parm("prntex",this,0),
266   _prnweb_Parm("prnweb",this,0),
267   _nprfmt_Parm("nprfmt",this,1),
268 
269                                 // commands of Menu 15: Vers64 Menu 
270                                 // --------------------------------
271   _optm_Parm("Optm",this,0),
272   _iopstp_Parm("Iopstp",this,5),
273   _iopsh_Parm("Iopsh",this,100000),
274   _syspin_Parm("Syspin",this,1),
275   _threeb_Parm("Threeb",this,1),
276   _fourb_Parm("Fourb",this,0),
277   _lrdec_Parm("Lrdec",this,0),
278   _lwdec_Parm("Lwdec",this,88),
279 
280                                 // commands of Menu 16: Vers65 Menu
281                                 // --------------------------------
282   _prespl_Parm("Prespl",this,1),
283   _lhsoft_Parm("Lhsoft",this,1),
284   _lhglsf_Parm("Lhglsf",this,0),
285   _grvlam_Parm("Grvlam",this,10000.),
286   _emgrv_Parm("Emgrv",this,1000.),
287   _gamgrv_Parm("Gamgrv",this,0.),
288   _itoprd_Parm("Itoprd",this,0),
289 
290                                 // commands of Menu 17: Jimmy Menu
291                                 // --------------------------------
292   _ptjim_Parm("Ptjim",this,2.5),
293   _msflag_Parm("Msflag",this,1),
294   _jmrad73_Parm("Jmrad73",this,0.71),
295   _jmrad91_Parm("Jmrad91",this,0.71)
296 
297 {
298   // herwig menu's and commands
299   InitializeTalkTo();
300   // Map Herwig Common blocks to global C structures
301   //  InitHerwigCommonBlocks(); 
302   // Put contructor initialized  values of Absparms into Herwig Commons
303   Absparm2Her();
304   // Call Fortran Routine to Initialize Herwig Common Block
305   herwiginterface_();
306   // Transfer numbers from Herwig Common Blocks to Absparms
307   Her2Absparm();
308 }
309 
310 
311 
312 //--------------
313 // Destructor --
314 //--------------
315 
316 HerwigModule::~HerwigModule(){ }
317 
318 AppResult HerwigModule::genBeginJob( ) {
319 
320                                 // Since we may have changed parameters via Talk-to,
321                                 // we need to refill Herwig Common blocks from the 
322                                 // AbsParms
323 
324   Absparm2Her();
325 
326   //susy
327   if((_process.value() >= 3000 && _process.value() < 3900) ||
328      (_process.value() >= 4000 && _process.value() < 4200) ||
329      (_process.value() >= 13000 && _process.value() < 13900) ||
330      (_process.value() >= 14000 && _process.value() < 14200)) {
331     int syunit = 0;
332     ////    cdfreadsusy_(const_cast<char*>(_read_Filesusy.value().c_str()),&syunit); 
333     const string& fileName = _read_Filesusy.value(); 
334     cdfreadsusy_(fileName.c_str(),&syunit,fileName.size()); 
335     Herwig* herwig = Herwig::Instance();
336     herwig->Hw6202()->lrsusy = syunit;
337     hwissp_();
338   }                             // Now Compute Parameter Dependent Constants 
339   hwuinc_();
340                                 // Here can add calls to make particles stable 
341   // hwusta_(tstab);
342                                 // User initialisation if wanted
343   hwabeg_();
344                                 // Initialise elementary process
345   hweini_();
346 
347   jminit_();
348 
349   //preset event counter
350   _events = 0;
351 
352   init = 1;
353   return AppResult::OK;
354 }
355 
356 //_____________________________________________________________________________
357 AppResult HerwigModule::genEndJob() {
358                                // termination (prints wgts if used)
359   CdfHepevt* hepevt = CdfHepevt::Instance();
360   hepevt->HepevtPtr()->NEVHEP = _events;
361 
362   hwefin_();
363                                // For Jimmy
364   jmefin_();
365                                // User terminal calculations if wanted
366   hwaend_();
367   return AppResult::OK;
368 }
369 
370 
371 //_____________________________________________________________________________
372 AppResult HerwigModule::genBeginRun( AbsEvent* run ) {
373   return AppResult::OK;
374 }
375 
376 //_____________________________________________________________________________
377 AppResult HerwigModule::genEndRun( AbsEvent* run ) {
378   return AppResult::OK;
379 }
380 
381 //______________________________________________________________________________
382 int HerwigModule::callGenerator(AbsEvent* event) {
383   // generates single event with HERWIG
384 
385   CdfHepevt* hepevt = CdfHepevt::Instance();
386 
387   const int mxerr = 100;
388   int nterr = 0;
389   bool goodev = false;
390 
391   if(init==0) {
392     std::cout << " Herwig not properly initialized" << std::endl;
393   }
394 
395   while(!goodev){    
396     hepevt->HepevtPtr()->NEVHEP = _events;
397     hwuine_();  // Initialize event
398     hwepro_();  // Generate Hard Process
399     int ihwcod0 = 1;
400     // For Jimmy
401     int iabort = 0;
402     if(! _noshower_Parm.value()) {
403       hwbgen_();  // Generate parton cascade
404       // For Jimmy
405       if(_msflag_Parm.value()) {
406         hwmsct_(&iabort);
407       }
408       //  v6.1      hwdhqk_();  // Do heavy quark decays 
409       hwdhob_();  // Do heavy quark decays 
410       hwanal0_(&ihwcod0);
411       if(ihwcod0 == 1 && iabort == 0){
412         if(! _nohadroniz_Parm.value()) {
413           hwcfor_();  // Do cluster formation
414           hwcdec_();  // Do cluster decays
415           hwdhad_();  // Do unstable particle decays
416           hwdhvy_();  // Do heavy flavor decays
417           hwmevt_();  // Add soft underlying event
418         }
419       }
420     }
421     hwufne_();  // Finish event
422                                       // User event analysis if wanted
423     int ihwcod = 1;
424     hwanal_(&ihwcod);
425     if(Herwig::Instance()->Hwevnt()->ierror > 99) {
426       ++nterr;
427       if(nterr>mxerr) {
428         std::cerr << "Herwig:Too many errors on event generation" << std::endl;
429         goodev=true;
430       }
431     }
432     else {
433       if(ihwcod != 0 && ihwcod0 != 0 && iabort == 0) {
434         goodev=true;
435       }
436     }
437   }
438   _events++;
439   return 0;
440 }
441 
442 //______________________________________________________________________________
443 void HerwigModule::fillHepevt() {
444   // Put output into STDHEP version of HEPEVT common
445 
446   int mconv = 1;
447   hwghep_(&mconv);
448 
449   Herwig* herwig = Herwig::Instance();
450   CdfHepevt::Instance()->Hepev4Ptr()->EVENTWEIGHTLH =  herwig->Hwevnt()->evwgt;
451   int i = 0;
452   while ( (CdfHepevt::Instance()->HepevtPtr()->ISTHEP[i] != 123)  &&  (i < CdfHepevt::Instance()->HepevtPtr()->NHEP))
453     {
454       i++;
455     }
456 
457   float px = CdfHepevt::Instance()->HepevtPtr()->PHEP[i][0]; 
458   float py = CdfHepevt::Instance()->HepevtPtr()->PHEP[i][1]; 
459 
460   float pthat = px*px+py*py;
461   if ( pthat > 0.0 )
462     pthat=std::sqrt(px*px+py*py);
463   else
464     pthat = 0.;
465   
466   CdfHepevt::Instance()->Hepev4Ptr()->SCALELH[5]  = pthat;
467  }
468 
469 //______________________________________________________________________________
470 void HerwigModule::Her2Absparm() {
471   // convert Herwig Common Blocks to the AbsParms of the Herwig Module
472 
473   Herwig* herwig = Herwig::Instance();
474 
475   string mystring;
476   mystring.assign(herwig->Hwbmch()->part1,8);
477   _Beamtype1_Parm.set(mystring);
478   mystring.assign(herwig->Hwbmch()->part2,8);
479   _Beamtype2_Parm.set(mystring);
480   mystring.assign(herwig->Hwprch()->autpdf[0],20);
481   _autpdf.set(mystring);
482   _modpdf.set(herwig->Hwpram()->modpdf[0]);
483   _nstru_Parm.set(herwig->Hwpram()->nstru);
484   _Energy1_Parm.set(herwig->Hwproc() ->pbeam1);
485   _Energy2_Parm.set(herwig->Hwproc() ->pbeam2);
486   _process.set(herwig->Hwproc()->iproc);
487   _maxer_Parm.set(herwig->Hwevnt() ->maxer);
488   _randomseed1_Parm.set(herwig->Hwevnt() ->nrn[0]);
489   _randomseed2_Parm.set(herwig->Hwevnt() ->nrn[1]);
490   _lambdaQCD_Parm.set(herwig->Hwpram() -> qcdlam);
491   _sudord_Parm.set(herwig->Hwusud() ->sudord);
492   _pipsmr_Parm.set(herwig->Hwdist()->pipsmr);
493   _vipwidx_Parm.set(herwig->Hw6202()->vipwid[0]);
494   _vipwidy_Parm.set(herwig->Hw6202()->vipwid[1]);
495   _vipwidz_Parm.set(herwig->Hw6202()->vipwid[2]);
496 
497 //cjl  _rapiditiesm_Parm.set(herwig->Hwhard() ->yjmin);
498   _rapiditiesM_Parm.set(herwig->Hwhard() ->yjmax);
499   _ptM_Parm.set(herwig->Hwhard() ->ptmax);
500   _ptm_Parm.set(herwig->Hwhard() ->ptmin);
501   _invarmassM_Parm.set(herwig->Hwhard() ->emmax);
502   _invarmassm_Parm.set(herwig->Hwhard() ->emmin);
503   _thrust_Parm.set(herwig->Hwhard() ->thmax);
504   _ptpow_Parm.set(herwig->Hwhard() ->ptpow);
505   _empow_Parm.set(herwig->Hwhard() ->empow);
506   _q2pow_Parm.set(herwig->Hwhard() ->q2pow);
507   _qlim_Parm.set(herwig->Hwhard() ->qlim);
508   _q2dilsM_Parm.set(herwig->Hwhard() ->q2max);
509   _q2dilsm_Parm.set(herwig->Hwhard() ->q2min);
510   _bgshat_Parm.set(herwig->Hwhard() ->bgshat);
511 
512   _azsoft_Parm.set(herwig->Hwpram()->azsoft);
513   _azspin_Parm.set(herwig->Hwpram() -> azspin);
514   _qspac_Parm.set(herwig->Hwpram() -> qspac);
515   _ispac_Parm.set(herwig->Hwpram() -> ispac);
516   _nospac_Parm.set(herwig->Hwpram() -> nospac);
517   _vqcut_Parm.set(herwig->Hwpram() -> vqcut);
518   _vgcut_Parm.set(herwig->Hwpram() -> vgcut);
519   _vpcut_Parm.set(herwig->Hwpram() -> vpcut);
520   _softme_Parm.set(herwig->Hwpram() -> softme);
521   _intrinsicpt_Parm.set(herwig->Hwpram() -> ptrms);
522   _clreco_Parm.set(herwig->Hwuclu()->clreco);
523   _preco_Parm.set(herwig->Hwuclu()->preco);
524 
525   _clmax_Parm.set(herwig->Hwpram() -> clmax); 
526   _clpow_Parm.set(herwig->Hwpram() -> clpow);
527   _psplt1_Parm.set(herwig->Hwpram() -> psplt[0]);
528   _psplt2_Parm.set(herwig->Hwpram() -> psplt[1]);
529   _cldir1_Parm.set(herwig->Hwpram() -> cldir[0]);
530   _cldir2_Parm.set(herwig->Hwpram() -> cldir[1]);
531   _clsmr1_Parm.set(herwig->Hwpram() -> clsmr[0]);
532   _clsmr2_Parm.set(herwig->Hwpram() -> clsmr[1]);
533   _qdiqk_Parm.set(herwig->Hwpram() -> qdiqk);
534   _pdiqk_Parm.set(herwig->Hwpram() -> pdiqk);
535   _sngwt_Parm.set(herwig->Hwuwts() ->sngwt);
536   _decwt_Parm.set(herwig->Hwuwts() ->decwt);
537   _pwt1_Parm.set(herwig->Hwuwts() ->pwt[0]);
538   _pwt2_Parm.set(herwig->Hwuwts() ->pwt[1]);
539   _pwt3_Parm.set(herwig->Hwuwts() ->pwt[2]);
540   _pwt4_Parm.set(herwig->Hwuwts() ->pwt[3]);
541   _pwt5_Parm.set(herwig->Hwuwts() ->pwt[4]);
542   _pwt6_Parm.set(herwig->Hwuwts() ->pwt[5]);
543   _pwt7_Parm.set(herwig->Hwuwts() ->pwt[6]);
544 
545   _prsof_Parm.set(herwig->Hwpram() -> prsof);
546   _ensof_Parm.set(herwig->Hwpram() -> ensof);
547   //cjl need - sign on pmbn3 and pmbk2
548   _pmbn1_Parm.set(herwig->Hwminb() -> pmbn1);
549   _pmbn2_Parm.set(herwig->Hwminb() -> pmbn2);
550   _pmbn3_Parm.set(-herwig->Hwminb() -> pmbn3);
551   _pmbk1_Parm.set(herwig->Hwminb() -> pmbk1);
552   _pmbk2_Parm.set(-herwig->Hwminb() -> pmbk2);
553   _pmbm1_Parm.set(herwig->Hwminb() -> pmbm1);
554   _pmbm2_Parm.set(herwig->Hwminb() -> pmbm2);
555   _pmbp1_Parm.set(herwig->Hwminb() -> pmbp1);
556   _pmbp2_Parm.set(herwig->Hwminb() -> pmbp2);
557   _pmbp3_Parm.set(herwig->Hwminb() -> pmbp3);
558 
559   _pizstable_Parm.set(herwig->Hwupdt() -> rstab[21]);
560   _topltim_Parm.set(herwig->Hwprop() -> rltim[6]);
561   _pltcut_Parm.set(herwig->Hwdist() -> pltcut);
562   _modbos1_Parm.set(herwig->Hwbosc()->modbos[0]);
563   _modbos2_Parm.set(herwig->Hwbosc()->modbos[1]);
564 
565   _eventweight_Parm.set(herwig->Hwevnt() ->nowgt);
566   _maxweight_Parm.set(herwig->Hwevnt() ->wgtmax);
567   _negwts_Parm.set(herwig->Hw6203() ->negwts);
568   _effmin_Parm.set(herwig->Hwpram() ->effmin);
569   _tlout_Parm.set(herwig->Hwevnt() ->tlout);
570 
571   _colors_Parm.set(herwig->Hwpram() -> ncolo);
572   _flavors_Parm.set(herwig->Hwpram() -> nflav); 
573   _weiangle_Parm.set(herwig->Hwpram() -> swein);
574   _cabangle_Parm.set(herwig->Hwpram() -> scabi);
575   _wwidth_Parm.set(herwig->Hwpram() -> gamw);
576   _zwidth_Parm.set(herwig->Hwpram() -> gamz);
577 
578   _down_Parm.set(herwig->Hwprop() ->rmass[1]);
579   _up_Parm.set(herwig->Hwprop() ->rmass[2]);
580   _strange_Parm.set(herwig->Hwprop() ->rmass[3]);
581   _charm_Parm.set(herwig->Hwprop() ->rmass[4]);
582   _bottom_Parm.set(herwig->Hwprop() ->rmass[5]); 
583   _top_Parm.set(herwig->Hwprop() ->rmass[6]);
584   _gluonmass_Parm.set(herwig->Hwprop() ->rmass[13]);
585   _W_Parm.set(herwig->Hwprop() ->rmass[198]);
586   _Z0_Parm.set(herwig->Hwprop() ->rmass[200]);
587   _higgs_Parm.set(herwig->Hwprop() ->rmass[201]);
588   _gammax_Parm.set(herwig->Hwbosc()->gammax);
589   
590   _zprime_Parm.set(herwig->Hwpram() -> zprime);
591   _ZP_Parm.set(herwig->Hwprop() -> rmass[202]);
592   _zpwidth_Parm.set(herwig->Hwpram() -> gamzp);
593 
594   _rparty_Parm.set(herwig->Hwrpar()->rparty);
595 
596   _iprint_Parm.set(herwig->Hwpram() -> iprint);
597   _maxpr_Parm.set(herwig->Hwevnt() -> maxpr);
598   _prvtx_Parm.set(herwig->Hwpram() -> prvtx);
599   _prndef_Parm.set(herwig->Hwpram() -> prndef);
600   _prntex_Parm.set(herwig->Hwpram() -> prntex);
601   _prnweb_Parm.set(herwig->Hwpram() -> prnweb);
602   _nprfmt_Parm.set(herwig->Hwpram() -> nprfmt);
603 
604   _optm_Parm.set(herwig->Hw6300() -> optm);
605   _iopstp_Parm.set(herwig->Hw6300() -> iopstp);
606   _iopsh_Parm.set(herwig->Hw6300() -> iopsh);
607   _syspin_Parm.set(herwig->Hwdspn() -> syspin);
608   _threeb_Parm.set(herwig->Hwdspn() -> threeb);
609   _fourb_Parm.set(herwig->Hwdspn() -> fourb);
610   _lrdec_Parm.set(herwig->Hwdspn() -> lrdec);
611   _lwdec_Parm.set(herwig->Hwdspn() -> lwdec);
612 
613   _prespl_Parm.set(herwig->Hw6500() -> prespl);
614   _lhsoft_Parm.set(herwig->Hwgupr() -> lhsoft);
615   _lhglsf_Parm.set(herwig->Hwgupr() -> lhglsf);
616   _grvlam_Parm.set(herwig->Hwgrav() -> grvlam);
617   _emgrv_Parm.set(herwig->Hwgrav() -> emgrv);
618   _gamgrv_Parm.set(herwig->Hwgrav() -> gamgrv);
619   _itoprd_Parm.set(herwig->Hw6504() -> itoprd);
620 
621   _ptjim_Parm.set(herwig->Jmparm() -> ptjim);
622   _msflag_Parm.set(herwig->Jmparm() -> msflag);
623   _jmrad73_Parm.set(herwig->Jmparm() -> jmrad[72]);
624   _jmrad91_Parm.set(herwig->Jmparm() -> jmrad[90]);
625 
626 
627   // Following two are used only internally to this routine:
628   //_noshower_Parm.set(0);// correspondence in common block not finded
629   //_nohadroniz_Parm.set(0);// correspondence in common block not finded
630 
631 
632 }
633 
634 //
635 // This routine takes the AbsParms of the Herwig Module and transfers them
636 // to the Herwig Common Blocks
637 
638 void HerwigModule::Absparm2Her() {
639 
640   Herwig* herwig = Herwig::Instance();  
641 
642 int nch;
643 nch = (_Beamtype1_Parm.value().size()<8) ? _Beamtype1_Parm.value().size() : 7;
644 for(int i=0; i<7; i++) {
645   if(i<nch) {
646     herwig->Hwbmch()->part1[i] = _Beamtype1_Parm.value().c_str()[i];
647   }
648   else {
649     herwig->Hwbmch()->part1[i] = ' ';
650   }
651 }
652 nch = (_Beamtype2_Parm.value().size()<8) ? _Beamtype2_Parm.value().size() : 7;
653 for(int i=0; i<7; i++) {
654   if(i<nch) {
655     herwig->Hwbmch()->part2[i] = _Beamtype2_Parm.value().c_str()[i];
656   }
657   else {
658     herwig->Hwbmch()->part2[i] = ' ';
659   }
660 }
661 nch = (_autpdf.value().size()<20) ? _autpdf.value().size() : 19;
662 for(int i=0; i<19; i++) {
663   if(i<nch) {
664     herwig->Hwprch()->autpdf[0][i] = _autpdf.value().c_str()[i];
665     herwig->Hwprch()->autpdf[1][i] = _autpdf.value().c_str()[i];
666   }
667   else {
668     herwig->Hwprch()->autpdf[0][i] = ' ';
669     herwig->Hwprch()->autpdf[1][i] = ' ';
670   }
671 }
672 
673 herwig->Hwpram() ->modpdf[0]=_modpdf.value();
674 herwig->Hwpram() ->modpdf[1]=_modpdf.value();
675 herwig->Hwpram() ->nstru=_nstru_Parm.value();
676 herwig->Hwproc() ->pbeam1=_Energy1_Parm.value();
677 herwig->Hwproc() ->pbeam2=_Energy2_Parm.value();
678 herwig->Hwproc() ->iproc=_process.value();
679 herwig->Hwevnt() ->maxer=_maxer_Parm.value();
680 herwig->Hwevnt() ->nrn[0]=_randomseed1_Parm.value();
681 herwig->Hwevnt() ->nrn[1]=_randomseed2_Parm.value();
682 herwig->Hwpram() -> qcdlam=_lambdaQCD_Parm.value();
683 herwig->Hwusud() ->sudord=_sudord_Parm.value();
684 herwig->Hwdist() ->pipsmr=_pipsmr_Parm.value();
685 herwig->Hw6202() ->vipwid[0]=_vipwidx_Parm.value();
686 herwig->Hw6202() ->vipwid[1]=_vipwidy_Parm.value();
687 herwig->Hw6202() ->vipwid[2]=_vipwidz_Parm.value();
688 
689 //cjl re ymin
690 //herwig->Hwhard() ->yjmin=_rapiditiesm_Parm.value();
691 float yjmin1;
692 yjmin1 = -_rapiditiesM_Parm.value();
693 //std::cout << " yjmin in AbsParm2Her in HM.cc  " << yjmin1  <<std::endl;
694 herwig->Hwhard() ->yjmin=yjmin1;
695 //cjl_e
696 herwig->Hwhard() ->yjmax=_rapiditiesM_Parm.value();
697 herwig->Hwhard() ->ptmin=_ptm_Parm.value();
698 herwig->Hwhard() ->ptmax=_ptM_Parm.value();
699 herwig->Hwhard() ->emmin=_invarmassm_Parm.value();
700 herwig->Hwhard() ->emmax=_invarmassM_Parm.value();
701 herwig->Hwhard() ->thmax=_thrust_Parm.value();
702 herwig->Hwhard() ->ptpow=_ptpow_Parm.value();
703 herwig->Hwhard() ->empow=_empow_Parm.value();
704 herwig->Hwhard() ->q2pow=_q2pow_Parm.value();
705 herwig->Hwhard() ->qlim=_qlim_Parm.value();
706 herwig->Hwhard() ->q2min=_q2dilsm_Parm.value();
707 herwig->Hwhard() ->q2max=_q2dilsM_Parm.value();
708 herwig->Hwhard() ->bgshat=_bgshat_Parm.value();
709 
710 herwig->Hwpram() -> azsoft=_azsoft_Parm.value();
711 herwig->Hwpram() -> azspin=_azspin_Parm.value();
712 herwig->Hwpram() -> qspac=_qspac_Parm.value();
713 herwig->Hwpram() -> ispac=_ispac_Parm.value();
714 herwig->Hwpram() -> nospac=_nospac_Parm.value();
715 herwig->Hwpram() -> vqcut=_vqcut_Parm.value();
716 herwig->Hwpram() -> vgcut=_vgcut_Parm.value();
717 herwig->Hwpram() -> vpcut=_vpcut_Parm.value();
718 herwig->Hwpram() -> softme=_softme_Parm.value();
719 herwig->Hwpram() -> ptrms=_intrinsicpt_Parm.value();
720 herwig->Hwuclu() -> clreco=_clreco_Parm.value();
721 herwig->Hwuclu() -> preco=_preco_Parm.value();
722 
723 herwig->Hwpram() -> clmax=_clmax_Parm.value(); 
724 herwig->Hwpram() -> clpow=_clpow_Parm.value();
725 herwig->Hwpram() -> psplt[0]=_psplt1_Parm.value();
726 herwig->Hwpram() -> psplt[1]=_psplt2_Parm.value();
727 herwig->Hwpram() -> cldir[0]=_cldir1_Parm.value();
728 herwig->Hwpram() -> cldir[1]=_cldir2_Parm.value();
729 herwig->Hwpram() -> clsmr[0]=_clsmr1_Parm.value();
730 herwig->Hwpram() -> clsmr[1]=_clsmr2_Parm.value();
731 herwig->Hwpram() -> qdiqk=_qdiqk_Parm.value();
732 herwig->Hwpram() -> pdiqk=_pdiqk_Parm.value();
733 herwig->Hwuwts() -> sngwt=_sngwt_Parm.value();
734 herwig->Hwuwts() -> decwt=_decwt_Parm.value();
735 herwig->Hwuwts() -> pwt[0]=_pwt1_Parm.value();
736 herwig->Hwuwts() -> pwt[1]=_pwt2_Parm.value();
737 herwig->Hwuwts() -> pwt[2]=_pwt3_Parm.value();
738 herwig->Hwuwts() -> pwt[3]=_pwt4_Parm.value();
739 herwig->Hwuwts() -> pwt[4]=_pwt5_Parm.value();
740 herwig->Hwuwts() -> pwt[5]=_pwt6_Parm.value();
741 herwig->Hwuwts() -> pwt[6]=_pwt7_Parm.value();
742 
743 herwig->Hwpram() -> prsof=_prsof_Parm.value();
744 herwig->Hwpram() -> ensof=_ensof_Parm.value();
745 // cjl note pmbn3 and pmbk2 negatives here
746 herwig->Hwminb() -> pmbn1=_pmbn1_Parm.value();
747 herwig->Hwminb() -> pmbn2=_pmbn2_Parm.value();
748 herwig->Hwminb() -> pmbn3=-_pmbn3_Parm.value();
749 herwig->Hwminb() -> pmbk1=_pmbk1_Parm.value();
750 herwig->Hwminb() -> pmbk2=-_pmbk2_Parm.value();
751 herwig->Hwminb() -> pmbm1=_pmbm1_Parm.value();
752 herwig->Hwminb() -> pmbm2=_pmbm2_Parm.value();
753 herwig->Hwminb() -> pmbp1=_pmbp1_Parm.value();
754 herwig->Hwminb() -> pmbp2=_pmbp2_Parm.value();
755 herwig->Hwminb() -> pmbp3=_pmbp3_Parm.value();
756 
757 herwig->Hwupdt() -> rstab[21]=_pizstable_Parm.value();
758 herwig->Hwprop() -> rltim[6]=_topltim_Parm.value();
759 herwig->Hwprop() -> rltim[12]=_topltim_Parm.value();
760 herwig->Hwdist() -> pltcut=_pltcut_Parm.value();
761 herwig->Hwbosc() -> modbos[0]=_modbos1_Parm.value();
762 herwig->Hwbosc() -> modbos[1]=_modbos2_Parm.value();
763 
764 herwig->Hwevnt() -> nowgt=_eventweight_Parm.value();
765 herwig->Hwevnt() -> wgtmax=_maxweight_Parm.value();
766 herwig->Hw6203() -> negwts=_negwts_Parm.value();
767 herwig->Hwpram() -> effmin=_effmin_Parm.value();
768 herwig->Hwevnt() -> tlout=_tlout_Parm.value();
769 herwig->Hwpram() -> ncolo=_colors_Parm.value();
770 herwig->Hwpram() -> nflav=_flavors_Parm.value(); 
771 herwig->Hwpram() -> swein=_weiangle_Parm.value();
772 herwig->Hwpram() -> scabi=_cabangle_Parm.value();
773 herwig->Hwpram() -> gamw=_wwidth_Parm.value();
774 herwig->Hwpram() -> gamz=_zwidth_Parm.value();
775 
776 herwig->Hwprop() ->rmass[1]=_down_Parm.value();
777 herwig->Hwprop() ->rmass[2]=_up_Parm.value();
778 herwig->Hwprop() ->rmass[3]=_strange_Parm.value();
779 herwig->Hwprop() ->rmass[4]=_charm_Parm.value();
780 herwig->Hwprop() ->rmass[5]=_bottom_Parm.value(); 
781 herwig->Hwprop() ->rmass[6]=_top_Parm.value();
782 herwig->Hwprop() ->rmass[13]=_gluonmass_Parm.value();
783 herwig->Hwprop() ->rmass[198]=_W_Parm.value();
784 herwig->Hwprop() ->rmass[200]=_Z0_Parm.value();
785 herwig->Hwprop() ->rmass[201]=_higgs_Parm.value();
786 herwig->Hwbosc() ->gammax=_gammax_Parm.value();
787 
788 herwig->Hwpram() -> zprime = _zprime_Parm.value();
789 herwig->Hwprop() -> rmass[202] = _ZP_Parm.value();
790 herwig->Hwpram() -> gamzp = _zpwidth_Parm.value();
791 
792 herwig->Hwrpar() -> rparty = _rparty_Parm.value();
793 
794 herwig->Hwpram() -> iprint = _iprint_Parm.value();
795 herwig->Hwevnt() -> maxpr = _maxpr_Parm.value();
796 herwig->Hwpram() -> prvtx = _prvtx_Parm.value();
797 herwig->Hwpram() -> prndef = _prndef_Parm.value();
798 herwig->Hwpram() -> prntex = _prntex_Parm.value();
799 herwig->Hwpram() -> prnweb = _prnweb_Parm.value();
800 herwig->Hwpram() -> nprfmt = _nprfmt_Parm.value();
801 
802 herwig->Hw6300() -> optm = _optm_Parm.value();
803 herwig->Hw6300() -> iopstp = _iopstp_Parm.value();
804 herwig->Hw6300() -> iopsh = _iopsh_Parm.value();
805 herwig->Hwdspn() -> syspin = _syspin_Parm.value();
806 herwig->Hwdspn() -> threeb = _threeb_Parm.value();
807 herwig->Hwdspn() -> fourb = _fourb_Parm.value();
808 herwig->Hwdspn() -> lrdec = _lrdec_Parm.value();
809 herwig->Hwdspn() -> lwdec = _lwdec_Parm.value();
810 
811 herwig->Hw6500() -> prespl = _prespl_Parm.value();
812 herwig->Hwgupr() -> lhsoft = _lhsoft_Parm.value();
813 herwig->Hwgupr() -> lhglsf = _lhglsf_Parm.value();
814 herwig->Hwgrav() -> grvlam = _grvlam_Parm.value();
815 herwig->Hwgrav() -> emgrv = _emgrv_Parm.value();
816 herwig->Hwgrav() -> gamgrv = _gamgrv_Parm.value();
817 herwig->Hw6504() -> itoprd = _itoprd_Parm.value();
818 
819 herwig->Jmparm() -> ptjim = _ptjim_Parm.value();
820 herwig->Jmparm() -> msflag = _msflag_Parm.value();
821 herwig->Jmparm() -> jmrad[72] = _jmrad73_Parm.value();
822 herwig->Jmparm() -> jmrad[90] = _jmrad91_Parm.value();
823 
824 }
825 
826 void HerwigModule::InitializeTalkTo() {
827   // Initialize all the menus
828   // ------------------------
829   _01Menu.initialize ("Beam",this);
830   _01Menu.initTitle ("Beam Menu:  Beam types and momenta");
831   
832   _02Menu.initialize ("Sudakov",this);
833   _02Menu.initTitle ("alpha_s order in Sudakov form factors"); 
834   
835   _03Menu.initialize ("Struc_Function",this);
836   _03Menu.initTitle ("Select structure function set");
837   
838   _04Menu.initialize ("Hards",this);
839   _04Menu.initTitle ("Hard scattering process params menu"); 
840   
841   _05Menu.initialize ("Shower",this);
842   _05Menu.initTitle ("Evokes shower parameters menu"); 
843   
844   _06Menu.initialize ("Hadronization",this);
845   _06Menu.initTitle ("Evokes hadronization parameters menu");  
846   
847   _07Menu.initialize ("Underl_event",this);
848   _07Menu.initTitle ("Underlying soft event parameters menu"); 
849   
850   _08Menu.initialize ("Decays",this);
851   _08Menu.initTitle ("Controls Particle Decays");
852   
853   _09Menu.initialize ("Generation",this);
854   _09Menu.initTitle ("Evokes  generation parameter menu");
855   
856   _10Menu.initialize ("Sm_par",this);
857   _10Menu.initTitle("Evokes standard model parameters menu");
858   
859   _11Menu.initialize ("Masses",this);
860   _11Menu.initTitle ("Change particle masses"); 
861   
862   _12Menu.initialize ("Read_susy",this);
863   _12Menu.initTitle ("Read susy file");
864   
865   _13Menu.initialize ("Zprime",this);
866   _13Menu.initTitle ("Control Z-prime");
867   
868   _14Menu.initialize ("Prints",this);
869   _14Menu.initTitle ("Control printing");
870   
871   _15Menu.initialize ("Vers64",this);
872   _15Menu.initTitle ("Version 6_400 adds");
873   
874   _16Menu.initialize ("Vers65",this);
875   _16Menu.initTitle ("Version 6_500 adds");
876   
877   _17Menu.initialize ("Jimmy",this);
878   _17Menu.initTitle ("Version 6_505 Jimmy adds");
879 
880   // Add descriptions for AbsParms
881   // -------------------------------
882   _process.addDescription(
883  "\t\t\tSpecify integer code for process\n\
884   \t\t\t see Herwig Documentation for codes\n\
885   \t\t\t The syntax is: Process set <code>");
886   _maxer_Parm.addDescription(
887                              "\t\t\tNumber of errors allowed before run stops\n\
888   \t\t\t The syntax is: Maxer set <maxer> ");
889   _randomseed1_Parm.addDescription(
890                                    "\t\t\tHerwig random number seed 1\n\
891   \t\t\t The syntax is: Randseed1 set <seed> ");
892   _randomseed2_Parm.addDescription(
893                                    "\t\t\tHerwig random number seed 2\n\
894   \t\t\t The syntax is: Randseed2 set <seed> ");
895   
896   _lambdaQCD_Parm.addDescription( 
897                                  "\t\t\tSpecify the value of lamba QCD.\n\
898   \t\t\tThe syntax is: Lambda_QCD set <lambda>\n\
899   \t\t\twhere <lambda> is specified in GEV" );
900   
901   //   _decayTable_Parm.addDescription(
902   //"         Specify the name of the file used to read the decay table.\n\
903     //         The format of the command is: decay_table set <filename>" );
904     
905     //   _scaleChoiceParm.addDescription(
906     //"          Select the scale choice to be used.\n\
907     //          The syntax of the command is: scale_choice set <choice>\n\
908     //          where <choice> is a integer between 1 and 3:\n\
909     //          1 is mu = PT/2 \n\
910     //          2 is mu = PT \n\
911     //          3 is mu = 2PT" );
912     //
913     // Descriptions of Beam Parameters, Menu 01
914     // ----------------------------------------
915     _Beamtype1_Parm.addDescription(
916                                    "\t\t\tSpecify the beam particle type \n\
917   \t\t\tThe syntax is: Beam1 set <Beam1> \n\
918   \t\t\twhere <Beam1> is a string variable (eg P or PBAR)\n\
919   \t\t\tand where the particle type must be in capitals");
920     
921     _Beamtype2_Parm.addDescription(
922                                    "\t\t\tSpecify the beam particle type \n\
923   \t\t\tThe syntax is: Beam2 set <Beam2> \n\
924   \t\t\twhere <Beam2> is a string variable (eg P or PBAR)\n\
925   \t\t\tand where the particle type must be in capitals");
926     
927     _Energy1_Parm.addDescription(
928                                  "\t\t\tSet Beam1 momentum.\n\
929   \t\t\tThe syntax is: Pbeam1 set <mom1>\n\
930   \t\t\twhere <mom1> is specified in GEV " );
931     
932     _Energy2_Parm.addDescription(
933                                  "\t\t\tSet Beam2 momentum.\n\
934   \t\t\tThe syntax is: Pbeam2 set <mom2>\n\
935   \t\t\twhere <mom2> is specified in GEV " );
936 
937    _pipsmr_Parm.addDescription(
938 "\t\t\tWhether to smear primary vertex.\n\
939  \t\t\tThe syntax is: Pipsmr set <pipsmr>\n\
940  \t\t\twhere <pipsmr> is 1 (yes) or 0 (no)" );
941 
942    _vipwidx_Parm.addDescription(
943 "\t\t\tSet x width for smeared primary vertex.\n\
944  \t\t\tThe syntax is: Vipwidx set <vipwidx>\n\
945  \t\t\twhere <vipwidx> is specified in mm " );
946 
947    _vipwidy_Parm.addDescription(
948 "\t\t\tSet y width for smeared primary vertex.\n\
949  \t\t\tThe syntax is: Vipwidy set <vipwidy>\n\
950  \t\t\twhere <vipwidy> is specified in mm " );
951 
952    _vipwidz_Parm.addDescription(
953 "\t\t\tSet z width for smeared primary vertex.\n\
954  \t\t\tThe syntax is: Vipwidz set <vipwidz>\n\
955  \t\t\twhere <vipwidz> is specified in mm " );
956 
957     //
958     // Descriptions of Sudakov Parameters, Menu 02
959     // -------------------------------------------
960     
961     _sudord_Parm.addDescription(
962                                 "\t\t\tSpecify the order of Sudakov calculation.\n\
963   \t\t\tThe syntax is: Sudakov_order set <sudakov_order>\n\
964   \t\t\twhere <sudakov_order> is an integer, 1 or 2");
965     
966     //
967     // Descriptions of Structure Function Parameters, Menu 03
968     // ------------------------------------------------------
969     _autpdf.addDescription(
970                            "\t\t\tAuthors of PDF function (MRS,CTEQ,etc), string variable");
971     
972     _modpdf.addDescription(
973                            "\t\t\tPDF number for PDFLIB as integer");
974 
975     _nstru_Parm.addDescription(
976   "\t\t\tHerwig PDF number, used if modpdf.lt.0,\n\
977    \t\t\t 1-5 are old, 6-8 are MRST1998, as integer");
978     
979     //
980     // Descriptions of Hard Scattering Parameters, Menu 04
981     // ---------------------------------------------------
982     //cjl
983     //  _rapiditiesm_Parm.addDescription(
984     //"\t\t\tSet minimum rapidity.\n\
985       // \t\t\tThe command is effective for:\n\
986       // \t\t\t\t IPROC=1500 QCD 2->2 \n\
987       // \t\t\t\t IPROC=17** Heavy flavor production \n\
988       // \t\t\t\t IPROC=1800 Direct photon production\n\
989       // \t\t\tThe syntax is: Ymin set <minrap>");
990       //cjl_e
991       _rapiditiesM_Parm.addDescription(
992                                        "\t\t\tSet maximum rapidity.\n\
993   \t\t\tThe command is effective for:\n\
994   \t\t\t\t IPROC=1500 QCD 2->2 \n\
995   \t\t\t\t IPROC=17** Heavy flavor production \n\
996   \t\t\t\t IPROC=1800 Direct photon production\n\
997   \t\t\tThe syntax is: Ymax set <maxrap>");
998       
999       _ptm_Parm.addDescription(
1000                                "\t\t\tSet minimum transverse momentum.\n\
1001   \t\t\tThe syntax is: Ptmin set <ptm>\n\
1002   \t\t\twhere <ptm> is specified in GEV" );
1003       
1004       _ptM_Parm.addDescription(
1005                                "\t\t\tSet maximum transverse momentum.\n\
1006   \t\t\tThe syntax is: Ptmax set <ptM>\n\
1007   \t\t\twhere <ptM> is specified in GEV" );
1008       
1009       _invarmassm_Parm.addDescription(
1010                                       "\t\t\tSet min invariant mass limits for Drell-Yan process.\n\
1011   \t\t\tThe syntax is: MassMin  set <invarmass>\n\
1012   \t\t\twhere <invarmassm> is specified in GEV " );
1013       
1014       _invarmassM_Parm.addDescription(
1015                                       "\t\t\tSet max invariant mass limits for Drell-Yan process.\n\
1016   \t\t\tThe syntax is: MassMax  set <invarmassM>\n\
1017   \t\t\twhere <invarmassM> is specified in GEV " );
1018       
1019       _thrust_Parm.addDescription(
1020                                   "\t\t\tMax thrust for 2->3 process.\n\
1021   \t\t\tThe syntax is: ThrustMax set <thrust>");
1022       
1023       _ptpow_Parm.addDescription(
1024                                  "\t\t\tPower of importance sampling in QCD 2->2 process.\n\
1025   \t\t\td(sigma)/dEt fall like ET**(-Ptpow)\n\
1026   \t\t\tThe syntax is: Ptpow  set <ptpow>" );
1027       
1028       _empow_Parm.addDescription(
1029                                  "\t\t\tPower of importance sampling in DRELL-YAN process.\n\
1030   \t\t\td(sigma)/dM falls like M**(-Empow)\n\
1031   \t\t\tThe syntax is: Empow set <empw> " );
1032       
1033       _q2pow_Parm.addDescription(
1034                                  "\t\t\tQ**2 power for importance sampling in DILS.\n\
1035   \t\t\tThe syntax is: Q2power  set <q2pow>\n\
1036   \t\t\twhere <q2pow> is a positive real " );
1037       
1038       _qlim_Parm.addDescription(
1039                                 "\t\t\tUpper limit on hard process scale.\n\
1040   \t\t\tThe syntax is: Qlim set <qlim>");
1041       
1042       _q2dilsm_Parm.addDescription(
1043                                    "\t\t\tQ**2 min limit for deep inelastic lepton scattering.\n\
1044   \t\t\tThe syntax is: Q2dilsmin  set <q2dilsm>");
1045       
1046       _q2dilsM_Parm.addDescription(
1047                                    "\t\t\tQ**2 max limit for deep inelastic lepton scattering.\n\
1048   \t\t\tThe syntax is: Q2dilsmax set <q2dilsM>");
1049       
1050       _bgshat_Parm.addDescription(
1051                                   "\t\t\tScale switch for boson-gluon fusion.\n\
1052   \t\t\tThe syntax is: Bgshat  set <bgshat>\n\
1053   \t\t\twhere <bgshat> is 1 (true) or 0 (false) " );
1054       
1055       //
1056       // Parton Shower Descriptions, Menu 05
1057       // -----------------------------------
1058       _azsoft_Parm.addDescription(
1059                                   "\t\t\tSwitch on azimuthal correlation for soft gluons.\n\
1060   \t\t\tThe syntax is: Azsoft set <azsoft>\n\
1061   \t\t\twhere <azsoft> is 1(true) or 0(false) " );
1062       
1063       _azspin_Parm.addDescription(
1064                                   "\t\t\tSwitch on azimuthal correlation including nearest\n\
1065   \t\t\t\tneighbor spin correlations.\n\
1066   \t\t\tThe syntax is: Azspin set <azspin>\n\
1067   \t\t\twhere <azspin> is  1(true) or 0(false) " );
1068       
1069       _qspac_Parm.addDescription(
1070                                  "\t\t\tSet lower limit for spacelike evolution.\n\
1071   \t\t\tThe syntax is: Spacelike_evolution set <qspac>");
1072       
1073       _ispac_Parm.addDescription(
1074                                  "\t\t\tSet ispac controlling qspac precise meaning.\n\
1075   \t\t\tThe syntax is: Ispac set <ispac>\n\
1076   \t\t\twhere <ispac> is 0 or 1 or 2 " );
1077       
1078       _nospac_Parm.addDescription(
1079                                   "\t\t\tWhether to turn off ISR.\n\
1080   \t\t\tThe syntax is: Nospac set <nospac>\n\
1081   \t\t\twhere <nospac> is 1(true) or 0(false) " );
1082       
1083       _vqcut_Parm.addDescription(
1084                                  "\t\t\tSet quark virtuality cutoff.\n\
1085   \t\t\tThe syntax is: Qcutoff set <vqcut>");
1086       
1087       _vgcut_Parm.addDescription(
1088                                  "\t\t\tSet gluon virtuality cutoff.\n\
1089   \t\t\tThe syntax is: Gcutoff  set <vgcut>");
1090       
1091       _vpcut_Parm.addDescription(
1092                                  "\t\t\tSet photon virtuality cutoff.\n\
1093   \t\t\tThe syntax is: Pcutoff  set <vpcut>");
1094       
1095       _softme_Parm.addDescription(
1096                                  "\t\t\tSwitch on soft matrix-element correction.\n\
1097   \t\t\tThe syntax is: SoftME  set 1(true, default) or 0(false)");
1098       
1099       _intrinsicpt_Parm.addDescription(
1100                                        "\t\t\tSet intrinsic pt of incoming hadrons.\n\
1101   \t\t\tThe syntax is: Pt_incoming_hadrons  set <intrinsicpt>");
1102       
1103       _clreco_Parm.addDescription(
1104                                   "\t\t\tInclude colour rearrangement.\n\
1105   \t\t\tThe syntax is: Clreco set <clreco>\n\
1106   \t\t\twhere <clreco> is 1(true) or 0(false) " );
1107       
1108       _preco_Parm.addDescription(
1109                                   "\t\t\tProbability for colour rearrangement.\n\
1110   \t\t\tThe syntax is: Preco set <preco> ");
1111       
1112       // Hadronization Descriptions, Menu 06
1113       // -----------------------------------
1114       _clmax_Parm.addDescription(
1115  "\t\t\tSet mass cluster mass parameter.\n\
1116   \t\t\tThe syntax is: Clmax set <clmax>\n\
1117   \t\t\twhere <clmax> is GEV" );
1118  
1119     _clpow_Parm.addDescription(
1120  "\t\t\tSet mass dependence of cluster hadronization.\n\
1121   \t\t\tThe syntax is: Clpow  set <clpow>");
1122  
1123     _psplt1_Parm.addDescription(
1124 "\t\t\tSet mass distribution in cluster splitting, non-b.\n\
1125   \t\t\tThe syntax is: Psplt1  set <psplt1>");
1126  
1127     _psplt2_Parm.addDescription(
1128  "\t\t\tSet mass distribution in cluster splitting, b.\n\
1129   \t\t\tThe syntax is: Psplt2  set <psplt2>");
1130  
1131     _cldir1_Parm.addDescription(
1132  "\t\t\tSet remember direction in cluster decay to hads, non-b.\n\
1133   \t\t\tThe syntax is: Cldir1  set <cldir1>)\n\
1134   \t\t\twhere <cldir1> is 1(true) or 0(false) " );
1135  
1136     _cldir2_Parm.addDescription(
1137  "\t\t\tSet remember direction in cluster decay to hads, b.\n\
1138   \t\t\tThe syntax is: Cldir2  set <cldir2>)\n\
1139   \t\t\twhere <cldir2> is 1(true) or 0(false) " );
1140  
1141     _clsmr1_Parm.addDescription(
1142  "\t\t\tSet alignment correl. in cluster decay to hads, non-b.\n\
1143   \t\t\tThe syntax is: Clsmr1  set <clsmr1>");
1144  
1145     _clsmr2_Parm.addDescription(
1146  "\t\t\tSet alignment correl. in cluster decay to hads, b.\n\
1147   \t\t\tThe syntax is: Clsmr2  set <clsmr2>");
1148  
1149     _qdiqk_Parm.addDescription(
1150  "\t\t\tSet scale at which gluon can be split into diquarks.\n\
1151   \t\t\tThe syntax is: Qdiqk set <qdiqk>\n\
1152   \t\t\twhere <qdiqk> is in GEV " );
1153  
1154     _pdiqk_Parm.addDescription(
1155  "\t\t\tSet probability of diquark splitting per unit log scale.\n\
1156   \t\t\tThe syntax is: Pdiqk set <pdiqk>");
1157  
1158    _sngwt_Parm.addDescription(
1159 "\t\t\tSet weights for singlet baryons.\n\
1160  \t\t\tThe syntax is: Sngwt set <sngwt>");
1161 
1162    _decwt_Parm.addDescription(
1163  "\t\t\tSet weights for decuplet baryons.\n\
1164   \t\t\tThe syntax is: Decwt set <decwt>");
1165  
1166    _pwt1_Parm.addDescription(
1167 "\t\t\ta priori wt for d.dbar pairs in cluster decays.\n\
1168  \t\t\tThe syntax is: Pwt1 set <ptw1>");
1169 
1170    _pwt2_Parm.addDescription(
1171 "\t\t\ta priori wt for u.ubar pairs in cluster decays.\n\
1172  \t\t\tThe syntax is: Pwt2 set <ptw2>");
1173 
1174    _pwt3_Parm.addDescription(
1175 "\t\t\ta priori wt for s.sbar pairs in cluster decays.\n\
1176  \t\t\tThe syntax is: Pwt3 set <ptw3>");
1177 
1178    _pwt4_Parm.addDescription(
1179 "\t\t\ta priori wt for c.cbar pairs in cluster decays.\n\
1180  \t\t\tThe syntax is: Pwt4 set <ptw4>");
1181 
1182    _pwt5_Parm.addDescription(
1183 "\t\t\ta priori wt for b.bbar pairs in cluster decays.\n\
1184  \t\t\tThe syntax is: Pwt5 set <ptw5>");
1185 
1186    _pwt6_Parm.addDescription(
1187 "\t\t\ta priori wt for t.tbar pairs in cluster decays.\n\
1188  \t\t\tThe syntax is: Pwt6 set <ptw6>");
1189 
1190    _pwt7_Parm.addDescription(
1191 "\t\t\ta priori wt for qq.qqbar pairs in cluster decays.\n\
1192  \t\t\tThe syntax is: Pwt7 set <ptw7>");
1193  
1194     // Underlying Event Descriptions, Menu 07
1195     // --------------------------------------
1196    _prsof_Parm.addDescription(
1197 "\t\t\tSet probability of underlying soft event.\n\
1198   \t\t\tThe syntax is: Prsof set <prsof>");
1199 
1200     _ensof_Parm.addDescription(
1201  "\t\t\tSet multiplicity enhancement for underlying soft event.\n\
1202    \t\t\tThe syntax is: Ensof set <ensof>");
1203  
1204     _pmbn1_Parm.addDescription(
1205  "\t\t\tSet soft interaction model parameter.\n\
1206    \t\t\tThe syntax is: Pmbn1 set <pmbn1>");
1207  
1208     _pmbn2_Parm.addDescription(
1209  "\t\t\tSet soft interaction model parameter.\n\
1210    \t\t\tThe syntax is: Pmbn2 set <pmbn2>");
1211  
1212     _pmbn3_Parm.addDescription(
1213  "\t\t\tSet (negative of) soft interaction model parameter.\n\
1214    \t\t\tThe syntax is: Pmbn3 set <pmbn3>");
1215  
1216     _pmbk1_Parm.addDescription(
1217  "\t\t\tSet soft interaction model parameter.\n\
1218    \t\t\tThe syntax is: Pmbk1 set <pmbk1>");
1219  
1220     _pmbk2_Parm.addDescription(
1221  "\t\t\tSet (negative of) soft interaction model parameter.\n\
1222    \t\t\tThe syntax is: Pmbk2 set <pmbk2>");
1223  
1224     _pmbm1_Parm.addDescription(
1225  "\t\t\tSet soft interaction model parameter.\n\
1226    \t\t\tThe syntax is: Pmbm1 set <pmbm1>");
1227  
1228     _pmbm2_Parm.addDescription(
1229  "\t\t\tSet soft interaction model parameter.\n\
1230    \t\t\tThe syntax is: Pmbm2 set <pmbm2>");
1231  
1232     _pmbp1_Parm.addDescription(
1233  "\t\t\tSet soft interaction model parameter.\n\
1234    \t\t\tThe syntax is: Pmbp1 set <pmbp1>");
1235  
1236     _pmbp2_Parm.addDescription(
1237  "\t\t\tSet soft interaction model parameter.\n\
1238    \t\t\tThe syntax is: Pmbp2 set <pmbp2>");
1239  
1240     _pmbp3_Parm.addDescription(
1241  "\t\t\tSet soft interaction model parameter.\n\
1242    \t\t\tThe syntax is: Pmbp3 set <pmbp3>");
1243  
1244     // Decays Descriptions, Menu 08
1245     // ----------------------------
1246     _pizstable_Parm.addDescription(
1247  "\t\t\tSet whether pizeros are to be stable.\n\
1248    \t\t\tThe syntax is: Pizstable set <pizstable>\n\
1249   \t\t\twhere <pizstable> is 1(true) or 0(false) " );
1250 
1251     _topltim_Parm.addDescription(
1252  "\t\t\tSet top quark lifetime, in seconds.\n\
1253    \t\t\tThe syntax is: Topltim set <topltim> " );
1254 
1255     _pltcut_Parm.addDescription(
1256  "\t\t\tLifetime cut in secs above which particles are stable.\n\
1257    \t\t\tThe syntax is: Pltcut set <pltcut> " );
1258 
1259    _modbos1_Parm.addDescription(
1260 "\t\t\tSet force weak boson decay modes (see Table in Herwig6 doc).\n\
1261   \t\t\tThe syntax is: Modbos1 set <modbos(1)> " );
1262 
1263    _modbos2_Parm.addDescription(
1264 "\t\t\tSet force weak boson decay modes (see Table in Herwig6 doc).\n\
1265   \t\t\tThe syntax is: Modbos2 set <modbos(2)> " );
1266 
1267     // Generation Parameter Descriptions, Menu 09
1268     // ------------------------------------------
1269     _eventweight_Parm.addDescription(
1270  "\t\t\tSpecify whether event are unweighted.\n\
1271   \t\t\tThe syntax is: No_weights set <nowt>\n\
1272   \t\t\tWhere <nowt> is 1 or 0.");
1273  
1274     //   _avwgt_Parm.addDescription(
1275     //"\t\t\tSet default mean event weight.\n\
1276     // \t\t\tThis parameter is only used if Use_weight=false\n\
1277    //  \t\t\tThe syntax is: Avwgt set <wt>");
1278  
1279     _maxweight_Parm.addDescription(
1280  "\t\t\tSets max weight.\n\
1281  \t\t\tThe syntax is: Maxwt set <maxweight>");
1282  
1283     _negwts_Parm.addDescription(
1284  "\t\t\tAllow negative weights, 1=yes 0=no\n\
1285  \t\t\tThe syntax is: Negwts set <negwts>");
1286  
1287     _effmin_Parm.addDescription(
1288  "\t\t\tSets min efficiency for event generation.\n\
1289  \t\t\tThe syntax is: Effmin set <effmin>");
1290  
1291     _noshower_Parm.addDescription(
1292  "\t\t\tTurn off parton shower.\n\
1293   \t\t\tThe syntax is: No_shower set <noshower>\n\
1294   \t\t\twhere <noshower> is true or false" );
1295  
1296     _nohadroniz_Parm.addDescription(
1297  "\t\t\tTurn off hadronization.\n\
1298   \t\t\tThe syntax is: No_hadronization set <nohadroniz>\n\
1299   \t\t\twhere <nohadroniz> is true or false" );
1300  
1301    _tlout_Parm.addDescription(
1302  "\t\t\ttime (sec) needed to terminate gracefully.\n\
1303   \t\t\tThe syntax is: Tlout   set <tlout>\n\
1304   \t\t\twhere <tlout> is in sec" );
1305  
1306     // SM-Parameter Menu item Descriptions, Menu 10
1307     // -------------------------------------------
1308  
1309     _colors_Parm.addDescription(
1310  "\t\t\tSet number of colors.\n\
1311   \t\t\tThe syntax is: Colors set <ncolors>");
1312  
1313     _flavors_Parm.addDescription(
1314  "\t\t\tSet number of flavors.\n\
1315   \t\t\tThe syntax is: Flavors set <flavors>");
1316  
1317     _weiangle_Parm.addDescription(
1318  "\t\t\tSet sin**2 of Weinberg angle.\n\
1319   \t\t\tThe syntax is: Weinberge_angle set <weiangle>\n\
1320   \t\t\twhere <weiangle> is real (0,1)" );
1321  
1322     _cabangle_Parm.addDescription(
1323  "\t\t\tSet sin**2 of Cabibbo angle.\n\
1324   \t\t\tThe syntax is: Cabibbo_angle set <cabangle>\n\
1325   \t\t\twhere <cabangle> is real (0,1)" );
1326     _wwidth_Parm.addDescription(
1327  "\t\t\tSet width of W boson.\n\
1328   \t\t\tThe syntax is: W_width set <wwidth>\n\
1329   \t\t\twhere <wwidth> is in GEV" );
1330  
1331     _zwidth_Parm.addDescription(
1332  "\t\t\tSet width of Z boson.\n\
1333   \t\t\tThe syntax is: Z_width set <zwidth>\n\
1334   \t\t\twhere <zwidth> is in GEV" );
1335  
1336     // Descriptions of Quark Mass Parameters, Menu 11
1337     // ----------------------------------------------
1338     _down_Parm.addDescription(
1339  "\t\t\tSet down quark mass.\n\
1340   \t\t\tThe syntax is: down   set <down>\n\
1341   \t\t\twhere <down> is in GEV" );
1342     _up_Parm.addDescription(
1343  "\t\t\tSet up quark mass.\n\
1344   \t\t\tThe syntax is: up   set <up>\n\
1345   \t\t\twhere <up> is in GEV" );
1346     _strange_Parm.addDescription(
1347  "\t\t\tSet strange quark mass.\n\
1348   \t\t\tThe syntax is: strange   set <strange>\n\
1349   \t\t\twhere <strange> is in GEV" );
1350     _charm_Parm.addDescription(
1351  "\t\t\tSet charm quark mass.\n\
1352   \t\t\tThe syntax is: charm   set <charm>\n\
1353   \t\t\twhere <charm> is in GEV" );
1354     _bottom_Parm.addDescription(
1355  "\t\t\tSet bottom quark mass.\n\
1356   \t\t\tThe syntax is: bottom   set <bottom>\n\
1357   \t\t\twhere <bottom> is in GEV" );
1358     _top_Parm.addDescription(
1359  "\t\t\tSet top quark mass.\n\
1360   \t\t\tThe syntax is: top   set <top>\n\
1361   \t\t\twhere <top> is in GEV" );
1362     _gluonmass_Parm.addDescription(
1363  "\t\t\tSet  gluon effective mass.\n\
1364   \t\t\tThe syntax is: gluon   set <gluonmass>\n\
1365   \t\t\twhere <gluonmass> is in GEV" );
1366     _W_Parm.addDescription(
1367  "\t\t\tSet W+/- mass.\n\
1368   \t\t\tThe syntax is: W   set <W>\n\
1369   \t\t\twhere <W> is in GEV" );
1370     _Z0_Parm.addDescription(
1371  "\t\t\tSet Z0 mass.\n\
1372   \t\t\tThe syntax is: Z0  set <Z0>\n\
1373   \t\t\twhere <Z0> is in GEV" );
1374     _higgs_Parm.addDescription(
1375  "\t\t\tSet  Higgs mass.\n\
1376   \t\t\tThe syntax is: Higgs   set <higgs>\n\
1377   \t\t\twhere <higgs> is in GEV" );
1378    _gammax_Parm.addDescription(
1379 "\t\t\tSet limit on range of Higgs mass distribution.\n\
1380  \t\t\tThe syntax is: Gammax   set <gammax>\n\
1381  \t\t\twhere <gammax> multiplies the Higgs width" );
1382 
1383     // Read_susy Descriptions, Menu 12
1384     // --------------------------------------
1385  
1386     _read_Filesusy.addDescription(
1387  "\t\t\tSpecify the name of the file used to read the\n\
1388   \t\t\t\tSUSY particle properties.\n\
1389   \t\t\tThe format of the command is: File_Readsusy set <filename>" );
1390  
1391    _rparty_Parm.addDescription(
1392 "\t\t\tSet whether R-parity is conserved in SUSY.\n\
1393  \t\t\tThe syntax is: Rparty   set <rparty>\n\
1394  \t\t\twhere <rparty> is 1 (yes) or 0 (no)" );
1395 
1396     // Z-prime Description, Menu 13
1397     // ----------------------------
1398     _zprime_Parm.addDescription(
1399  "\t\t\tWhether to use a Z-prime particle.\n\
1400   \t\t\tThe syntax is: Zprime  set <zprime>\n\
1401   \t\t\twhere <zprime> is 0 or 1");
1402  
1403     _ZP_Parm.addDescription(
1404  "\t\t\tSet mass of the Z-prime particle.\n\
1405   \t\t\tThe syntax is: ZP  set <ZP>\n\
1406   \t\t\twhere <ZP> is mass in GeV");
1407  
1408     _zpwidth_Parm.addDescription(
1409  "\t\t\tSet width of the Z-prime particle.\n\
1410   \t\t\tThe syntax is: ZP_width  set <zpwidth>\n\
1411   \t\t\twhere <zpwidth> is width in GeV");
1412  
1413     // Prints Description, Menu 14
1414     // ---------------------------
1415  
1416     _iprint_Parm.addDescription(
1417  "\t\t\tHerwig print level control.\n\
1418   \t\t\tThe syntax is: iprint   set <print>\n\
1419   \t\t\twhere :\n\
1420   \t\t\t     0 No printout;\n\
1421   \t\t\t     1 Print selected input parameters;\n\
1422   \t\t\t     2 1 + table of particle codes and properties;\n\
1423   \t\t\t     3 2 + tables of Sudakov form factors." );
1424  
1425     _maxpr_Parm.addDescription(
1426  "\t\t\tDump of Herwig event for maxpr events.\n\
1427   \t\t\tThe syntax is: maxpr   set <maxpr>\n\
1428   \t\t\twhere <maxpr> is no. of events to dump");
1429  
1430     _prvtx_Parm.addDescription(
1431  "\t\t\tWhether to include vtx info in dump of Herwig events.\n\
1432   \t\t\tThe syntax is: prvtx   set <prvtx>\n\
1433   \t\t\twhere <prvtx> is 1 (yes) or 0 (no)");
1434  
1435     _prndef_Parm.addDescription(
1436  "\t\t\tPrint to screen or log file in ASCII.\n\
1437   \t\t\tThe syntax is: prndef   set <prndef>\n\
1438   \t\t\twhere <prndef> is 1 (yes) or 0 (no)");
1439  
1440     _prntex_Parm.addDescription(
1441  "\t\t\tPrint to file in LATEX format.\n\
1442   \t\t\tThe syntax is: prntex   set <prntex>\n\
1443   \t\t\twhere <prntex> is 1 (yes) or 0 (no)");
1444  
1445     _prnweb_Parm.addDescription(
1446  "\t\t\tPrint to file in html format.\n\
1447   \t\t\tThe syntax is: prnweb   set <prnweb>\n\
1448   \t\t\twhere <prnweb> is 1 (yes) or 0 (no)");
1449  
1450     _nprfmt_Parm.addDescription(
1451  "\t\t\tHow may sig. figures in printing.\n\
1452   \t\t\tThe syntax is: nprfmt   set <nprfmt>\n\
1453   \t\t\twhere <nprfmt> is 1 (short) or 2 (long)");
1454  
1455     // Vers 6_400 Adds Description, Menu 15
1456     // ------------------------------------
1457     _optm_Parm.addDescription(
1458  "\t\t\tOptimise efficiency, VV or ZQQ.\n\
1459   \t\t\tThe syntax is: Optm   set <optm>\n\
1460   \t\t\twhere <optm> is 1 (yes) or 0 (no)");
1461  
1462     _iopstp_Parm.addDescription(
1463  "\t\t\tNo. of iterations to optimise effic, VV or ZQQ.\n\
1464   \t\t\tThe syntax is: Iopstp   set <iopstp>");
1465  
1466     _iopsh_Parm.addDescription(
1467  "\t\t\tEvents per iteration to optimise effic, VV or ZQQ.\n\
1468   \t\t\tThe syntax is: Iopsh   set <iopsh>");
1469  
1470     _syspin_Parm.addDescription(
1471  "\t\t\tTurn on spin correlations.\n\
1472   \t\t\tThe syntax is: Syspin   set <syspin>\n\
1473   \t\t\twhere <syspin> is 1 (yes) or 0 (no)");
1474  
1475     _threeb_Parm.addDescription(
1476  "\t\t\tTurn on 3-body decay matrix els.\n\
1477   \t\t\tThe syntax is: Threeb   set <threeb>\n\
1478   \t\t\twhere <threeb> is 1 (yes) or 0 (no)");
1479  
1480     _fourb_Parm.addDescription(
1481  "\t\t\tTurn on 4-body decay matrix els.\n\
1482   \t\t\tThe syntax is: Fourb   set <fourb>\n\
1483   \t\t\twhere <fourb> is 1 (yes) or 0 (no)");
1484  
1485     _lrdec_Parm.addDescription(
1486  "\t\t\tUnit to read spin correl or decay mat el inits.\n\
1487   \t\t\tThe syntax is: Lrdec   set <lrdec>");
1488  
1489     _lwdec_Parm.addDescription(
1490  "\t\t\tUnit to write spin correl or decay mat el inits.\n\
1491   \t\t\tThe syntax is: Lwdec   set <lwdec>");
1492  
1493     _prespl_Parm.addDescription(
1494  "\t\t\tLong. mom. or rapidity choice, see H 6_5 release note\n\
1495   \t\t\tThe syntax is: Prespl   set <prespl>");
1496  
1497     _lhsoft_Parm.addDescription(
1498  "\t\t\tLes Houches soft underlying event, 1 = yes\n\
1499   \t\t\tThe syntax is: Lhsoft   set <lhsoft>");
1500  
1501     _lhglsf_Parm.addDescription(
1502  "\t\t\tLes Houches, soft underlying event, 1 = yes\n\
1503   \t\t\tThe syntax is: Lhglsf   set <lhglsf>");
1504  
1505     _grvlam_Parm.addDescription(
1506  "\t\t\tGraviton resonance coupling, in GeV; proc 42..\n\
1507   \t\t\tThe syntax is: Grvlam   set <grvlam>");
1508  
1509     _emgrv_Parm.addDescription(
1510  "\t\t\tGraviton resonance mass, in GeV; proc 42..\n\
1511   \t\t\tThe syntax is: Emgrv   set <emgrv>");
1512  
1513     _gamgrv_Parm.addDescription(
1514  "\t\t\tGraviton resonance width, in GeV; proc 42..\n\
1515   \t\t\tThe syntax is: Gamgrv   set <gamgrv>");
1516  
1517     _itoprd_Parm.addDescription(
1518  "\t\t\tNot use PHOTOS (0 - default), or use PHOTOS (1)\n\
1519   \t\t\tThe syntax is: Itoprd   set <itoprd>");
1520 
1521      _ptjim_Parm.addDescription(
1522   "\t\t\tJimmy param   min PT of secondary scatters\n\
1523    \t\t\tThe syntax is: Ptjim   set <ptjim>");
1524 
1525      _msflag_Parm.addDescription(
1526   "\t\t\tJimmy on or off\n\
1527    \t\t\tThe syntax is: Msflag   set <msflag>");
1528 
1529      _jmrad73_Parm.addDescription(
1530   "\t\t\tJimmy param   Inverse proton radius squared\n\
1531    \t\t\tThe syntax is: Jmrad73   set <jmrad73>");
1532 
1533      _jmrad91_Parm.addDescription(
1534   "\t\t\tJimmy param   Inverse antiproton radius squared\n\
1535    \t\t\tThe syntax is: Jmrad91   set <jmrad91>");
1536 
1537  
1538     // Attach all menus and parameters to the appropriate pages
1539     // ---------------------------------------------------------
1540     commands( )->append( &_process);
1541     commands( )->append( &_maxer_Parm);
1542     commands( )->append( &_randomseed1_Parm);
1543     commands( )->append( &_randomseed2_Parm);
1544     commands( )->append( &_lambdaQCD_Parm);
1545  
1546     commands( )->append( &_01Menu);
1547     commands( )->append( &_02Menu);
1548     commands( )->append( &_03Menu);
1549     commands( )->append( &_04Menu);  
1550     commands( )->append( &_05Menu);
1551     commands( )->append( &_06Menu);
1552     commands( )->append( &_07Menu);  
1553     commands( )->append( &_08Menu);
1554     commands( )->append( &_09Menu);
1555     commands( )->append( &_10Menu);
1556     commands( )->append( &_11Menu);
1557     commands( )->append( &_12Menu);
1558     commands( )->append( &_13Menu);
1559     commands( )->append( &_14Menu);                 
1560     commands( )->append( &_15Menu);                 
1561     commands( )->append( &_16Menu);                 
1562     commands( )->append( &_17Menu);                 
1563  
1564     //   commands( )->append( &_decayTable_Parm);
1565     //   commands( )->append( &_scaleChoiceParm);
1566  
1567     _01Menu.commands( )->append( &_Beamtype1_Parm);
1568     _01Menu.commands( )->append( &_Energy1_Parm);
1569     _01Menu.commands( )->append( &_Beamtype2_Parm);
1570     _01Menu.commands( )->append( &_Energy2_Parm);  
1571     _01Menu.commands( )->append( &_pipsmr_Parm);
1572     _01Menu.commands( )->append( &_vipwidx_Parm);
1573     _01Menu.commands( )->append( &_vipwidy_Parm);
1574     _01Menu.commands( )->append( &_vipwidz_Parm);
1575  
1576     _02Menu.commands( )->append( &_sudord_Parm);
1577  
1578     _03Menu.commands( )->append( &_autpdf);
1579     _03Menu.commands( )->append( &_modpdf);
1580     _03Menu.commands( )->append( &_nstru_Parm);
1581  
1582  //cjl   _04Menu.commands( )->append ( &_rapiditiesm_Parm);
1583     _04Menu.commands( )->append ( &_rapiditiesM_Parm);
1584     _04Menu.commands( )->append ( &_ptm_Parm);
1585     _04Menu.commands( )->append ( &_ptM_Parm);
1586     _04Menu.commands( )->append ( &_invarmassm_Parm);
1587     _04Menu.commands( )->append ( &_invarmassM_Parm);
1588     _04Menu.commands( )->append ( &_thrust_Parm);
1589     _04Menu.commands( )->append ( &_ptpow_Parm);
1590     _04Menu.commands( )->append ( &_empow_Parm);
1591     _04Menu.commands( )->append ( &_q2pow_Parm);
1592     _04Menu.commands( )->append ( &_qlim_Parm); 
1593     _04Menu.commands( )->append ( &_q2dilsm_Parm); 
1594     _04Menu.commands( )->append ( &_q2dilsM_Parm);
1595     _04Menu.commands( )->append ( &_bgshat_Parm);
1596     
1597     _05Menu.commands( )->append ( &_azsoft_Parm);
1598     _05Menu.commands( )->append ( &_azspin_Parm);
1599     _05Menu.commands( )->append ( &_qspac_Parm);
1600     _05Menu.commands( )->append ( &_ispac_Parm);
1601     _05Menu.commands( )->append ( &_nospac_Parm);
1602     _05Menu.commands( )->append ( &_vqcut_Parm);
1603     _05Menu.commands( )->append ( &_vgcut_Parm);
1604     _05Menu.commands( )->append ( &_vpcut_Parm);
1605     _05Menu.commands( )->append ( &_softme_Parm);
1606     _05Menu.commands( )->append ( &_intrinsicpt_Parm);
1607     _05Menu.commands( )->append ( &_clreco_Parm);
1608     _05Menu.commands( )->append ( &_preco_Parm);
1609  
1610     _06Menu.commands( )->append (& _clmax_Parm);
1611     _06Menu.commands( )->append (& _clpow_Parm);
1612     _06Menu.commands( )->append (& _psplt1_Parm);
1613     _06Menu.commands( )->append (& _psplt2_Parm);
1614     _06Menu.commands( )->append (& _cldir1_Parm);
1615     _06Menu.commands( )->append (& _cldir2_Parm);
1616     _06Menu.commands( )->append (& _clsmr1_Parm);
1617     _06Menu.commands( )->append (& _clsmr2_Parm);
1618     _06Menu.commands( )->append (& _qdiqk_Parm);
1619     _06Menu.commands( )->append (& _pdiqk_Parm);
1620     _06Menu.commands( )->append (& _sngwt_Parm);
1621     _06Menu.commands( )->append (& _decwt_Parm);
1622     _06Menu.commands( )->append (& _pwt1_Parm);
1623     _06Menu.commands( )->append (& _pwt2_Parm);
1624     _06Menu.commands( )->append (& _pwt3_Parm);
1625     _06Menu.commands( )->append (& _pwt4_Parm);
1626     _06Menu.commands( )->append (& _pwt5_Parm);
1627     _06Menu.commands( )->append (& _pwt6_Parm);
1628     _06Menu.commands( )->append (& _pwt7_Parm);
1629  
1630     _07Menu.commands( )->append (& _prsof_Parm);
1631     _07Menu.commands( )->append (& _ensof_Parm);
1632     _07Menu.commands( )->append (& _pmbn1_Parm);
1633     _07Menu.commands( )->append (& _pmbn2_Parm);
1634     _07Menu.commands( )->append (& _pmbn3_Parm);
1635     _07Menu.commands( )->append (& _pmbk1_Parm);
1636     _07Menu.commands( )->append (& _pmbk2_Parm);
1637     _07Menu.commands( )->append (& _pmbm1_Parm);
1638     _07Menu.commands( )->append (& _pmbm2_Parm);
1639     _07Menu.commands( )->append (& _pmbp1_Parm);
1640     _07Menu.commands( )->append (& _pmbp2_Parm);
1641     _07Menu.commands( )->append (& _pmbp3_Parm);
1642  
1643     _08Menu.commands( )->append (& _pizstable_Parm);
1644     _08Menu.commands( )->append (& _topltim_Parm);
1645     _08Menu.commands( )->append (& _pltcut_Parm);
1646     _08Menu.commands( )->append (& _modbos1_Parm);
1647     _08Menu.commands( )->append (& _modbos2_Parm);
1648  
1649     _09Menu.commands( )->append (& _eventweight_Parm);
1650     _09Menu.commands( )->append (& _maxweight_Parm);
1651     _09Menu.commands( )->append (& _negwts_Parm);
1652     _09Menu.commands( )->append (& _effmin_Parm);
1653     _09Menu.commands( )->append (& _noshower_Parm);
1654     _09Menu.commands( )->append (& _nohadroniz_Parm);
1655     _09Menu.commands( )->append (& _tlout_Parm);
1656   
1657     _10Menu.commands( )->append (& _colors_Parm);
1658     _10Menu.commands( )->append (& _flavors_Parm);
1659     _10Menu.commands( )->append (& _weiangle_Parm);
1660     _10Menu.commands( )->append (& _cabangle_Parm);
1661     _10Menu.commands( )->append (& _wwidth_Parm);
1662     _10Menu.commands( )->append (& _zwidth_Parm);
1663  
1664     _11Menu.commands( )->append (& _down_Parm);
1665     _11Menu.commands( )->append (& _up_Parm);
1666     _11Menu.commands( )->append (& _strange_Parm);
1667     _11Menu.commands( )->append (& _charm_Parm);
1668     _11Menu.commands( )->append (& _bottom_Parm);
1669     _11Menu.commands( )->append (& _top_Parm);
1670     _11Menu.commands( )->append (& _gluonmass_Parm);
1671     _11Menu.commands( )->append (& _W_Parm);
1672     _11Menu.commands( )->append (& _Z0_Parm); 
1673     _11Menu.commands( )->append (& _higgs_Parm);
1674     _11Menu.commands( )->append (& _gammax_Parm);
1675  
1676     _12Menu.commands( )->append( &_read_Filesusy);
1677     _12Menu.commands( )->append (& _rparty_Parm);
1678 
1679     _13Menu.commands()->append(& _zprime_Parm);
1680     _13Menu.commands()->append(& _ZP_Parm);
1681     _13Menu.commands()->append(& _zpwidth_Parm);
1682  
1683     _14Menu.commands()->append(& _iprint_Parm);
1684     _14Menu.commands()->append(& _maxpr_Parm);
1685     _14Menu.commands()->append(& _prvtx_Parm);
1686     _14Menu.commands()->append(& _prndef_Parm);
1687     _14Menu.commands()->append(& _prntex_Parm);
1688     _14Menu.commands()->append(& _prnweb_Parm);
1689     _14Menu.commands()->append(& _nprfmt_Parm);
1690 
1691     _15Menu.commands()->append(& _optm_Parm);
1692     _15Menu.commands()->append(& _iopstp_Parm);
1693     _15Menu.commands()->append(& _iopsh_Parm);
1694     _15Menu.commands()->append(& _syspin_Parm);
1695     _15Menu.commands()->append(& _threeb_Parm);
1696     _15Menu.commands()->append(& _fourb_Parm);
1697     _15Menu.commands()->append(& _lrdec_Parm);
1698     _15Menu.commands()->append(& _lwdec_Parm);
1699 
1700     _16Menu.commands()->append(& _prespl_Parm);
1701     _16Menu.commands()->append(& _lhsoft_Parm);
1702     _16Menu.commands()->append(& _lhglsf_Parm);
1703     _16Menu.commands()->append(& _grvlam_Parm);
1704     _16Menu.commands()->append(& _emgrv_Parm);
1705     _16Menu.commands()->append(& _gamgrv_Parm);
1706     _16Menu.commands()->append(& _itoprd_Parm);
1707 
1708     _17Menu.commands()->append(& _ptjim_Parm);
1709     _17Menu.commands()->append(& _msflag_Parm);
1710     _17Menu.commands()->append(& _jmrad73_Parm);
1711     _17Menu.commands()->append(& _jmrad91_Parm);
1712 
1713 }
1714 
1715 //-----------------------------------------------------------------------------
1716 // $Id:
1717 // $Log:
1718 //-----------------------------------------------------------------------------
1719 
1720 
1721 
1722 
1723 

source navigation ] diff markup ] identifier search ] freetext search ] file search ]

This page was automatically generated by the LXR engine.
The LXR team
Valid HTML 4.01!

Send problems or questions to cdfcode@fnal.gov