CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/GeneratorInterface/PomwigInterface/interface/PomwigHadronizer.h

Go to the documentation of this file.
00001 #ifndef gen_PomwigHadronizer_h
00002 #define gen_PomwigHadronizer_h
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
00005 
00006 #include "GeneratorInterface/Core/interface/BaseHadronizer.h"
00007 #include "GeneratorInterface/Core/interface/ParameterCollector.h"
00008 #include "GeneratorInterface/Herwig6Interface/interface/Herwig6Instance.h"
00009 
00010 #include <HepMC/IO_HERWIG.h>
00011 
00012 namespace gen
00013 {
00014   class PomwigHadronizer : public gen::BaseHadronizer, public gen::Herwig6Instance
00015   {
00016     public:
00017         PomwigHadronizer(const edm::ParameterSet &params);
00018         ~PomwigHadronizer();
00019 
00020         bool readSettings( int );
00021         bool initializeForInternalPartons();
00022         bool initializeForExternalPartons();
00023 
00024         bool declareStableParticles(const std::vector<int> &pdgIds);
00025         bool declareSpecialSettings( const std::vector<std::string> ) { return true; }
00026         void statistics();
00027 
00028         bool generatePartonsAndHadronize();
00029         bool hadronize();
00030         bool decay();
00031         bool residualDecay();
00032         void finalizeEvent();
00033 
00034         const char *classname() const { return "PomwigHadronizer"; }
00035 
00036     private:
00037         void clear();
00038         bool initializeDPDF();
00039 
00040         bool                            needClear;
00041 
00042         gen::ParameterCollector         parameters;
00043         int                             herwigVerbosity;
00044         int                             hepmcVerbosity;
00045         int                             maxEventsToPrint;
00046         bool                            printCards;
00047 
00048         double                          comEnergy; 
00049         double                          survivalProbability;
00050         int                             diffTopology;
00051         int                             h1fit;
00052 
00053         bool                            useJimmy;
00054         bool                            doMPInteraction;
00055         int                             numTrials;
00056 
00057         bool                            doPDGConvert;
00058 
00059         HepMC::IO_HERWIG                conv;
00060   };
00061 }
00062 #endif