CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
gen::PyquenHadronizer Class Reference

#include <PyquenHadronizer.h>

Inheritance diagram for gen::PyquenHadronizer:
gen::BaseHadronizer

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 ()
 
bool initializeForExternalPartons ()
 
bool initializeForInternalPartons ()
 
 PyquenHadronizer (const edm::ParameterSet &)
 
bool readSettings (int)
 
bool residualDecay ()
 
bool select (HepMC::GenEvent *evtTry) const override
 
void statistics ()
 
 ~PyquenHadronizer () 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::EventgetEDMEvent () const
 
std::unique_ptr< HepMC::GenEventgetGenEvent ()
 
std::unique_ptr< GenEventInfoProductgetGenEventInfo ()
 
virtual std::unique_ptr< GenLumiInfoHeadergetGenLumiInfoHeader () const
 
GenRunInfoProductgetGenRunInfo ()
 
std::unique_ptr< lhef::LHEEventgetLHEEvent ()
 
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)
 
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)
 
void doSetRandomEngine (CLHEP::HepRandomEngine *v) override
 
std::vector< std::string > const & doSharedResources () const override
 
const char * nucleon ()
 
bool pyqpythia_init (const edm::ParameterSet &pset)
 
bool pyquen_init (const edm::ParameterSet &pset)
 
void rotateEvtPlane (HepMC::GenEvent *evt, double angle)
 

Private Attributes

double abeamtarget_
 
unsigned int angularspecselector_
 beam/target atomic mass number More...
 
double bfixed_
 max impact param (fm); valid only if cflag_!=0 More...
 
double bmax_
 min impact param (fm); valid only if cflag_!=0 More...
 
double bmin_
 
int cflag_
 fixed impact param (fm); valid only if cflag_=0 More...
 
double comenergy
 centrality flag =0 fixed impact param, <>0 minbias More...
 
bool docollisionalenloss_
 DEFAULT = true. More...
 
bool doIsospin_
 DEFAULT = true. More...
 
bool doquench_
 collision energy More...
 
bool doradiativeenloss_
 if true perform quenching (default = true) More...
 
bool embedding_
 
double evtPlane_
 
std::string filterType_
 
unsigned int maxEventsToPrint_
 
unsigned int nquarkflavor_
 Proton fraction in the nucleus. More...
 
double pfrac_
 
int protonSide_
 Run n&p with proper ratios; if false, only p+p collisions. More...
 
edm::ParameterSet pset_
 
Pythia6Servicepythia6Service_
 
bool pythiaHepMCVerbosity_
 Events to print if verbosity. More...
 
unsigned int pythiaPylistVerbosity_
 HepMC verbosity flag. More...
 
double qgpt0_
 
double qgptau0_
 
BaseHiGenEvtSelectorselector_
 
edm::InputTag src_
 Pythia PYLIST Verbosity flag. More...
 

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::LHEEventlheEvent ()
 
lhef::LHERunInfolheRunInfo ()
 
GenRunInfoProductrunInfo ()
 
- Protected Attributes inherited from gen::BaseHadronizer
std::string lheFile_
 
int randomIndex_
 

Detailed Description

Definition at line 30 of file PyquenHadronizer.h.

Constructor & Destructor Documentation

◆ PyquenHadronizer()

PyquenHadronizer::PyquenHadronizer ( const edm::ParameterSet pset)

Definition at line 38 of file PyquenHadronizer.cc.

