#include <HydjetHadronizer.h>
Public Member Functions | |
const char * | classname () const |
bool | decay () |
bool | declareSpecialSettings (const std::vector< std::string > &) |
bool | declareStableParticles (const std::vector< int > &) |
void | finalizeEvent () |
bool | generatePartonsAndHadronize () |
bool | hadronize () |
HydjetHadronizer (const edm::ParameterSet &, edm::ConsumesCollector &&) | |
bool | initializeForExternalPartons () |
bool | initializeForInternalPartons () |
bool | readSettings (int) |
bool | residualDecay () |
void | statistics () |
~HydjetHadronizer () override | |
Public Member Functions inherited from gen::BaseHadronizer | |
BaseHadronizer (edm::ParameterSet const &ps) | |
void | cleanLHE () |
void | generateLHE (edm::LuminosityBlock const &lumi, CLHEP::HepRandomEngine *rengine, unsigned int ncpu) |
edm::Event & | getEDMEvent () const |
std::unique_ptr< HepMC::GenEvent > | getGenEvent () |
std::unique_ptr< GenEventInfoProduct > | getGenEventInfo () |
virtual std::unique_ptr< GenLumiInfoHeader > | getGenLumiInfoHeader () const |
GenRunInfoProduct & | getGenRunInfo () |
std::unique_ptr< lhef::LHEEvent > | getLHEEvent () |
const std::shared_ptr< lhef::LHERunInfo > & | getLHERunInfo () const |
const std::string & | gridpackPath () const |
int | randomIndex () const |
const std::string & | randomInitConfigDescription () const |
void | randomizeIndex (edm::LuminosityBlock const &lumi, CLHEP::HepRandomEngine *rengine) |
void | resetEvent (std::unique_ptr< HepMC::GenEvent > event) |
void | resetEventInfo (std::unique_ptr< GenEventInfoProduct > eventInfo) |
virtual bool | select (HepMC::GenEvent *) const |
void | setEDMEvent (edm::Event &event) |
void | setLHEEvent (std::unique_ptr< lhef::LHEEvent > event) |
void | setLHERunInfo (std::unique_ptr< lhef::LHERunInfo > runInfo) |
void | setRandomEngine (CLHEP::HepRandomEngine *v) |
std::vector< std::string > const & | sharedResources () const |
virtual | ~BaseHadronizer () noexcept(false) |
Private Member Functions | |
void | add_heavy_ion_rec (HepMC::GenEvent *evt) |
HepMC::GenParticle * | build_hyjet (int index, int barcode) |
HepMC::GenVertex * | build_hyjet_vertex (int i, int id) |
bool | call_hyinit (double energy, double a, int ifb, double bmin, double bmax, double bfix, int nh) |
void | doSetRandomEngine (CLHEP::HepRandomEngine *v) override |
std::vector< std::string > const & | doSharedResources () const override |
bool | get_particles (HepMC::GenEvent *evt) |
bool | hydjet_init (const edm::ParameterSet &pset) |
double | nuclear_radius () const |
void | rotateEvtPlane () |
Private Attributes | |
double | abeamtarget_ |
beam/target atomic mass number More... | |
int | angularspecselector_ |
angular emitted gluon spectrum selection More... | |
double | bfixed_ |
fixed impact param (fm); valid only if cflag_=0 More... | |
double | bmax_ |
double | bmin_ |
int | cflag_ |
double | comenergy |
collision energy More... | |
double | cosphi0_ |
bool | docollisionalenloss_ |
DEFAULT = true. More... | |
bool | doradiativeenloss_ |
DEFAULT = true. More... | |
bool | embedding_ |
Switch for embedding mode. More... | |
HepMC::GenEvent * | evt |
double | fracsoftmult_ |
HepMC::FourVector * | fVertex_ |
Event signal vertex. More... | |
double | hadfreeztemp_ |
std::string | hymode_ |
Hydjet running mode. More... | |
unsigned int | maxEventsToPrint_ |
Events to print if verbosity. More... | |
double | maxlongy_ |
double | maxtrany_ |
int | nhard_ |
multiplicity of PYTHIA(+PYQUEN)-induced particles in event More... | |
int | nmultiplicity_ |
unsigned int | nquarkflavor_ |
int | nsoft_ |
multiplicity of HYDRO-induced particles in event More... | |
int | nsub_ |
number of sub-events More... | |
double | phi0_ |
Event plane angle. More... | |
edm::ParameterSet | pset_ |
Pythia6Service * | pythia6Service_ |
unsigned int | pythiaPylistVerbosity_ |
pythia verbosity; def=1 More... | |
double | qgpt0_ |
double | qgptau0_ |
bool | rotate_ |
Switch to rotate event plane. More... | |
unsigned int | shadowingswitch_ |
std::vector< double > | signalVtx_ |
Pset double vector to set event signal vertex. More... | |
double | signn_ |
double | sinphi0_ |
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > | src_ |
Static Private Attributes | |
static const std::vector< std::string > | theSharedResources |
Additional Inherited Members | |
Protected Member Functions inherited from gen::BaseHadronizer | |
std::unique_ptr< HepMC::GenEvent > & | event () |
std::unique_ptr< GenEventInfoProduct > & | eventInfo () |
lhef::LHEEvent * | lheEvent () |
lhef::LHERunInfo * | lheRunInfo () |
GenRunInfoProduct & | runInfo () |
Protected Attributes inherited from gen::BaseHadronizer | |
std::string | lheFile_ |
int | randomIndex_ |
Definition at line 41 of file HydjetHadronizer.h.
HydjetHadronizer::HydjetHadronizer | ( | const edm::ParameterSet & | pset, |
edm::ConsumesCollector && | iC | ||
) |
Definition at line 59 of file HydjetHadronizer.cc.
References cflag_, embedding_, fVertex_, HYJVER, HLT_FULL_cff::InputTag, LogDebug, maxEventsToPrint_, muonDTDigis_cfi::pset, pythiaPylistVerbosity_, signalVtx_, and src_.
|
override |
Definition at line 130 of file HydjetHadronizer.cc.
References pythia6Service_.
|
private |
Definition at line 140 of file HydjetHadronizer.cc.
References evt, hyfpar, hyjpar, npart, nsub_, nuclear_radius(), and phi0_.
Referenced by generatePartonsAndHadronize().
|
private |
Definition at line 166 of file HydjetHadronizer.cc.
References cosphi0_, GenParticle::GenParticle, hyjets, gen::p, and sinphi0_.
Referenced by get_particles().
|
private |
Definition at line 187 of file HydjetHadronizer.cc.
References cosphi0_, hyjets, mps_fire::i, sinphi0_, submitPVValidationJobs::t, and bphysicsOniaDQM_cfi::vertex.
Referenced by get_particles().
|
private |
Definition at line 417 of file HydjetHadronizer.cc.
References a, ReggeGribovPartonMC_AdvancedParameters_cfi::bmax, ReggeGribovPartonMC_AdvancedParameters_cfi::bmin, HCALHighEnergyHPDFilter_cfi::energy, HYINIT, and cms::cuda::nh.
Referenced by initializeForInternalPartons().
const char * HydjetHadronizer::classname | ( | ) | const |
Definition at line 558 of file HydjetHadronizer.cc.
bool HydjetHadronizer::decay | ( | ) |
Definition at line 550 of file HydjetHadronizer.cc.
|
inline |
Definition at line 54 of file HydjetHadronizer.h.
bool HydjetHadronizer::declareStableParticles | ( | const std::vector< int > & | _pdg | ) |
Definition at line 527 of file HydjetHadronizer.cc.
References gen::call_pygive(), gather_cfg::cout, mps_fire::i, and gen::pycomp_().
|
overrideprivatevirtual |
Reimplemented from gen::BaseHadronizer.
Definition at line 137 of file HydjetHadronizer.cc.
References pythia6Service_, gen::Pythia6Service::setRandomEngine(), and gen::v.
|
inlineoverrideprivatevirtual |
Reimplemented from gen::BaseHadronizer.
Definition at line 62 of file HydjetHadronizer.h.
References theSharedResources.
void HydjetHadronizer::finalizeEvent | ( | ) |
Definition at line 554 of file HydjetHadronizer.cc.
bool HydjetHadronizer::generatePartonsAndHadronize | ( | ) |
Definition at line 202 of file HydjetHadronizer.cc.
References add_heavy_ion_rec(), bfixed_, funct::cos(), cosphi0_, MillePedeFileConverter_cfg::e, embedding_, gen::BaseHadronizer::event(), edm::errors::EventCorruption, evt, Exception, fVertex_, get_particles(), gen::BaseHadronizer::getEDMEvent(), edm::HepMCProduct::GetEvent(), HYEVNT, hyflow, hyfpar, hyjpar, edm::HepMCProduct::isVtxGenApplied(), LogDebug, GeneratorMix_cff::mix, nhard_, nsoft_, nsub_, nuclear_radius(), phi0_, edm::Handle< T >::product(), pypars, pyqpar, pythia6Service_, rotate_, rotateEvtPlane(), funct::sin(), sinphi0_, and src_.
|
private |
Definition at line 320 of file HydjetHadronizer.cc.
References build_hyjet(), build_hyjet_vertex(), evt, GenParticle::GenParticle, hyjets, hyjpar, if(), LogDebug, nhard_, nsoft_, and nsub_.
Referenced by generatePartonsAndHadronize().
bool HydjetHadronizer::hadronize | ( | ) |
Definition at line 548 of file HydjetHadronizer.cc.
|
private |
Definition at line 426 of file HydjetHadronizer.cc.
References angularspecselector_, docollisionalenloss_, doradiativeenloss_, fracsoftmult_, hadfreeztemp_, hyflow, hyjpar, hymode_, maxlongy_, maxtrany_, nquarkflavor_, pyqpar, qgpt0_, qgptau0_, shadowingswitch_, and signn_.
Referenced by initializeForInternalPartons().
bool gen::HydjetHadronizer::initializeForExternalPartons | ( | ) |
bool HydjetHadronizer::initializeForInternalPartons | ( | ) |
Definition at line 507 of file HydjetHadronizer.cc.
References abeamtarget_, bfixed_, bmax_, bmin_, call_hyinit(), cflag_, comenergy, hydjet_init(), nmultiplicity_, nuclear_radius(), pset_, and pythia6Service_.
|
inlineprivate |
Return the nuclear radius derived from the beam/target atomic mass number.
Definition at line 140 of file HydjetHadronizer.h.
References abeamtarget_, and funct::pow().
Referenced by add_heavy_ion_rec(), generatePartonsAndHadronize(), and initializeForInternalPartons().
bool HydjetHadronizer::readSettings | ( | int | ) |
Definition at line 498 of file HydjetHadronizer.cc.
References pythia6Service_, and gen::Pythia6Service::setGeneralParams().
bool HydjetHadronizer::residualDecay | ( | ) |
Definition at line 552 of file HydjetHadronizer.cc.
|
private |
Definition at line 540 of file HydjetHadronizer.cc.
References funct::cos(), cosphi0_, phi0_, pi, gen::pyr_(), funct::sin(), and sinphi0_.
Referenced by generatePartonsAndHadronize().
void HydjetHadronizer::statistics | ( | ) |
Definition at line 556 of file HydjetHadronizer.cc.
|
private |
beam/target atomic mass number
Definition at line 77 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons(), and nuclear_radius().
|
private |
angular emitted gluon spectrum selection
Definition at line 78 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
fixed impact param (fm); valid only if cflag_=0
Definition at line 79 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and initializeForInternalPartons().
|
private |
max impact param; units of nucl radius
Definition at line 80 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons().
|
private |
min impact param; units of nucl radius
Definition at line 82 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons().
|
private |
centrality flag = 0 fixed impact param, <> 0 between bmin and bmax
Definition at line 84 of file HydjetHadronizer.h.
Referenced by HydjetHadronizer(), and initializeForInternalPartons().
|
private |
collision energy
Definition at line 88 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons().
|
private |
Definition at line 122 of file HydjetHadronizer.h.
Referenced by build_hyjet(), build_hyjet_vertex(), generatePartonsAndHadronize(), and rotateEvtPlane().
|
private |
|
private |
|
private |
Switch for embedding mode.
Definition at line 87 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and HydjetHadronizer().
|
private |
Definition at line 75 of file HydjetHadronizer.h.
Referenced by add_heavy_ion_rec(), generatePartonsAndHadronize(), and get_particles().
|
private |
fraction of soft hydro induced hadronic multiplicity proportional to no of nucleon participants (1-fracsoftmult_)— fraction of soft multiplicity proportional to the numebr of nucleon-nucleon binary collisions DEFAULT=1., allowed range [0.01,1]
Definition at line 91 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
Event signal vertex.
Definition at line 129 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and HydjetHadronizer().
|
private |
hadron freez-out temperature DEFAULT=0.14MeV, allowed ranges [0.08,0.2]MeV
Definition at line 97 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
|
private |
Events to print if verbosity.
Definition at line 100 of file HydjetHadronizer.h.
Referenced by HydjetHadronizer().
|
private |
max longitudinal collective rapidity: controls width of eta-spectra DEFAULT=4, allowed range [0.01,7.0]
Definition at line 101 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
max transverse collective rapidity: controls slope of low-pt spectra DEFAULT=1.5, allowed range [0.01,3.0]
Definition at line 104 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
multiplicity of PYTHIA(+PYQUEN)-induced particles in event
Definition at line 108 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and get_particles().
|
private |
mean soft multiplicity in central PbPb automatically calculated for other centralitie and beams
Definition at line 109 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons().
|
private |
number of active quark flavors in qgp DEFAULT=0; allowed values: 0,1,2,3.
Definition at line 112 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
multiplicity of HYDRO-induced particles in event
Definition at line 111 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and get_particles().
|
private |
number of sub-events
Definition at line 107 of file HydjetHadronizer.h.
Referenced by add_heavy_ion_rec(), generatePartonsAndHadronize(), and get_particles().
|
private |
Event plane angle.
Definition at line 120 of file HydjetHadronizer.h.
Referenced by add_heavy_ion_rec(), generatePartonsAndHadronize(), and rotateEvtPlane().
|
private |
Definition at line 76 of file HydjetHadronizer.h.
Referenced by initializeForInternalPartons().
|
private |
Definition at line 132 of file HydjetHadronizer.h.
Referenced by doSetRandomEngine(), generatePartonsAndHadronize(), initializeForInternalPartons(), readSettings(), and ~HydjetHadronizer().
|
private |
pythia verbosity; def=1
Definition at line 114 of file HydjetHadronizer.h.
Referenced by HydjetHadronizer().
|
private |
initial temperature of QGP DEFAULT = 1GeV; allowed range [0.2,2.0]GeV;
Definition at line 115 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
proper time of QGP formation DEFAULT = 0.1 fm/c; allowed range [0.01,10.0]fm/
Definition at line 117 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
Switch to rotate event plane.
Definition at line 123 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize().
|
private |
shadowing switcher 1-ON, 0-OFF
Definition at line 125 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
Pset double vector to set event signal vertex.
Definition at line 130 of file HydjetHadronizer.h.
Referenced by HydjetHadronizer().
|
private |
inelastic nucleon nucleon cross section [mb] DEFAULT= 58 mb
Definition at line 127 of file HydjetHadronizer.h.
Referenced by hydjet_init().
|
private |
Definition at line 121 of file HydjetHadronizer.h.
Referenced by build_hyjet(), build_hyjet_vertex(), generatePartonsAndHadronize(), and rotateEvtPlane().
|
private |
Definition at line 133 of file HydjetHadronizer.h.
Referenced by generatePartonsAndHadronize(), and HydjetHadronizer().
|
staticprivate |
Definition at line 64 of file HydjetHadronizer.h.
Referenced by doSharedResources().