CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/GeneratorInterface/PyquenInterface/interface/PyquenHadronizer.h

Go to the documentation of this file.
00001 #ifndef Pyquen_Hadronizer_h
00002 #define Pyquen_Hadronizer_h
00003 
00013 #include "GeneratorInterface/Core/interface/BaseHadronizer.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "FWCore/Utilities/interface/InputTag.h"
00016 #include "GeneratorInterface/HiGenCommon/interface/BaseHiGenEvtSelector.h"
00017 #include <map>
00018 #include <string>
00019 #include "HepMC/GenEvent.h"
00020 
00021 namespace gen
00022 {
00023    class Pythia6Service;
00024 
00025   class PyquenHadronizer : public BaseHadronizer {
00026   public:
00027 
00028     PyquenHadronizer(const edm::ParameterSet &);
00029     virtual ~PyquenHadronizer();
00030 
00031     bool generatePartonsAndHadronize();
00032     bool hadronize();
00033     bool decay();
00034     bool residualDecay();
00035     bool initializeForExternalPartons();
00036     bool initializeForInternalPartons();
00037     bool declareStableParticles( const std::vector<int> );
00038     bool declareSpecialSettings( const std::vector<std::string> ) { return true; }
00039 
00040     void finalizeEvent();
00041     void statistics();
00042     const char* classname() const;
00043 
00044   private:
00045     void             add_heavy_ion_rec(HepMC::GenEvent *evt);
00046 
00047     bool             pyqpythia_init(const edm::ParameterSet &pset);
00048     bool             pyquen_init(const edm::ParameterSet &pset);
00049     const char*      nucleon();
00050     void             rotateEvtPlane(HepMC::GenEvent* evt, double angle);
00051 
00052     edm::ParameterSet pset_;
00053     double           abeamtarget_;            
00054     unsigned int     angularspecselector_;    
00055 
00056 
00057 
00058     double           bmin_;                   
00059     double           bmax_;                   
00060     double           bfixed_;                 
00061     int              cflag_;                  
00062     double           comenergy;               
00063     bool             doquench_;               
00064     bool             doradiativeenloss_;      
00065     bool             docollisionalenloss_;    
00066     bool             doIsospin_;              
00067     bool             embedding_;
00068     double           evtPlane_;
00069     std::string      filterType_;
00070     int              maxTries_;
00071     double           pfrac_;                  
00072 
00073     unsigned int     nquarkflavor_;           
00074 
00075     double           qgpt0_;                  
00076 
00077     double           qgptau0_;                
00078 
00079     unsigned int     maxEventsToPrint_;       
00080     bool             pythiaHepMCVerbosity_;   
00081     unsigned int     pythiaPylistVerbosity_;  
00082 
00083     //    CLHEP::HepRandomEngine* fRandomEngine;
00084     edm::InputTag   src_;
00085     Pythia6Service* pythia6Service_;
00086     BaseHiGenEvtSelector* selector_;
00087   };
00088 } /*end namespace*/ 
00089 
00090 #endif