40  pset_(pset),
41  abeamtarget_(pset.getParameter<double>("aBeamTarget")),
42  angularspecselector_(pset.getParameter<int>("angularSpectrumSelector")),
43  bmin_(pset.getParameter<double>("bMin")),
44  bmax_(pset.getParameter<double>("bMax")),
45  bfixed_(pset.getParameter<double>("bFixed")),
46  cflag_(pset.getParameter<int>("cFlag")),
47  comenergy(pset.getParameter<double>("comEnergy")),
48  doquench_(pset.getParameter<bool>("doQuench")),
49  doradiativeenloss_(pset.getParameter<bool>("doRadiativeEnLoss")),
50  docollisionalenloss_(pset.getParameter<bool>("doCollisionalEnLoss")),
51  doIsospin_(pset.getParameter<bool>("doIsospin")),
52  protonSide_(pset.getUntrackedParameter<int>("protonSide", 0)),
53  embedding_(pset.getParameter<bool>("embeddingMode")),
54  evtPlane_(0),
55  nquarkflavor_(pset.getParameter<int>("qgpNumQuarkFlavor")),
56  qgpt0_(pset.getParameter<double>("qgpInitialTemperature")),
57  qgptau0_(pset.getParameter<double>("qgpProperTimeFormation")),
58  maxEventsToPrint_(pset.getUntrackedParameter<int>("maxEventsToPrint", 1)),
59  pythiaHepMCVerbosity_(pset.getUntrackedParameter<bool>("pythiaHepMCVerbosity", false)),
60  pythiaPylistVerbosity_(pset.getUntrackedParameter<int>("pythiaPylistVerbosity", 0)),
62  filterType_(pset.getUntrackedParameter<string>("filterType", "None")) {
63  // Verbosity Level
64  // Valid PYLIST arguments are: 1, 2, 3, 5, 7, 11, 12, 13
65  LogDebug("PYLISTverbosity") << "Pythia PYLIST verbosity level = " << pythiaPylistVerbosity_ << endl;
66  // HepMC event verbosity Level
67  pythiaHepMCVerbosity_ = pset.getUntrackedParameter<bool>("pythiaHepMCVerbosity", false);
68  LogDebug("HepMCverbosity") << "Pythia HepMC verbosity = " << pythiaHepMCVerbosity_ << endl;
69 
70  //Max number of events printed on verbosity level
71  maxEventsToPrint_ = pset.getUntrackedParameter<int>("maxEventsToPrint", 0);
72  LogDebug("Events2Print") << "Number of events to be printed = " << maxEventsToPrint_ << endl;
73 
74  if (embedding_) {
75  cflag_ = 0;
76  src_ = pset.getParameter<InputTag>("backgroundLabel");
77  }
79 
80  int cm = 1, va, vb, vc;
81  PYQVER(cm, va, vb, vc);
82 }

References cflag_, embedding_, filterType_, HiGenEvtSelectorFactory::get(), LogDebug, maxEventsToPrint_, muonDTDigis_cfi::pset, PYQVER, pythiaHepMCVerbosity_, pythiaPylistVerbosity_, selector_, and src_.

◆ ~PyquenHadronizer()

PyquenHadronizer::~PyquenHadronizer ( )
override

Definition at line 85 of file PyquenHadronizer.cc.

85  {
86  // distructor
87  call_pystat(1);
88 
89  delete pythia6Service_;
90 }

References pythia6Service_.

Member Function Documentation

◆ add_heavy_ion_rec()

void PyquenHadronizer::add_heavy_ion_rec ( HepMC::GenEvent evt)
private

Definition at line 96 of file PyquenHadronizer.cc.

96  {
97  HepMC::HeavyIon* hi = new HepMC::HeavyIon(1, // Ncoll_hard
98  -1, // Npart_proj
99  -1, // Npart_targ
100  1, // Ncoll
101  -1, // spectator_neutrons
102  -1, // spectator_protons
103  -1, // N_Nwounded_collisions
104  -1, // Nwounded_N_collisions
105  -1, // Nwounded_Nwounded_collisions
106  plfpar.bgen, // impact_parameter in [fm]
107  evtPlane_, // event_plane_angle
108  0, // eccentricity
109  -1 // sigma_inel_NN
110  );
111 
112  evt->set_heavy_ion(*hi);
113 
114  delete hi;
115 }

References evtPlane_, and plfpar.

Referenced by generatePartonsAndHadronize().

◆ classname()

