00001 #ifndef gen_ExternalDecays_TauolaInterface_h 00002 #define gen_ExternalDecays_TauolaInterface_h 00003 00004 // #include "HepPDT/defs.h" 00005 // #include "HepPDT/TableBuilder.hh" 00006 #include "HepPDT/ParticleDataTable.hh" 00007 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "FWCore/Framework/interface/ESHandle.h" 00010 #include "FWCore/Framework/interface/EventSetup.h" 00011 00012 namespace HepMC 00013 { 00014 class GenEvent; 00015 } 00016 00017 namespace gen { 00018 00019 //class Pythia6Service; 00020 00021 class TauolaInterface 00022 { 00023 public: 00024 00025 // ctor & dtor 00026 TauolaInterface( const edm::ParameterSet& ); 00027 ~TauolaInterface(); 00028 00029 void enablePolarization() { fPolarization = 1; return; } 00030 void disablePolarization() { fPolarization = 0; return; } 00031 void init( const edm::EventSetup& ); 00032 const std::vector<int>& operatesOnParticles() { return fPDGs; } 00033 HepMC::GenEvent* decay( HepMC::GenEvent* ); 00034 void statistics() ; 00035 00036 private: 00037 00038 // 00039 std::vector<int> fPDGs; 00040 int fPolarization; 00041 00042 edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ; 00043 Pythia6Service* fPy6Service; 00044 bool fIsInitialized; 00045 //CLHEP::HepRandomEngine* fRandomEngine; 00046 //CLHEP::RandFlat* fRandomGenerator; 00047 00048 }; 00049 00050 /* this is the code for new Tauola++ 00051 00052 class TauolaInterface 00053 { 00054 public: 00055 00056 // ctor & dtor 00057 TauolaInterface( const edm::ParameterSet& ); 00058 ~TauolaInterface(); 00059 00060 void enablePolarization() { fPolarization = true; return; } 00061 void disablePolarization() { fPolarization = false; return; } 00062 void init( const edm::EventSetup& ); 00063 const std::vector<int>& operatesOnParticles() { return fPDGs; } 00064 HepMC::GenEvent* decay( HepMC::GenEvent* ); 00065 void statistics() ; 00066 00067 private: 00068 00069 // 00070 std::vector<int> fPDGs; 00071 bool fPolarization; 00072 edm::ESHandle<HepPDT::ParticleDataTable> fPDGTable ; 00073 bool fIsInitialized; 00074 00075 }; 00076 00077 */ 00078 00079 } 00080 00081 #endif