00001 #ifndef Pyquen_Producer_h 00002 #define Pyquen_Producer_h 00003 00013 #define PYCOMP pycomp_ 00014 00015 #include "FWCore/Framework/interface/EDProducer.h" 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 #include <map> 00018 #include <string> 00019 #include "HepMC/GenEvent.h" 00020 00021 namespace CLHEP { 00022 class HepRandomEngine; 00023 } 00024 00025 namespace edm 00026 { 00027 class PyquenProducer : public EDProducer { 00028 public: 00029 00031 PyquenProducer(const ParameterSet &); 00033 virtual ~PyquenProducer(); 00034 00035 private: 00036 void add_heavy_ion_rec(HepMC::GenEvent *evt); 00037 bool call_pygive(const std::string& iParm ); 00038 void clear(); 00039 virtual void produce(Event & e, const EventSetup& es); 00040 bool pyqpythia_init(const ParameterSet &pset); 00041 bool pyquen_init(const ParameterSet &pset); 00042 00043 HepMC::GenEvent *evt; 00044 double abeamtarget_; 00045 unsigned int angularspecselector_; 00046 00047 00048 00049 double bfixed_; 00050 int cflag_; 00051 double comenergy; 00052 bool doquench_; 00053 bool doradiativeenloss_; 00054 bool docollisionalenloss_; 00055 unsigned int nquarkflavor_; 00056 00057 double qgpt0_; 00058 00059 double qgptau0_; 00060 00061 unsigned int maxEventsToPrint_; 00062 bool pythiaHepMCVerbosity_; 00063 unsigned int pythiaPylistVerbosity_; 00064 int eventNumber_; 00065 00066 CLHEP::HepRandomEngine* fRandomEngine; 00067 }; 00068 } /*end namespace*/ 00069 00070 #endif