![]() |
![]() |
00001 #ifndef Herwig6Producer_h 00002 #define Herwig6Producer_h 00003 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 #include "FWCore/ServiceRegistry/interface/Service.h" 00014 #include <map> 00015 #include <string> 00016 #include "HepMC/GenEvent.h" 00017 00018 class Run; 00019 namespace CLHEP { 00020 class HepRandomEngine; 00021 } 00022 00023 namespace edm 00024 { 00025 class Herwig6Producer : public EDProducer { 00026 00027 public: 00028 00029 Herwig6Producer(const ParameterSet &); 00030 virtual ~Herwig6Producer(); 00031 00032 void endRun( Run& r); 00033 00034 private: 00035 00036 virtual void produce(Event & e, const EventSetup& es); 00037 void clear(); 00038 00039 bool hwgive(const std::string& iParm ); 00040 bool setRngSeeds(int); 00041 00042 HepMC::GenEvent *evt; 00043 int herwigVerbosity_; 00044 bool herwigHepMCVerbosity_; 00045 int herwigLhapdfVerbosity_; 00046 int maxEventsToPrint_; 00047 double comenergy; 00048 std::string lhapdfSetPath_; 00049 bool useJimmy_; 00050 bool doMPInteraction_; 00051 bool printCards_; 00052 int numTrials_; 00053 00054 double extCrossSect; 00055 double intCrossSect; 00056 double extFilterEff; 00057 00058 unsigned int numberEvents_; 00059 00060 CLHEP::HepRandomEngine* fRandomEngine; 00061 00062 }; 00063 } 00064 00065 #endif