![]() |
![]() |
00001 #ifndef GeneratorInterface_CommonInterface_TauolaInterface_h 00002 #define GeneratorInterface_CommonInterface_TauolaInterface_h 00003 00015 namespace edm 00016 { 00017 class TauolaInterface 00018 { 00019 public: 00020 00021 // Constructor 00022 TauolaInterface(); 00023 00024 // Destructor 00025 ~TauolaInterface(); 00026 00027 // enable/disable polarization effects in tauola 00028 void enablePolarizationEffects() { keypol_ = 1; } 00029 void disablePolarizationEffects() { keypol_ = 0; } 00030 00031 // initialization of TAUOLA package; 00032 // to be called **before** the event loop 00033 void initialize(); 00034 00035 // decay of tau leptons; 00036 // to be called **within** the event loop 00037 // (after PYTHIA has been called 00038 // to put the tau lepton in the event) 00039 void processEvent(); 00040 00041 // print information about TAUOLA package 00042 // and statistics about branching ratios 00043 void print(); 00044 00045 private: 00046 // set production vertex for tau decay products, 00047 // taking tau lifetime of c tau = 87 um into account 00048 // (per default, the production vertex of the particles produced in the tau decay 00049 // is set to the tau production vertex by TAUOLA) 00050 void setDecayVertex(int numGenParticles_beforeTAUOLA, int numGenParticles_afterTAUOLA); 00051 00052 // further decay of unstable hadrons produced in tau decay; 00053 // return value is the last index of particle resulting from tau decay 00054 // (including direct and indirect decay products) 00055 int decayUnstableHadrons(int numGenParticles_beforeTAUOLA, int numGenParticles_afterTAUOLA); 00056 00057 // flag to switch between standard TAUOLA package/and TAUOLA package customized for CMS by Serge Slabospitsky 00058 int version_; 00059 00060 // flag to enable/disable polarization effects in TAUOLA 00061 // (1 = angular distribution of decay products takes polarization of tau lepton into account 00062 // 0 = assume all tau leptons are unpolarization) 00063 int keypol_; 00064 00065 // int switch_photos_ ; 00066 00067 // maximum number of entries in PYJETS common block 00068 // (current CMS default = 4000, 00069 // but might be increased to 10000 in the future) 00070 static const int maxNumberParticles = 4000; 00071 00072 // flag to enable/disable debug output 00073 static int debug_; 00074 }; 00075 } 00076 00077 #endif 00078 00079