const char * PyquenHadronizer::classname ( ) const

Definition at line 323 of file PyquenHadronizer.cc.

323 { return "gen::PyquenHadronizer"; }

◆ decay()

bool PyquenHadronizer::decay ( )

Definition at line 315 of file PyquenHadronizer.cc.

315 { return true; }

◆ declareSpecialSettings()

bool gen::PyquenHadronizer::declareSpecialSettings ( const std::vector< std::string > &  )
inline

Definition at line 43 of file PyquenHadronizer.h.

43 { return true; }

◆ declareStableParticles()

bool PyquenHadronizer::declareStableParticles ( const std::vector< int > &  _pdg)

Definition at line 298 of file PyquenHadronizer.cc.

298  {
299  std::vector<int> pdg = _pdg;
300  for (size_t i = 0; i < pdg.size(); i++) {
301  int pyCode = pycomp_(pdg[i]);
302  std::ostringstream pyCard;
303  pyCard << "MDCY(" << pyCode << ",1)=0";
304  std::cout << pyCard.str() << std::endl;
305  call_pygive(pyCard.str());
306  }
307 
308  return true;
309 }

References gen::call_pygive(), gather_cfg::cout, mps_fire::i, and gen::pycomp_().

◆ doSetRandomEngine()

void PyquenHadronizer::doSetRandomEngine ( CLHEP::HepRandomEngine *  v)
overrideprivatevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 93 of file PyquenHadronizer.cc.

References pythia6Service_, gen::Pythia6Service::setRandomEngine(), and gen::v.

◆ doSharedResources()

std::vector<std::string> const& gen::PyquenHadronizer::doSharedResources ( ) const
inlineoverrideprivatevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 51 of file PyquenHadronizer.h.

51 { return theSharedResources; }

References theSharedResources.

◆ finalizeEvent()

void PyquenHadronizer::finalizeEvent ( )

Definition at line 319 of file PyquenHadronizer.cc.

319 {}

◆ generatePartonsAndHadronize()

bool PyquenHadronizer::generatePartonsAndHadronize ( )

Definition at line 118 of file PyquenHadronizer.cc.

118  {
119  Pythia6Service::InstanceWrapper guard(pythia6Service_);
120 
121  // Not possible to retrieve impact paramter and event plane info
122  // at this part, need to overwrite filter() in
123  // PyquenGeneratorFilter
124 
125  const edm::Event& e = getEDMEvent();
126 
127  if (embedding_) {
129  e.getByLabel(src_, input);
130  const HepMC::GenEvent* inev = input->GetEvent();
131  const HepMC::HeavyIon* hi = inev->heavy_ion();
132  if (hi) {
133  bfixed_ = hi->impact_parameter();
134  evtPlane_ = hi->event_plane_angle();
135  } else {
136  LogWarning("EventEmbedding") << "Background event does not have heavy ion record!";
137  }
138  }
139 
140  // Generate PYQUEN event
141  // generate single partonic PYTHIA jet event
142 
143  // Take into account whether it's a nn or pp or pn interaction
144  if (doIsospin_) {
145  string projN = "p";
146  string targN = "p";
147  if (protonSide_ != 1)
148  projN = nucleon();
149  if (protonSide_ != 2)
150  targN = nucleon();
151  call_pyinit("CMS", projN.data(), targN.data(), comenergy);
152  }
153  call_pyevnt();
154 
155  // call PYQUEN to apply parton rescattering and energy loss
156  // if doQuench=FALSE, it is pure PYTHIA
157  if (doquench_) {
159  edm::LogInfo("PYQUENinAction") << "##### Calling PYQUEN(" << abeamtarget_ << "," << cflag_ << "," << bfixed_
160  << ") ####";
161  } else {
162  edm::LogInfo("PYQUENinAction") << "##### Calling PYQUEN: QUENCHING OFF!! This is just PYTHIA !!!! ####";
163  }
164 
165  // call PYTHIA to finish the hadronization
166  pyexec_();
167 
168  // fill the HEPEVT with the PYJETS event record
169  call_pyhepc(1);
170 
171  // event information
172  HepMC::GenEvent* evt = hepevtio.read_next_event();
173 
174  evt->set_signal_process_id(pypars.msti[0]); // type of the process
175  evt->set_event_scale(pypars.pari[16]); // Q^2
176 
177  if (embedding_)
179  add_heavy_ion_rec(evt);
180 
181  HepMC::HEPEVT_Wrapper::check_hepevt_consistency();
182  //std::cout<<"Entries number: "<<HepMC::HEPEVT_Wrapper::number_entries() <<" Max. entries "<<HepMC::HEPEVT_Wrapper::max_number_entries()<<std::endl;
183 
184  event().reset(evt);
185 
186  return true;
187 }

