CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/GeneratorInterface/ExhumeInterface/interface/ExhumeHadronizer.h

Go to the documentation of this file.
00001 #ifndef gen_ExhumeHadronizer_h
00002 #define gen_ExhumeHadronizer_h
00003 
00004 #include <memory>
00005 
00006 #include <boost/shared_ptr.hpp>
00007 
00008 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
00009 
00010 #include "GeneratorInterface/Core/interface/BaseHadronizer.h"
00011 
00012 namespace lhef
00013 {
00014   class LHERunInfo;
00015   class LHEEvent;
00016 }
00017 
00018 class LHEEventProduct;
00019 
00020 namespace HepMC
00021 {
00022   class GenEvent;
00023 }
00024 
00025 namespace Exhume{
00026   class Event;
00027   class CrossSection;
00028 }
00029 
00030 namespace CLHEP
00031 {
00032   class HepRandomEngine;
00033 }
00034 
00035 namespace gen
00036 {
00037   //class Pythia6Hadronizer;
00038   class Pythia6Service;
00039 
00040   class ExhumeHadronizer : public BaseHadronizer
00041   {
00042   
00043   public:
00044      ExhumeHadronizer(edm::ParameterSet const& ps);
00045      ~ExhumeHadronizer();
00046 
00047      // bool generatePartons();
00048      bool generatePartonsAndHadronize();
00049      bool hadronize();
00050      bool decay();
00051      bool residualDecay();
00052      bool readSettings( int );
00053      bool initializeForExternalPartons();
00054      bool initializeForInternalPartons();
00055      bool declareStableParticles( const std::vector<int> );
00056      bool declareSpecialSettings( const std::vector<std::string> );
00057      
00058      void finalizeEvent();
00059 
00060      void statistics();
00061 
00062      const char* classname() const;
00063      
00064   private:
00065      Pythia6Service* pythia6Service_;
00066 
00067      CLHEP::HepRandomEngine* randomEngine_;
00068 
00069      double comEnergy_;
00070                     
00071      //edm::ParameterSet processPSet_;
00072      //edm::ParameterSet paramsPSet_;
00073      edm::ParameterSet myPSet_;
00074     
00075      bool            hepMCVerbosity_;
00076      unsigned int    maxEventsToPrint_;
00077      unsigned int    pythiaListVerbosity_;
00078      
00079      bool convertToPDG_;
00080 
00081      //Pythia6Hadronizer* pythia6Hadronizer_;
00082      Exhume::Event* exhumeEvent_;       
00083      Exhume::CrossSection* exhumeProcess_;
00084   };
00085 }
00086 
00087 #endif