//-------------------------------------------------------------------------- // File and Version Information: // HerwigModule.hh // // Description: // This module is an generator Input module for use with Herwig 5.9 // // Environment: // Software developed for CDF // // Author List: // Marjorie Shapiro and Elena Bucciol // Aug 1998 // Revisions // j lys, minor changes 1999 // additions for Herwig 6.1 May-2000 // Herwig v6202 Apr-2001 // //------------------------------------------------------------------------ #ifndef HERWIGMODULE_HH #define HERWIGMODULE_HH //---------------------- // Base Class Headers -- //---------------------- #ifndef __CINT__ # include "FrameMods/GeneratorModule.hh" #else class GeneratorModule; class APPMenu; class AbsEvent; class AppResult; class APPCommand; class AbsParmGeneral; #endif #ifdef USE_ROOT # include "TObject.h" #endif //---------------------- // Collaborating Classes //---------------------- // --------------------- // -- Class Interface -- // --------------------- class HerwigModule : public GeneratorModule { public: // ****** constructors and destructor HerwigModule(const char* const theName = "herwig", const char* const theDescription = "AC++ module for HERWIG"); HerwigModule(const HerwigModule& m); virtual ~HerwigModule( ); // ****** overloaded methods of GeneratorModule AppResult genBeginJob( AbsEvent* aJob ); AppResult genEndJob ( AbsEvent* aJob ); AppResult genBeginRun( AbsEvent* aJob ); AppResult genEndRun ( AbsEvent* aJob ); int callGenerator(AbsEvent* event); void fillHepevt(); // ****** other methods void Absparm2Her(); void Her2Absparm(); // Selectors // Modifiers //-------------------------- //Private Data members -- //-------------------------- private: APPMenu _01Menu; APPMenu _02Menu; APPMenu _03Menu; APPMenu _04Menu; APPMenu _05Menu; APPMenu _06Menu; APPMenu _07Menu; APPMenu _08Menu; APPMenu _09Menu; APPMenu _10Menu; APPMenu _11Menu; APPMenu _12Menu; APPMenu _13Menu; APPMenu _14Menu; // Here are the things our specialized commands // will set... // the AbsParms below at begin job #ifndef __CINT__ AbsParmGeneral _process; // QCD process generated AbsParmGeneral _maxer_Parm; // AbsParmGeneral _randomseed1_Parm; // AbsParmGeneral _randomseed2_Parm; // AbsParmGeneral _lambdaQCD_Parm; // to calculate alphas // AbsParmGeneral _decayTable_Parm; // parm for the file name // that has the decay table // AbsParmGeneral _scaleChoiceParm; // choice of qcd scale // 1=pt/2, 2=pt, 3=2pt // commands of Menu 01 AbsParmGeneral _Beamtype1_Parm;// initialize beam particle 1 AbsParmGeneral _Energy1_Parm;//initialize beam energy 1 AbsParmGeneral _Beamtype2_Parm;// initialize beam particle 2 AbsParmGeneral _Energy2_Parm;//initialize beam energy 2 AbsParmGeneral _pipsmr_Parm;//smear primary vertex coors? AbsParmGeneral _vipwidx_Parm;//primary vertex x width AbsParmGeneral _vipwidy_Parm;//primary vertex y width AbsParmGeneral _vipwidz_Parm;//primary vertex z width // commands of Menu 02 - v6.1 no read/write AbsParmGeneral _sudord_Parm ; //Sudakov order // commands of Menu 03 AbsParmGeneral _autpdf; AbsParmGeneral _modpdf; // commands of Menu 04 AbsParmGeneral _ptm_Parm;// select transverse momentum limits min AbsParmGeneral _invarmassm_Parm;// select invariant mass limits min AbsParmGeneral _rapiditiesM_Parm;// select rapidity limits max AbsParmGeneral _ptM_Parm;// select transverse momentum limits max AbsParmGeneral _invarmassM_Parm;// select invariant mass limits max AbsParmGeneral _thrust_Parm;// select thrust AbsParmGeneral _ptpow_Parm;// select ET power AbsParmGeneral _empow_Parm;// select M power AbsParmGeneral _q2pow_Parm;// select Q**2 power AbsParmGeneral _qlim_Parm;// select upper limits in scale AbsParmGeneral _q2dilsm_Parm;// set Q**2 limits min AbsParmGeneral _q2dilsM_Parm;// set Q**2 limits max AbsParmGeneral _bgshat_Parm;// scaling switch // commands of Menu 05 AbsParmGeneral _azsoft_Parm;//azimuthal correlation soft gluon AbsParmGeneral _azspin_Parm;//azimuthal correlation spin AbsParmGeneral _qspac_Parm;//lower limit for spacelike evolution AbsParmGeneral _ispac_Parm;//controls exact meaning of qspac AbsParmGeneral _nospac_Parm;//can turn off ISR AbsParmGeneral _vqcut_Parm;//quark virtuality cutoff AbsParmGeneral _vgcut_Parm;//gluon virtuality cutoff AbsParmGeneral _vpcut_Parm;//photon virtuality cutoff // AbsParmGeneral _gluonmass_Parm;//gluon virtual mass cutoff AbsParmGeneral _intrinsicpt_Parm;// intrinsic pt incoming hadrons // commands of Menu 06 AbsParmGeneral _clmax_Parm;//mass cluster mass parameter AbsParmGeneral _clpow_Parm;// mass dependence of cluster hadronization AbsParmGeneral _psplt1_Parm;// mass dist in cluster splitting, non-b AbsParmGeneral _psplt2_Parm;// mass dist in cluster splitting, b AbsParmGeneral _cldir1_Parm;// direction memory, cluster splitting, non-b AbsParmGeneral _cldir2_Parm;// direction memory, cluster splitting, b AbsParmGeneral _clsmr1_Parm;// alignment, cluster splitting, non-b AbsParmGeneral _clsmr2_Parm;// alignment, cluster splitting, b AbsParmGeneral _qdiqk_Parm; //scale at which gluon can be split into diquarks AbsParmGeneral _pdiqk_Parm; //probability of diquark splitting per unit log scale AbsParmGeneral _sngwt_Parm; // a priori weights, singlet baryons for cluster decays AbsParmGeneral _decwt_Parm; // a priori weights, decuplet baryons for cluster decays AbsParmGeneral _pwt1_Parm; // a priori weights, d.dbar pairs AbsParmGeneral _pwt2_Parm; // a priori weights, u.ubar pairs AbsParmGeneral _pwt3_Parm; // a priori weights, s.sbar pairs AbsParmGeneral _pwt4_Parm; // a priori weights, c.cbar pairs AbsParmGeneral _pwt5_Parm; // a priori weights, b.bbar pairs AbsParmGeneral _pwt6_Parm; // a priori weights, t.tbar pairs AbsParmGeneral _pwt7_Parm; // a priori weights, qq.qqbar pairs // commands of Menu 07 AbsParmGeneral _prsof_Parm;//prob. of underlying soft event AbsParmGeneral _ensof_Parm;//multy. enhancement, underlyng soft event AbsParmGeneral _pmbn1_Parm;// soft int. param for multiplicity AbsParmGeneral _pmbn2_Parm;// soft int. param for multiplicity AbsParmGeneral _pmbn3_Parm;// soft int. param for multiplicity AbsParmGeneral _pmbk1_Parm;// soft int. param for negative binomial AbsParmGeneral _pmbk2_Parm;// soft int. param for negative binomial AbsParmGeneral _pmbm1_Parm;// soft int. param for cluster mass AbsParmGeneral _pmbm2_Parm;// soft int. param for cluster mass AbsParmGeneral _pmbp1_Parm;// soft int. param for cluster pt AbsParmGeneral _pmbp2_Parm;// soft int. param for cluster pt AbsParmGeneral _pmbp3_Parm;// soft int. param for cluster pt // commands of Menu 08 AbsParmGeneral _pizstable_Parm; //whether pizero is stable (non-decaying) AbsParmGeneral _pltcut_Parm; //lifetime cut for stable particle AbsParmGeneral _modbos1_Parm; //force decay modes, 1st weak boson AbsParmGeneral _modbos2_Parm; //force decay modes, 2nd weak boson // commands of Menu 09 AbsParmGeneral _eventweight_Parm; //control event weights AbsParmGeneral _maxweight_Parm; //set max weight AbsParmGeneral _effmin_Parm; //min. acceptable eff to generate evts AbsParmGeneral _noshower_Parm; //turn off parton shower AbsParmGeneral _nohadroniz_Parm; //turn off hadronization AbsParmGeneral _tlout_Parm; //time (sec) needed to terminate gracefully // commands of Menu 10 AbsParmGeneral _colors_Parm;// number of colors AbsParmGeneral _flavors_Parm;// number of flavors AbsParmGeneral _weiangle_Parm;// sin**2 of Weimberg angle AbsParmGeneral _cabangle_Parm;// sin**2 of Cabibbo angle AbsParmGeneral _wwidth_Parm;// Width of W boson AbsParmGeneral _zwidth_Parm;//Width of Z boson // commands of Menu 11 AbsParmGeneral _down_Parm;// Set down quark mass AbsParmGeneral _up_Parm;// Set up quark mass AbsParmGeneral _strange_Parm;// Set strange quark mass AbsParmGeneral _charm_Parm;// Set charm quark mass AbsParmGeneral _bottom_Parm;// Set bottom quark mass AbsParmGeneral _top_Parm;// Set top quark mass AbsParmGeneral _gluonmass_Parm;// Set gluon mass AbsParmGeneral _W_Parm;// Set W+/- mass AbsParmGeneral _Z0_Parm;// Set Z0 mass AbsParmGeneral _higgs_Parm;// Set Higgs mass AbsParmGeneral _gammax_Parm;// Set Higgs mass // commands of Menu 12 AbsParmGeneral _read_Filesusy; //parm for the susy file name AbsParmGeneral _rparty_Parm;// Whether R-parity is conserved in SUSY // commands of Menu 13 AbsParmGeneral _zprime_Parm;// Whether to use Z-prime particle AbsParmGeneral _ZP_Parm;// Mass of Z-prime particle AbsParmGeneral _zpwidth_Parm;// Width of Z-prime particle // commands of Menu 14 AbsParmGeneral _iprint_Parm;// Herwig print level control AbsParmGeneral _maxpr_Parm;// Dump of Herwig events AbsParmGeneral _prvtx_Parm;// Whether to have vtx print in dump AbsParmGeneral _prndef_Parm;// print ASCII to screen/log file AbsParmGeneral _prntex_Parm;// print LATEX to *.tex files AbsParmGeneral _prnweb_Parm;// print html to *.html AbsParmGeneral _nprfmt_Parm;// controls print sig. figs - short or long #endif #ifdef USE_ROOT_ ClassDef(HerwigModule,0) #endif }; #endif