References abeamtarget_, add_heavy_ion_rec(), bfixed_, bmax_, bmin_, cflag_, comenergy, doIsospin_, doquench_, MillePedeFileConverter_cfg::e, embedding_, gen::BaseHadronizer::event(), evtPlane_, gen::BaseHadronizer::getEDMEvent(), hepevtio, input, nucleon(), protonSide_, gen::pyexec_(), pypars, PYQUEN, pythia6Service_, rotateEvtPlane(), and src_.

◆ hadronize()

bool PyquenHadronizer::hadronize ( )

Definition at line 313 of file PyquenHadronizer.cc.

313 { return false; }

◆ initializeForExternalPartons()

bool gen::PyquenHadronizer::initializeForExternalPartons ( )

◆ initializeForInternalPartons()

bool PyquenHadronizer::initializeForInternalPartons ( )

Definition at line 206 of file PyquenHadronizer.cc.

206  {
207  Pythia6Service::InstanceWrapper guard(pythia6Service_);
208 
209  // Call PYTHIA
210  call_pyinit("CMS", "p", "p", comenergy);
211 
212  return true;
213 }

References comenergy, and pythia6Service_.

◆ nucleon()

const char * PyquenHadronizer::nucleon ( )
private

Definition at line 257 of file PyquenHadronizer.cc.

257  {
258  int* dummy = nullptr;
259  double random = gen::pyr_(dummy);
260  const char* nuc = nullptr;
261  if (random > pfrac_)
262  nuc = "n";
263  else
264  nuc = "p";
265 
266  return nuc;
267 }

References pfrac_, and gen::pyr_().

Referenced by generatePartonsAndHadronize().

◆ pyqpythia_init()

bool PyquenHadronizer::pyqpythia_init ( const edm::ParameterSet pset)
private

Definition at line 216 of file PyquenHadronizer.cc.

216  {
217  //Turn Hadronization Off whether or not there is quenching
218  // PYEXEC is called later anyway
219  string sHadOff("MSTP(111)=0");
220  gen::call_pygive(sHadOff);
221 
222  return true;
223 }

References gen::call_pygive().

Referenced by readSettings().

◆ pyquen_init()

bool PyquenHadronizer::pyquen_init ( const edm::ParameterSet pset)
private

Definition at line 226 of file PyquenHadronizer.cc.

226  {
227  // PYQUEN initialization
228 
229  // angular emitted gluon spectrum selection
230  pyqpar.ianglu = angularspecselector_;
231 
232  // type of medium induced partonic energy loss
234  edm::LogInfo("PYQUENinEnLoss") << "##### PYQUEN: Radiative AND Collisional partonic energy loss ON ####";
235  pyqpar.ienglu = 0;
236  } else if (doradiativeenloss_) {
237  edm::LogInfo("PYQUENinRad") << "##### PYQUEN: Only RADIATIVE partonic energy loss ON ####";
238  pyqpar.ienglu = 1;
239  } else if (docollisionalenloss_) {
240  edm::LogInfo("PYQUENinColl") << "##### PYQUEN: Only COLLISIONAL partonic energy loss ON ####";
241  pyqpar.ienglu = 2;
242  } else {
243  edm::LogInfo("PYQUENinEnLoss") << "##### PYQUEN: Radiative AND Collisional partonic energy loss ON ####";
244  pyqpar.ienglu = 0;
245  }
246 
247  // number of active quark flavors in qgp
248  pyqpar.nfu = nquarkflavor_;
249  // initial temperature of QGP
250  pyqpar.T0u = qgpt0_;
251  // proper time of QGP formation
252  pyqpar.tau0u = qgptau0_;
253 
254  return true;
255 }

