CMS 3D CMS Logo

PyquenHadronizer.h
Go to the documentation of this file.
1 #ifndef Pyquen_Hadronizer_h
2 #define Pyquen_Hadronizer_h
3 
16 
17 #include <map>
18 #include <string>
19 #include <vector>
20 
21 #include "HepMC/GenEvent.h"
22 
23 namespace CLHEP {
24  class HepRandomEngine;
25 }
26 
27 namespace gen
28 {
29  class Pythia6Service;
30 
32  public:
33 
35  virtual ~PyquenHadronizer();
36 
37  bool generatePartonsAndHadronize();
38  bool hadronize();
39  bool decay();
40  bool residualDecay();
41  bool readSettings( int );
42  bool initializeForExternalPartons();
43  bool initializeForInternalPartons();
44  bool declareStableParticles( const std::vector<int>& );
45  bool declareSpecialSettings( const std::vector<std::string>& ) { return true; }
46  virtual bool select(HepMC::GenEvent* evtTry) const override { return selector_->filter(evtTry); }
47  void finalizeEvent();
48  void statistics();
49  const char* classname() const;
50 
51  private:
52 
53  virtual void doSetRandomEngine(CLHEP::HepRandomEngine* v) override;
54  virtual std::vector<std::string> const& doSharedResources() const override { return theSharedResources; }
55 
56  static const std::vector<std::string> theSharedResources;
57 
58  void add_heavy_ion_rec(HepMC::GenEvent *evt);
59 
60  bool pyqpythia_init(const edm::ParameterSet &pset);
61  bool pyquen_init(const edm::ParameterSet &pset);
62  const char* nucleon();
63  void rotateEvtPlane(HepMC::GenEvent* evt, double angle);
64 
66  double abeamtarget_;
67  unsigned int angularspecselector_;
68  double bmin_;
72  double bmax_;
73  double bfixed_;
74  int cflag_;
75  double comenergy;
76  bool doquench_;
79  bool doIsospin_;
81  bool embedding_;
82  double evtPlane_;
83  double pfrac_;
84 
85  unsigned int nquarkflavor_;
86  double qgpt0_;
88  double qgptau0_;
90  unsigned int maxEventsToPrint_;
93  unsigned int pythiaPylistVerbosity_;
94 
95  // CLHEP::HepRandomEngine* fRandomEngine;
100  };
101 } /*end namespace*/
102 
103 #endif
virtual bool select(HepMC::GenEvent *evtTry) const override
bool doradiativeenloss_
if true perform quenching (default = true)
bool docollisionalenloss_
DEFAULT = true.
virtual std::vector< std::string > const & doSharedResources() const override
double bmax_
min impact param (fm); valid only if cflag_!=0
bool declareSpecialSettings(const std::vector< std::string > &)
int cflag_
fixed impact param (fm); valid only if cflag_=0
unsigned int pythiaPylistVerbosity_
HepMC verbosity flag.
bool doIsospin_
DEFAULT = true.
unsigned int angularspecselector_
beam/target atomic mass number
edm::InputTag src_
Pythia PYLIST Verbosity flag.
Pythia6Service * pythia6Service_
edm::ParameterSet pset_
unsigned int nquarkflavor_
Proton fraction in the nucleus.
bool doquench_
collision energy
double comenergy
centrality flag =0 fixed impact param, <>0 minbias
bool pythiaHepMCVerbosity_
Events to print if verbosity.
static const std::vector< std::string > theSharedResources
BaseHiGenEvtSelector * selector_
double bfixed_
max impact param (fm); valid only if cflag_!=0
int protonSide_
Run n&p with proper ratios; if false, only p+p collisions.
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11