CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/GeneratorInterface/ExhumeInterface/plugins/ExhumeProducer.h

Go to the documentation of this file.
00001 #ifndef Exhume_Producer_h
00002 #define Exhume_Producer_h
00003 
00011 #include "FWCore/Framework/interface/EDProducer.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 #include "HepMC/GenEvent.h"
00014 
00015 class Run;
00016 namespace CLHEP {
00017 class HepRandomEngine;
00018 class RandFlat;
00019 }
00020 
00021 namespace Exhume {
00022 class Event;
00023 class CrossSection;
00024 }
00025 
00026 namespace edm
00027 {
00028   class ExhumeProducer : public EDProducer {
00029 
00030   public:
00031 
00033     ExhumeProducer(const ParameterSet &);
00035     virtual ~ExhumeProducer();
00036 
00037     void endRun( Run& r);       
00038 
00039   private:
00040 
00042     //bool call_pygive(const std::string& iParm );
00043     //bool call_txgive(const std::string& iParm );
00044     //bool call_txgive_init();
00045   
00046   private:
00047     
00048     virtual void produce(edm::Event & e, const EventSetup& es);
00049     void clear();
00050     
00051     HepMC::GenEvent  *evt;
00052     
00054     unsigned int pythiaPylistVerbosity_;
00056     bool pythiaHepMCVerbosity_;
00058     unsigned int maxEventsToPrint_;    
00059     
00060     double comEnergy_;
00061         
00062     // external cross section and filter efficiency
00063     double extCrossSect_;
00064     double extFilterEff_;
00065         
00066     CLHEP::HepRandomEngine* fRandomEngine;
00067     CLHEP::RandFlat*        fRandomGenerator;
00068 
00069     Exhume::Event* exhumeEvent_;        
00070     Exhume::CrossSection* exhumeProcess_;
00071 
00072     int sigID_;         
00073 
00074 // Added by JMM
00075     unsigned int eventNumber_;
00076 // End of JMM insertion
00077   };
00078 } 
00079 
00080 #endif