References angularspecselector_, docollisionalenloss_, doradiativeenloss_, nquarkflavor_, pyqpar, qgpt0_, and qgptau0_.

Referenced by readSettings().

◆ readSettings()

bool PyquenHadronizer::readSettings ( int  )

Definition at line 189 of file PyquenHadronizer.cc.

189  {
190  Pythia6Service::InstanceWrapper guard(pythia6Service_);
193 
194  //Proton to Nucleon fraction
195  pfrac_ = 1. / (1.98 + 0.015 * pow(abeamtarget_, 2. / 3));
196 
197  //initialize pythia
199 
200  //initilize pyquen
202 
203  return true;
204 }

References abeamtarget_, pfrac_, funct::pow(), pset_, pyqpythia_init(), pyquen_init(), pythia6Service_, gen::Pythia6Service::setCSAParams(), and gen::Pythia6Service::setGeneralParams().

◆ residualDecay()

bool PyquenHadronizer::residualDecay ( )

Definition at line 317 of file PyquenHadronizer.cc.

317 { return true; }

◆ rotateEvtPlane()

void PyquenHadronizer::rotateEvtPlane ( HepMC::GenEvent evt,
double  angle 
)
private

Definition at line 269 of file PyquenHadronizer.cc.

269  {
270  double sinphi0 = sin(angle);
271  double cosphi0 = cos(angle);
272 
273  for (HepMC::GenEvent::vertex_iterator vt = evt->vertices_begin(); vt != evt->vertices_end(); ++vt) {
274  double x0 = (*vt)->position().x();
275  double y0 = (*vt)->position().y();
276  double z = (*vt)->position().z();
277  double t = (*vt)->position().t();
278 
279  double x = x0 * cosphi0 - y0 * sinphi0;
280  double y = y0 * cosphi0 + x0 * sinphi0;
281 
282  (*vt)->set_position(HepMC::FourVector(x, y, z, t));
283  }
284 
285  for (HepMC::GenEvent::particle_iterator vt = evt->particles_begin(); vt != evt->particles_end(); ++vt) {
286  double x0 = (*vt)->momentum().x();
287  double y0 = (*vt)->momentum().y();
288  double z = (*vt)->momentum().z();
289  double t = (*vt)->momentum().t();
290 
291  double x = x0 * cosphi0 - y0 * sinphi0;
292  double y = y0 * cosphi0 + x0 * sinphi0;
293 
294  (*vt)->set_momentum(HepMC::FourVector(x, y, z, t));
295  }
296 }

References angle(), funct::cos(), funct::sin(), and OrderedSet::t.

Referenced by generatePartonsAndHadronize().

◆ select()

bool gen::PyquenHadronizer::select ( HepMC::GenEvent evtTry) const
inlineoverridevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 44 of file PyquenHadronizer.h.

44 { return selector_->filter(evtTry); }

References BaseHiGenEvtSelector::filter(), and selector_.

◆ statistics()

void PyquenHadronizer::statistics ( )

Definition at line 321 of file PyquenHadronizer.cc.

321 {}

Member Data Documentation

◆ abeamtarget_

double gen::PyquenHadronizer::abeamtarget_
private

Definition at line 63 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and readSettings().

◆ angularspecselector_

unsigned int gen::PyquenHadronizer::angularspecselector_
private

beam/target atomic mass number

Definition at line 64 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ bfixed_

