CMS 3D CMS Logo

PyquenHadronizer.h
Go to the documentation of this file.
1 #ifndef Pyquen_Hadronizer_h
2 #define Pyquen_Hadronizer_h
3 
15 
20 
21 #include <map>
22 #include <string>
23 #include <vector>
24 
25 #include "HepMC/GenEvent.h"
26 
27 namespace CLHEP {
28  class HepRandomEngine;
29 }
30 
31 namespace gen {
32  class Pythia6Service;
33 
35  public:
37  ~PyquenHadronizer() override;
38 
40  bool hadronize();
41  bool decay();
42  bool residualDecay();
43  bool readSettings(int);
46  bool declareStableParticles(const std::vector<int>&);
47  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
48  bool select(HepMC::GenEvent* evtTry) const override { return selector_->filter(evtTry); }
49  void finalizeEvent();
50  void statistics();
51  const char* classname() const;
52 
53  private:
54  void doSetRandomEngine(CLHEP::HepRandomEngine* v) override;
55  std::vector<std::string> const& doSharedResources() const override { return theSharedResources; }
56 
57  static const std::vector<std::string> theSharedResources;
58 
60 
62  bool pyquen_init(const edm::ParameterSet& pset);
63  const char* nucleon();
64  void rotateEvtPlane(HepMC::GenEvent* evt, double angle);
65 
67  double abeamtarget_;
68  unsigned int angularspecselector_;
69  double bmin_;
73  double bmax_;
74  double bfixed_;
75  int cflag_;
76  double comenergy;
77  bool doquench_;
80  bool doIsospin_;
82  bool embedding_;
83  double evtPlane_;
84  double pfrac_;
85 
86  unsigned int nquarkflavor_;
87  double qgpt0_;
89  double qgptau0_;
91  unsigned int maxEventsToPrint_;
93 
94  HepMC::FourVector* fVertex_;
95  std::vector<double> signalVtx_;
96 
98  unsigned int pythiaPylistVerbosity_;
99 
100  // CLHEP::HepRandomEngine* fRandomEngine;
105  };
106 } // namespace gen
107 
108 #endif
const char * classname() const
unsigned int maxEventsToPrint_
Events to print if verbosity.
bool pyquen_init(const edm::ParameterSet &pset)
bool declareStableParticles(const std::vector< int > &)
bool doradiativeenloss_
DEFAULT = true.
bool docollisionalenloss_
DEFAULT = true.
double v[5][pyjets_maxn]
void rotateEvtPlane(HepMC::GenEvent *evt, double angle)
bool initializeForExternalPartons()
double bmax_
max impact param (fm); valid only if cflag_!=0
double abeamtarget_
beam/target atomic mass number
bool declareSpecialSettings(const std::vector< std::string > &)
int cflag_
centrality flag =0 fixed impact param, <>0 minbias
unsigned int pythiaPylistVerbosity_
Pythia PYLIST Verbosity flag.
bool doIsospin_
Run n&p with proper ratios; if false, only p+p collisions.
unsigned int angularspecselector_
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > src_
virtual bool filter(HepMC::GenEvent *)
HepMC::FourVector * fVertex_
Event signal vertex.
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Pythia6Service * pythia6Service_
PyquenHadronizer(const edm::ParameterSet &, edm::ConsumesCollector &&)
edm::ParameterSet pset_
bool pyqpythia_init(const edm::ParameterSet &pset)
unsigned int nquarkflavor_
bool doquench_
if true perform quenching (default = true)
std::vector< double > signalVtx_
Pset double vector to set event signal vertex.
double comenergy
collision energy
bool select(HepMC::GenEvent *evtTry) const override
bool pythiaHepMCVerbosity_
HepMC verbosity flag.
static const std::vector< std::string > theSharedResources
BaseHiGenEvtSelector * selector_
double bmin_
min impact param (fm); valid only if cflag_!=0
std::vector< std::string > const & doSharedResources() const override
double bfixed_
fixed impact param (fm); valid only if cflag_=0
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
double pfrac_
Proton fraction in the nucleus.
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11