CMS 3D CMS Logo

HydjetHadronizer.h
Go to the documentation of this file.
1 #ifndef HydjetHadronizer_h
2 #define HydjetHadronizer_h
3 
12 #define PYCOMP pycomp_
13 
16 
17 #include <map>
18 #include <string>
19 #include <vector>
20 #include <cmath>
21 
22 namespace CLHEP {
23  class HepRandomEngine;
24 }
25 
26 namespace HepMC {
27  class GenEvent;
28  class GenParticle;
29  class GenVertex;
30 } // namespace HepMC
31 
32 namespace gen {
33  class Pythia6Service;
34 
36  public:
38  ~HydjetHadronizer() override;
39 
41  bool hadronize();
42  bool decay();
43  bool residualDecay();
44  bool readSettings(int);
47  bool declareStableParticles(const std::vector<int>&);
48  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
49 
50  void finalizeEvent();
51  void statistics();
52  const char* classname() const;
53 
54  private:
55  void doSetRandomEngine(CLHEP::HepRandomEngine* v) override;
56  std::vector<std::string> const& doSharedResources() const override { return theSharedResources; }
57 
58  static const std::vector<std::string> theSharedResources;
59 
61  HepMC::GenParticle* build_hyjet(int index, int barcode);
62  HepMC::GenVertex* build_hyjet_vertex(int i, int id);
64  bool call_hyinit(double energy, double a, int ifb, double bmin, double bmax, double bfix, int nh);
65  bool hydjet_init(const edm::ParameterSet& pset);
66  inline double nuclear_radius() const;
67  void rotateEvtPlane();
68 
71  double abeamtarget_; // beam/target atomic mass number
72  int angularspecselector_; // angular emitted gluon spectrum selection
73  double bfixed_; // fixed impact param (fm); valid only if cflag_=0
74  double bmax_; // max impact param;
75  // units of nucl radius
76  double bmin_; // min impact param;
77  // units of nucl radius
78  int cflag_; // centrality flag
79  // = 0 fixed impact param,
80  // <> 0 between bmin and bmax
81  bool embedding_; // Switch for embedding mode
82  double comenergy; // collision energy
85  double fracsoftmult_; // fraction of soft hydro induced hadronic multiplicity
86  // proportional to no of nucleon participants
87  // (1-fracsoftmult_)--- fraction of soft
88  // multiplicity proportional to the numebr
89  // of nucleon-nucleon binary collisions
90  // DEFAULT=1., allowed range [0.01,1]
91  double hadfreeztemp_; // hadron freez-out temperature
92  // DEFAULT=0.14MeV, allowed ranges [0.08,0.2]MeV
93  std::string hymode_; // Hydjet running mode
94  unsigned int maxEventsToPrint_; // Events to print if verbosity
95  double maxlongy_; // max longitudinal collective rapidity:
96  // controls width of eta-spectra
97  // DEFAULT=4, allowed range [0.01,7.0]
98  double maxtrany_; // max transverse collective rapidity:
99  // controls slope of low-pt spectra
100  // DEFAULT=1.5, allowed range [0.01,3.0]
101  int nsub_; // number of sub-events
102  int nhard_; // multiplicity of PYTHIA(+PYQUEN)-induced particles in event
103  int nmultiplicity_; // mean soft multiplicity in central PbPb
104  // automatically calculated for other centralitie and beams
105  int nsoft_; // multiplicity of HYDRO-induced particles in event
106  unsigned int nquarkflavor_;
107  unsigned int pythiaPylistVerbosity_; // pythia verbosity; def=1
109  double qgpt0_; // initial temperature of QGP
110  // DEFAULT = 1GeV; allowed range [0.2,2.0]GeV;
111  double qgptau0_; // proper time of QGP formation
112  // DEFAULT = 0.1 fm/c; allowed range [0.01,10.0]fm/
113 
114  double phi0_; // Event plane angle
115  double sinphi0_;
116  double cosphi0_;
117  bool rotate_; // Switch to rotate event plane
118 
119  unsigned int shadowingswitch_; // shadowing switcher
120  // 1-ON, 0-OFF
121  double signn_; // inelastic nucleon nucleon cross section [mb]
122  // DEFAULT= 58 mb
123 
126  };
127 
129  // Return the nuclear radius derived from the
130  // beam/target atomic mass number.
131 
132  return 1.15 * pow((double)abeamtarget_, 1. / 3.);
133  }
134 } // namespace gen
135 #endif
gen::HydjetHadronizer::get_particles
bool get_particles(HepMC::GenEvent *evt)
Definition: HydjetHadronizer.cc:260
gen::HydjetHadronizer::cflag_
int cflag_
Definition: HydjetHadronizer.h:78
mps_fire.i
i
Definition: mps_fire.py:355
gen::HydjetHadronizer::add_heavy_ion_rec
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Definition: HydjetHadronizer.cc:125
ReggeGribovPartonMC_AdvancedParameters_cfi.bmin
bmin
Definition: ReggeGribovPartonMC_AdvancedParameters_cfi.py:4
gen::HydjetHadronizer::hadfreeztemp_
double hadfreeztemp_
Definition: HydjetHadronizer.h:91
gen::HydjetHadronizer::rotate_
bool rotate_
Definition: HydjetHadronizer.h:117
gen::HydjetHadronizer::evt
HepMC::GenEvent * evt
Definition: HydjetHadronizer.h:69
gen::HydjetHadronizer::bmin_
double bmin_
Definition: HydjetHadronizer.h:76
gen::HydjetHadronizer::doSharedResources
std::vector< std::string > const & doSharedResources() const override
Definition: HydjetHadronizer.h:56
BaseHadronizer.h
gen::HydjetHadronizer::src_
edm::InputTag src_
Definition: HydjetHadronizer.h:125
gen::HydjetHadronizer::qgpt0_
double qgpt0_
Definition: HydjetHadronizer.h:109
gen::HydjetHadronizer::hadronize
bool hadronize()
Definition: HydjetHadronizer.cc:474
gen::HydjetHadronizer::residualDecay
bool residualDecay()
Definition: HydjetHadronizer.cc:478
gen::HydjetHadronizer::HydjetHadronizer
HydjetHadronizer(const edm::ParameterSet &)
Definition: HydjetHadronizer.cc:64
GenParticle
Definition: GenParticle.py:1
gen::BaseHadronizer
Definition: BaseHadronizer.h:46
gen::HydjetHadronizer::sinphi0_
double sinphi0_
Definition: HydjetHadronizer.h:115
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::HydjetHadronizer::nuclear_radius
double nuclear_radius() const
Definition: HydjetHadronizer.h:128
gen::HydjetHadronizer::nsoft_
int nsoft_
Definition: HydjetHadronizer.h:105
gen::HydjetHadronizer::statistics
void statistics()
Definition: HydjetHadronizer.cc:482
gen::HydjetHadronizer::comenergy
double comenergy
Definition: HydjetHadronizer.h:82
gen::HydjetHadronizer::hydjet_init
bool hydjet_init(const edm::ParameterSet &pset)
Definition: HydjetHadronizer.cc:352
gen::HydjetHadronizer::embedding_
bool embedding_
Definition: HydjetHadronizer.h:81
gen::HydjetHadronizer::classname
const char * classname() const
Definition: HydjetHadronizer.cc:484
gen::HydjetHadronizer::decay
bool decay()
Definition: HydjetHadronizer.cc:476
gen::HydjetHadronizer::maxEventsToPrint_
unsigned int maxEventsToPrint_
Definition: HydjetHadronizer.h:94
gen::HydjetHadronizer::generatePartonsAndHadronize
bool generatePartonsAndHadronize()
Definition: HydjetHadronizer.cc:189
cms::cuda::nh
uint32_t nh
Definition: HistoContainer.h:23
gen::HydjetHadronizer::build_hyjet
HepMC::GenParticle * build_hyjet(int index, int barcode)
Definition: HydjetHadronizer.cc:151
gen::HydjetHadronizer::qgptau0_
double qgptau0_
Definition: HydjetHadronizer.h:111
gen::HydjetHadronizer::initializeForExternalPartons
bool initializeForExternalPartons()
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
gen
Definition: PythiaDecays.h:13
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:36
a
double a
Definition: hdecay.h:119
gen::HydjetHadronizer::pythia6Service_
Pythia6Service * pythia6Service_
Definition: HydjetHadronizer.h:124
gen::HydjetHadronizer::~HydjetHadronizer
~HydjetHadronizer() override
Definition: HydjetHadronizer.cc:115
gen::HydjetHadronizer::bmax_
double bmax_
Definition: HydjetHadronizer.h:74
gen::HydjetHadronizer::call_hyinit
bool call_hyinit(double energy, double a, int ifb, double bmin, double bmax, double bfix, int nh)
Definition: HydjetHadronizer.cc:343
ReggeGribovPartonMC_AdvancedParameters_cfi.bmax
bmax
Definition: ReggeGribovPartonMC_AdvancedParameters_cfi.py:5
gen::HydjetHadronizer::pythiaPylistVerbosity_
unsigned int pythiaPylistVerbosity_
Definition: HydjetHadronizer.h:108
gen::HydjetHadronizer::signn_
double signn_
Definition: HydjetHadronizer.h:121
gen::HydjetHadronizer::cosphi0_
double cosphi0_
Definition: HydjetHadronizer.h:116
gen::HydjetHadronizer::fracsoftmult_
double fracsoftmult_
DEFAULT = true.
Definition: HydjetHadronizer.h:85
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:74
gen::HydjetHadronizer::hymode_
std::string hymode_
Definition: HydjetHadronizer.h:93
gen::HydjetHadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition: HydjetHadronizer.h:48
gen::HydjetHadronizer::doradiativeenloss_
bool doradiativeenloss_
Definition: HydjetHadronizer.h:83
gen::HydjetHadronizer::build_hyjet_vertex
HepMC::GenVertex * build_hyjet_vertex(int i, int id)
Definition: HydjetHadronizer.cc:173
gen::HydjetHadronizer::maxtrany_
double maxtrany_
Definition: HydjetHadronizer.h:98
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
gen::HydjetHadronizer::declareStableParticles
bool declareStableParticles(const std::vector< int > &)
Definition: HydjetHadronizer.cc:453
gen::HydjetHadronizer::nsub_
int nsub_
Definition: HydjetHadronizer.h:101
gen::HydjetHadronizer
Definition: HydjetHadronizer.h:35
gen::HydjetHadronizer::pset_
edm::ParameterSet pset_
Definition: HydjetHadronizer.h:70
gen::HydjetHadronizer::nhard_
int nhard_
Definition: HydjetHadronizer.h:102
gen::HydjetHadronizer::rotateEvtPlane
void rotateEvtPlane()
Definition: HydjetHadronizer.cc:466
HepMC
Definition: GenParticle.h:15
gen::HydjetHadronizer::theSharedResources
static const std::vector< std::string > theSharedResources
Definition: HydjetHadronizer.h:58
gen::HydjetHadronizer::phi0_
double phi0_
Definition: HydjetHadronizer.h:114
gen::HydjetHadronizer::maxlongy_
double maxlongy_
Definition: HydjetHadronizer.h:95
gen::HydjetHadronizer::initializeForInternalPartons
bool initializeForInternalPartons()
Definition: HydjetHadronizer.cc:433
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
gen::HydjetHadronizer::doSetRandomEngine
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
Definition: HydjetHadronizer.cc:122
gen::Pythia6Service
Definition: Pythia6Service.h:24
gen::HydjetHadronizer::nquarkflavor_
unsigned int nquarkflavor_
Definition: HydjetHadronizer.h:106
gen::HydjetHadronizer::readSettings
bool readSettings(int)
Definition: HydjetHadronizer.cc:424
ParameterSet.h
gen::HydjetHadronizer::abeamtarget_
double abeamtarget_
Definition: HydjetHadronizer.h:71
gen::HydjetHadronizer::docollisionalenloss_
bool docollisionalenloss_
DEFAULT = true.
Definition: HydjetHadronizer.h:84
gen::HydjetHadronizer::angularspecselector_
int angularspecselector_
Definition: HydjetHadronizer.h:72
gen::HydjetHadronizer::nmultiplicity_
int nmultiplicity_
Definition: HydjetHadronizer.h:103
gen::HydjetHadronizer::finalizeEvent
void finalizeEvent()
Definition: HydjetHadronizer.cc:480
edm::InputTag
Definition: InputTag.h:15
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
gen::HydjetHadronizer::bfixed_
double bfixed_
Definition: HydjetHadronizer.h:73
gen::HydjetHadronizer::shadowingswitch_
unsigned int shadowingswitch_
Definition: HydjetHadronizer.h:119