double gen::PyquenHadronizer::bfixed_
private

max impact param (fm); valid only if cflag_!=0

Definition at line 70 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ bmax_

double gen::PyquenHadronizer::bmax_
private

min impact param (fm); valid only if cflag_!=0

Definition at line 69 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ bmin_

double gen::PyquenHadronizer::bmin_
private

angular emitted gluon spectrum selection DEFAULT= 0 – small angular emitted gluon spectrum = 1 – broad angular emitted gluon spectrum = 2 – collinear angular emitted gluon spectrum

Definition at line 68 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ cflag_

int gen::PyquenHadronizer::cflag_
private

fixed impact param (fm); valid only if cflag_=0

Definition at line 71 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

◆ comenergy

double gen::PyquenHadronizer::comenergy
private

centrality flag =0 fixed impact param, <>0 minbias

Definition at line 72 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and initializeForInternalPartons().

◆ docollisionalenloss_

bool gen::PyquenHadronizer::docollisionalenloss_
private

DEFAULT = true.

Definition at line 75 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ doIsospin_

bool gen::PyquenHadronizer::doIsospin_
private

DEFAULT = true.

Definition at line 76 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ doquench_

bool gen::PyquenHadronizer::doquench_
private

collision energy

Definition at line 73 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ doradiativeenloss_

bool gen::PyquenHadronizer::doradiativeenloss_
private

if true perform quenching (default = true)

Definition at line 74 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ embedding_

bool gen::PyquenHadronizer::embedding_
private

Definition at line 78 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

◆ evtPlane_

double gen::PyquenHadronizer::evtPlane_
private

Definition at line 79 of file PyquenHadronizer.h.

Referenced by add_heavy_ion_rec(), and generatePartonsAndHadronize().

◆ filterType_

std::string gen::PyquenHadronizer::filterType_
private

Definition at line 95 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

◆ maxEventsToPrint_

unsigned int gen::PyquenHadronizer::maxEventsToPrint_
private

proper time of QGP formation DEFAULT = 0.1 fm/c; allowed range [0.01,10.0]fm/c;

Definition at line 88 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

◆ nquarkflavor_

unsigned int gen::PyquenHadronizer::nquarkflavor_
private

Proton fraction in the nucleus.

Definition at line 82 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ pfrac_

double gen::PyquenHadronizer::pfrac_
private

Definition at line 80 of file PyquenHadronizer.h.

Referenced by nucleon(), and readSettings().

◆ protonSide_

int gen::PyquenHadronizer::protonSide_
private

Run n&p with proper ratios; if false, only p+p collisions.

Definition at line 77 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

◆ pset_

edm::ParameterSet gen::PyquenHadronizer::pset_
private

Definition at line 62 of file PyquenHadronizer.h.

Referenced by readSettings().

◆ pythia6Service_

Pythia6Service* gen::PyquenHadronizer::pythia6Service_
private

◆ pythiaHepMCVerbosity_

bool gen::PyquenHadronizer::pythiaHepMCVerbosity_
private

Events to print if verbosity.

Definition at line 89 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

◆ pythiaPylistVerbosity_

unsigned int gen::PyquenHadronizer::pythiaPylistVerbosity_
private

HepMC verbosity flag.

Definition at line 90 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

◆ qgpt0_

double gen::PyquenHadronizer::qgpt0_
private

number of active quark flavors in qgp DEFAULT=0; allowed values: 0,1,2,3.

Definition at line 84 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ qgptau0_

double gen::PyquenHadronizer::qgptau0_
private

initial temperature of QGP DEFAULT = 1GeV; allowed range [0.2,2.0]GeV;

Definition at line 86 of file PyquenHadronizer.h.

Referenced by pyquen_init().

◆ selector_

BaseHiGenEvtSelector* gen::PyquenHadronizer::selector_
private

Definition at line 96 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer(), and select().

◆ src_

edm::InputTag gen::PyquenHadronizer::src_
private

Pythia PYLIST Verbosity flag.

Definition at line 93 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

◆ theSharedResources

const std::vector< std::string > PyquenHadronizer::theSharedResources
staticprivate
gen::PyquenHadronizer::maxEventsToPrint_
unsigned int maxEventsToPrint_
Definition: PyquenHadronizer.h:88
plfpar
#define plfpar
Definition: PyquenWrapper.h:27
gen::PyquenHadronizer::nucleon
const char * nucleon()
Definition: PyquenHadronizer.cc:257
gen::PyquenHadronizer::qgptau0_
double qgptau0_
Definition: PyquenHadronizer.h:86
DDAxes::y
mps_fire.i
i
Definition: mps_fire.py:355
input
static const std::string input
Definition: EdmProvDump.cc:48
gen::PyquenHadronizer::embedding_
bool embedding_
Definition: PyquenHadronizer.h:78
gen::PyquenHadronizer::evtPlane_
double evtPlane_
Definition: PyquenHadronizer.h:79
gen::pycomp_
int pycomp_(int &)
gen::PyquenHadronizer::filterType_
std::string filterType_
Definition: PyquenHadronizer.h:95
gen::PyquenHadronizer::pyquen_init
bool pyquen_init(const edm::ParameterSet &pset)
Definition: PyquenHadronizer.cc:226
gen::pyr_
double pyr_(int *idummy)
Definition: Pythia6Service.cc:60
gather_cfg.cout
cout
Definition: gather_cfg.py:144
BaseHiGenEvtSelector::filter
virtual bool filter(HepMC::GenEvent *)
Definition: BaseHiGenEvtSelector.h:12
edm::LogInfo
Definition: MessageLogger.h:254
pypars
#define pypars
Definition: ExhumeHadronizer.cc:45
gen::PyquenHadronizer::rotateEvtPlane
void rotateEvtPlane(HepMC::GenEvent *evt, double angle)
Definition: PyquenHadronizer.cc:269
gen::FortranInstance::kFortranInstance
static const std::string kFortranInstance
Definition: FortranInstance.h:88
gen::PyquenHadronizer::abeamtarget_
double abeamtarget_
Definition: PyquenHadronizer.h:63
gen::PyquenHadronizer::qgpt0_
double qgpt0_
Definition: PyquenHadronizer.h:84
DDAxes::x
gen::Pythia6Service::setRandomEngine
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: Pythia6Service.h:46
gen::PyquenHadronizer::doradiativeenloss_
bool doradiativeenloss_
if true perform quenching (default = true)
Definition: PyquenHadronizer.h:74
edm::Handle
Definition: AssociativeIterator.h:50
PYQVER
#define PYQVER
Definition: PyquenWrapper.h:22
gen::PyquenHadronizer::docollisionalenloss_
bool docollisionalenloss_
DEFAULT = true.
Definition: PyquenHadronizer.h:75
gen::Pythia6Service::setGeneralParams
void setGeneralParams()
Definition: Pythia6Service.cc:157
gen::PyquenHadronizer::pythiaPylistVerbosity_
unsigned int pythiaPylistVerbosity_
HepMC verbosity flag.
Definition: PyquenHadronizer.h:90
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::pyexec_
void pyexec_()
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
HiGenEvtSelectorFactory::get
static BaseHiGenEvtSelector * get(std::string, const edm::ParameterSet &)
Definition: HiGenEvtSelectorFactory.cc:9
gen::PyquenHadronizer::doIsospin_
bool doIsospin_
DEFAULT = true.
Definition: PyquenHadronizer.h:76
gen::PyquenHadronizer::cflag_
int cflag_
fixed impact param (fm); valid only if cflag_=0
Definition: PyquenHadronizer.h:71
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
gen::Pythia6Service::setCSAParams
void setCSAParams()
Definition: Pythia6Service.cc:168
DDAxes::z
gen::BaseHadronizer::getEDMEvent
edm::Event & getEDMEvent() const
Definition: BaseHadronizer.h:69
OrderedSet.t
t
Definition: OrderedSet.py:90
edm::LogWarning
Definition: MessageLogger.h:141
gen::PyquenHadronizer::bmax_
double bmax_
min impact param (fm); valid only if cflag_!=0
Definition: PyquenHadronizer.h:69
gen::PyquenHadronizer::add_heavy_ion_rec
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Definition: PyquenHadronizer.cc:96
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
gen::PyquenHadronizer::pyqpythia_init
bool pyqpythia_init(const edm::ParameterSet &pset)
Definition: PyquenHadronizer.cc:216
gen::PyquenHadronizer::doquench_
bool doquench_
collision energy
Definition: PyquenHadronizer.h:73
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:74
gen::PyquenHadronizer::angularspecselector_
unsigned int angularspecselector_
beam/target atomic mass number
Definition: PyquenHadronizer.h:64
gen::PyquenHadronizer::theSharedResources
static const std::vector< std::string > theSharedResources
Definition: PyquenHadronizer.h:53
gen::PyquenHadronizer::src_
edm::InputTag src_
Pythia PYLIST Verbosity flag.
Definition: PyquenHadronizer.h:93
gen::PyquenHadronizer::pset_
edm::ParameterSet pset_
Definition: PyquenHadronizer.h:62
gen::PyquenHadronizer::bfixed_
double bfixed_
max impact param (fm); valid only if cflag_!=0
Definition: PyquenHadronizer.h:70
gen::PyquenHadronizer::pythia6Service_
Pythia6Service * pythia6Service_
Definition: PyquenHadronizer.h:94
hi
Definition: HiEvtPlaneList.h:38
gen::PyquenHadronizer::nquarkflavor_
unsigned int nquarkflavor_
Proton fraction in the nucleus.
Definition: PyquenHadronizer.h:82
gen::BaseHadronizer::event
std::unique_ptr< HepMC::GenEvent > & event()
Definition: BaseHadronizer.h:86
gen::PyquenHadronizer::comenergy
double comenergy
centrality flag =0 fixed impact param, <>0 minbias
Definition: PyquenHadronizer.h:72
gen::PyquenHadronizer::pfrac_
double pfrac_
Definition: PyquenHadronizer.h:80
gen::BaseHadronizer::BaseHadronizer
BaseHadronizer(edm::ParameterSet const &ps)
Definition: BaseHadronizer.cc:12
edm::SharedResourceNames::kPythia6
static const std::string kPythia6
Definition: SharedResourceNames.h:26
PYQUEN
#define PYQUEN
Definition: PyquenWrapper.h:17
pyqpar
#define pyqpar
Definition: HydjetWrapper.h:112
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
pdg
Definition: pdg_functions.h:28
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
gen::Pythia6Service
Definition: Pythia6Service.h:24
gen::PyquenHadronizer::selector_
BaseHiGenEvtSelector * selector_
Definition: PyquenHadronizer.h:96
dummy
Definition: DummySelector.h:38
gen::PyquenHadronizer::pythiaHepMCVerbosity_
bool pythiaHepMCVerbosity_
Events to print if verbosity.
Definition: PyquenHadronizer.h:89
gen::PyquenHadronizer::bmin_
double bmin_
Definition: PyquenHadronizer.h:68
edm::Event
Definition: Event.h:73
hepevtio
HepMC::IO_HEPEVT hepevtio
Definition: PyquenHadronizer.cc:33
gen::call_pygive
bool call_pygive(const std::string &line)
Definition: ExhumeHadronizer.cc:64
edm::InputTag
Definition: InputTag.h:15
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
gen::PyquenHadronizer::protonSide_
int protonSide_
Run n&p with proper ratios; if false, only p+p collisions.
Definition: PyquenHadronizer.h:77
reco::vertex_iterator
VertexRefVector::iterator vertex_iterator
iterator over a vector of references to Vertex objects in the same collection
Definition: VertexFwd.h:19