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 ()(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 31 of file PyquenHadronizer.h.

Constructor & Destructor Documentation

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

Definition at line 38 of file PyquenHadronizer.cc.

References cflag_, embedding_, filterType_, HiGenEvtSelectorFactory::get(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), LogDebug, maxEventsToPrint_, PYQVER, pythiaHepMCVerbosity_, pythiaPylistVerbosity_, selector_, and src_.

38  :
39  BaseHadronizer(pset),
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 {
64  // Verbosity Level
65  // Valid PYLIST arguments are: 1, 2, 3, 5, 7, 11, 12, 13
66  LogDebug("PYLISTverbosity") << "Pythia PYLIST verbosity level = " << pythiaPylistVerbosity_ << endl;
67  // HepMC event verbosity Level
68  pythiaHepMCVerbosity_ = pset.getUntrackedParameter<bool>("pythiaHepMCVerbosity",false);
69  LogDebug("HepMCverbosity") << "Pythia HepMC verbosity = " << pythiaHepMCVerbosity_ << endl;
70 
71  //Max number of events printed on verbosity level
72  maxEventsToPrint_ = pset.getUntrackedParameter<int>("maxEventsToPrint",0);
73  LogDebug("Events2Print") << "Number of events to be printed = " << maxEventsToPrint_ << endl;
74 
75  if(embedding_){
76  cflag_ = 0;
77  src_ = pset.getParameter<InputTag>("backgroundLabel");
78  }
80 
81  int cm=1, va, vb, vc;
82  PYQVER(cm,va,vb,vc);
83 
84 }
#define LogDebug(id)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
unsigned int maxEventsToPrint_
BaseHadronizer(edm::ParameterSet const &ps)
bool doradiativeenloss_
if true perform quenching (default = true)
bool docollisionalenloss_
DEFAULT = true.
#define PYQVER
Definition: PyquenWrapper.h:22
double bmax_
min impact param (fm); valid only if cflag_!=0
int cflag_
fixed impact param (fm); valid only if cflag_=0
unsigned int pythiaPylistVerbosity_
HepMC verbosity flag.
bool doIsospin_
DEFAULT = true.
static BaseHiGenEvtSelector * get(std::string, const edm::ParameterSet &)
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.
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.
PyquenHadronizer::~PyquenHadronizer ( )
override

Definition at line 88 of file PyquenHadronizer.cc.

References pythia6Service_.

89 {
90  // distructor
91  call_pystat(1);
92 
93  delete pythia6Service_;
94 
95 }
Pythia6Service * pythia6Service_

Member Function Documentation

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

Definition at line 106 of file PyquenHadronizer.cc.

References evtPlane_, and plfpar.

Referenced by generatePartonsAndHadronize().

107 {
108  HepMC::HeavyIon *hi = new HepMC::HeavyIon(
109  1, // Ncoll_hard
110  -1, // Npart_proj
111  -1, // Npart_targ
112  1, // Ncoll
113  -1, // spectator_neutrons
114  -1, // spectator_protons
115  -1, // N_Nwounded_collisions
116  -1, // Nwounded_N_collisions
117  -1, // Nwounded_Nwounded_collisions
118  plfpar.bgen, // impact_parameter in [fm]
119  evtPlane_, // event_plane_angle
120  0, // eccentricity
121  -1 // sigma_inel_NN
122  );
123 
124  evt->set_heavy_ion(*hi);
125 
126  delete hi;
127 }
#define plfpar
Definition: PyquenWrapper.h:29
const char * PyquenHadronizer::classname ( ) const

Definition at line 364 of file PyquenHadronizer.cc.

365 {
366  return "gen::PyquenHadronizer";
367 }
bool PyquenHadronizer::decay ( )

Definition at line 347 of file PyquenHadronizer.cc.

348 {
349  return true;
350 }
bool gen::PyquenHadronizer::declareSpecialSettings ( const std::vector< std::string > &  )
inline

Definition at line 45 of file PyquenHadronizer.h.

45 { return true; }
bool PyquenHadronizer::declareStableParticles ( const std::vector< int > &  _pdg)

Definition at line 322 of file PyquenHadronizer.cc.

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

323 {
324  std::vector<int> pdg = _pdg;
325  for ( size_t i=0; i < pdg.size(); i++ )
326  {
327  int pyCode = pycomp_( pdg[i] );
328  std::ostringstream pyCard ;
329  pyCard << "MDCY(" << pyCode << ",1)=0";
330  std::cout << pyCard.str() << std::endl;
331  call_pygive( pyCard.str() );
332  }
333 
334  return true;
335 
336 }
bool call_pygive(const std::string &line)
int pycomp_(int &)
void PyquenHadronizer::doSetRandomEngine ( CLHEP::HepRandomEngine *  v)
overrideprivatevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 99 of file PyquenHadronizer.cc.

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

100 {
102 }
double v[5][pyjets_maxn]
Pythia6Service * pythia6Service_
void setRandomEngine(CLHEP::HepRandomEngine *v)
std::vector<std::string> const& gen::PyquenHadronizer::doSharedResources ( ) const
inlineoverrideprivatevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 54 of file PyquenHadronizer.h.

54 { return theSharedResources; }
static const std::vector< std::string > theSharedResources
void PyquenHadronizer::finalizeEvent ( )

Definition at line 357 of file PyquenHadronizer.cc.

357  {
358 
359 }
bool PyquenHadronizer::generatePartonsAndHadronize ( )

Definition at line 130 of file PyquenHadronizer.cc.

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

131 {
132  Pythia6Service::InstanceWrapper guard(pythia6Service_);
133 
134  // Not possible to retrieve impact paramter and event plane info
135  // at this part, need to overwrite filter() in
136  // PyquenGeneratorFilter
137 
138  const edm::Event& e = getEDMEvent();
139 
140  if(embedding_){
142  e.getByLabel(src_,input);
143  const HepMC::GenEvent * inev = input->GetEvent();
144  const HepMC::HeavyIon* hi = inev->heavy_ion();
145  if(hi){
146  bfixed_ = hi->impact_parameter();
147  evtPlane_ = hi->event_plane_angle();
148  }else{
149  LogWarning("EventEmbedding")<<"Background event does not have heavy ion record!";
150  }
151  }
152 
153  // Generate PYQUEN event
154  // generate single partonic PYTHIA jet event
155 
156  // Take into account whether it's a nn or pp or pn interaction
157  if(doIsospin_){
158  string projN = "p";
159  string targN = "p";
160  if(protonSide_ != 1) projN = nucleon();
161  if(protonSide_ != 2) targN = nucleon();
162  call_pyinit("CMS", projN.data(), targN.data(), comenergy);
163  }
164  call_pyevnt();
165 
166  // call PYQUEN to apply parton rescattering and energy loss
167  // if doQuench=FALSE, it is pure PYTHIA
168  if( doquench_ ){
170  edm::LogInfo("PYQUENinAction") << "##### Calling PYQUEN("<<abeamtarget_<<","<<cflag_<<","<<bfixed_<<") ####";
171  } else {
172  edm::LogInfo("PYQUENinAction") << "##### Calling PYQUEN: QUENCHING OFF!! This is just PYTHIA !!!! ####";
173  }
174 
175  // call PYTHIA to finish the hadronization
176  pyexec_();
177 
178  // fill the HEPEVT with the PYJETS event record
179  call_pyhepc(1);
180 
181  // event information
182  HepMC::GenEvent* evt = hepevtio.read_next_event();
183 
184  evt->set_signal_process_id(pypars.msti[0]); // type of the process
185  evt->set_event_scale(pypars.pari[16]); // Q^2
186 
188  add_heavy_ion_rec(evt);
189 
190  HepMC::HEPEVT_Wrapper::check_hepevt_consistency();
191  //std::cout<<"Entries number: "<<HepMC::HEPEVT_Wrapper::number_entries() <<" Max. entries "<<HepMC::HEPEVT_Wrapper::max_number_entries()<<std::endl;
192 
193  event().reset(evt);
194 
195  return true;
196 }
void rotateEvtPlane(HepMC::GenEvent *evt, double angle)
static std::string const input
Definition: EdmProvDump.cc:48
double bmax_
min impact param (fm); valid only if cflag_!=0
int cflag_
fixed impact param (fm); valid only if cflag_=0
bool doIsospin_
DEFAULT = true.
edm::InputTag src_
Pythia PYLIST Verbosity flag.
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Pythia6Service * pythia6Service_
std::unique_ptr< HepMC::GenEvent > & event()
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:480
HepMC::IO_HEPEVT hepevtio
#define pypars
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:38
bool doquench_
collision energy
double comenergy
centrality flag =0 fixed impact param, <>0 minbias
#define PYQUEN
Definition: PyquenWrapper.h:17
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.
edm::Event & getEDMEvent() const
void pyexec_()
bool PyquenHadronizer::hadronize ( )

Definition at line 342 of file PyquenHadronizer.cc.

343 {
344  return false;
345 }
bool gen::PyquenHadronizer::initializeForExternalPartons ( )
bool PyquenHadronizer::initializeForInternalPartons ( )

Definition at line 218 of file PyquenHadronizer.cc.

References comenergy, and pythia6Service_.

218  {
219 
220 
221  Pythia6Service::InstanceWrapper guard(pythia6Service_);
222 
223  // Call PYTHIA
224  call_pyinit("CMS", "p", "p", comenergy);
225 
226  return true;
227 }
Pythia6Service * pythia6Service_
double comenergy
centrality flag =0 fixed impact param, <>0 minbias
const char * PyquenHadronizer::nucleon ( )
private

Definition at line 276 of file PyquenHadronizer.cc.

References pfrac_, gen::pyr_(), and random.

Referenced by generatePartonsAndHadronize().

276  {
277  int* dummy = nullptr;
278  double random = gen::pyr_(dummy);
279  const char* nuc = nullptr;
280  if(random > pfrac_) nuc = "n";
281  else nuc = "p";
282 
283  return nuc;
284 }
double pyr_(int *idummy)
TRandom random
Definition: MVATrainer.cc:138
bool PyquenHadronizer::pyqpythia_init ( const edm::ParameterSet pset)
private

Definition at line 231 of file PyquenHadronizer.cc.

References gen::call_pygive().

Referenced by readSettings().

232 {
233 
234  //Turn Hadronization Off whether or not there is quenching
235  // PYEXEC is called later anyway
236  string sHadOff("MSTP(111)=0");
237  gen::call_pygive(sHadOff);
238 
239  return true;
240 }
bool call_pygive(const std::string &line)
bool PyquenHadronizer::pyquen_init ( const edm::ParameterSet pset)
private

Definition at line 244 of file PyquenHadronizer.cc.

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

Referenced by readSettings().

245 {
246  // PYQUEN initialization
247 
248  // angular emitted gluon spectrum selection
249  pyqpar.ianglu = angularspecselector_;
250 
251  // type of medium induced partonic energy loss
253  edm::LogInfo("PYQUENinEnLoss") << "##### PYQUEN: Radiative AND Collisional partonic energy loss ON ####";
254  pyqpar.ienglu = 0;
255  } else if ( doradiativeenloss_ ) {
256  edm::LogInfo("PYQUENinRad") << "##### PYQUEN: Only RADIATIVE partonic energy loss ON ####";
257  pyqpar.ienglu = 1;
258  } else if ( docollisionalenloss_ ) {
259  edm::LogInfo("PYQUENinColl") << "##### PYQUEN: Only COLLISIONAL partonic energy loss ON ####";
260  pyqpar.ienglu = 2;
261  } else {
262  edm::LogInfo("PYQUENinEnLoss") << "##### PYQUEN: Radiative AND Collisional partonic energy loss ON ####";
263  pyqpar.ienglu = 0;
264  }
265 
266  // number of active quark flavors in qgp
267  pyqpar.nfu = nquarkflavor_;
268  // initial temperature of QGP
269  pyqpar.T0u = qgpt0_;
270  // proper time of QGP formation
271  pyqpar.tau0u = qgptau0_;
272 
273  return true;
274 }
bool doradiativeenloss_
if true perform quenching (default = true)
bool docollisionalenloss_
DEFAULT = true.
unsigned int angularspecselector_
beam/target atomic mass number
unsigned int nquarkflavor_
Proton fraction in the nucleus.
#define pyqpar
bool PyquenHadronizer::readSettings ( int  )

Definition at line 198 of file PyquenHadronizer.cc.

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

199 {
200 
201  Pythia6Service::InstanceWrapper guard(pythia6Service_);
204 
205  //Proton to Nucleon fraction
206  pfrac_ = 1./(1.98+0.015*pow(abeamtarget_,2./3));
207 
208  //initialize pythia
210 
211  //initilize pyquen
213 
214  return true;
215 
216 }
bool pyquen_init(const edm::ParameterSet &pset)
Pythia6Service * pythia6Service_
edm::ParameterSet pset_
bool pyqpythia_init(const edm::ParameterSet &pset)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
bool PyquenHadronizer::residualDecay ( )

Definition at line 352 of file PyquenHadronizer.cc.

353 {
354  return true;
355 }
void PyquenHadronizer::rotateEvtPlane ( HepMC::GenEvent evt,
double  angle 
)
private

Definition at line 286 of file PyquenHadronizer.cc.

References funct::cos(), funct::sin(), and lumiQTWidget::t.

Referenced by generatePartonsAndHadronize().

286  {
287 
288  double sinphi0 = sin(angle);
289  double cosphi0 = cos(angle);
290 
291  for ( HepMC::GenEvent::vertex_iterator vt=evt->vertices_begin();
292  vt!=evt->vertices_end(); ++vt )
293  {
294 
295  double x0 = (*vt)->position().x();
296  double y0 = (*vt)->position().y();
297  double z = (*vt)->position().z();
298  double t = (*vt)->position().t();
299 
300  double x = x0*cosphi0-y0*sinphi0;
301  double y = y0*cosphi0+x0*sinphi0;
302 
303  (*vt)->set_position( HepMC::FourVector(x,y,z,t) ) ;
304  }
305 
306  for ( HepMC::GenEvent::particle_iterator vt=evt->particles_begin();
307  vt!=evt->particles_end(); ++vt )
308  {
309 
310  double x0 = (*vt)->momentum().x();
311  double y0 = (*vt)->momentum().y();
312  double z = (*vt)->momentum().z();
313  double t = (*vt)->momentum().t();
314 
315  double x = x0*cosphi0-y0*sinphi0;
316  double y = y0*cosphi0+x0*sinphi0;
317 
318  (*vt)->set_momentum( HepMC::FourVector(x,y,z,t) ) ;
319  }
320 }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
VertexRefVector::iterator vertex_iterator
iterator over a vector of references to Vertex objects in the same collection
Definition: VertexFwd.h:19
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
bool gen::PyquenHadronizer::select ( HepMC::GenEvent evtTry) const
inlineoverridevirtual

Reimplemented from gen::BaseHadronizer.

Definition at line 46 of file PyquenHadronizer.h.

References data-class-funcs::classname, myMessageLogger_cff::statistics, and findQualityFiles::v.

46 { return selector_->filter(evtTry); }
virtual bool filter(HepMC::GenEvent *)
BaseHiGenEvtSelector * selector_
void PyquenHadronizer::statistics ( )

Definition at line 361 of file PyquenHadronizer.cc.

361  {
362 }

Member Data Documentation

double gen::PyquenHadronizer::abeamtarget_
private

Definition at line 66 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and readSettings().

unsigned int gen::PyquenHadronizer::angularspecselector_
private

beam/target atomic mass number

Definition at line 67 of file PyquenHadronizer.h.

Referenced by pyquen_init().

double gen::PyquenHadronizer::bfixed_
private

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

Definition at line 73 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

double gen::PyquenHadronizer::bmax_
private

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

Definition at line 72 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

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 71 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

int gen::PyquenHadronizer::cflag_
private

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

Definition at line 74 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

double gen::PyquenHadronizer::comenergy
private

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

Definition at line 75 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and initializeForInternalPartons().

bool gen::PyquenHadronizer::docollisionalenloss_
private

DEFAULT = true.

Definition at line 78 of file PyquenHadronizer.h.

Referenced by pyquen_init().

bool gen::PyquenHadronizer::doIsospin_
private

DEFAULT = true.

Definition at line 79 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

bool gen::PyquenHadronizer::doquench_
private

collision energy

Definition at line 76 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

bool gen::PyquenHadronizer::doradiativeenloss_
private

if true perform quenching (default = true)

Definition at line 77 of file PyquenHadronizer.h.

Referenced by pyquen_init().

bool gen::PyquenHadronizer::embedding_
private

Definition at line 81 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

double gen::PyquenHadronizer::evtPlane_
private

Definition at line 82 of file PyquenHadronizer.h.

Referenced by add_heavy_ion_rec(), and generatePartonsAndHadronize().

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

Definition at line 98 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

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 91 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

unsigned int gen::PyquenHadronizer::nquarkflavor_
private

Proton fraction in the nucleus.

Definition at line 85 of file PyquenHadronizer.h.

Referenced by pyquen_init().

double gen::PyquenHadronizer::pfrac_
private

Definition at line 83 of file PyquenHadronizer.h.

Referenced by nucleon(), and readSettings().

int gen::PyquenHadronizer::protonSide_
private

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

Definition at line 80 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize().

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

Definition at line 65 of file PyquenHadronizer.h.

Referenced by readSettings().

Pythia6Service* gen::PyquenHadronizer::pythia6Service_
private
bool gen::PyquenHadronizer::pythiaHepMCVerbosity_
private

Events to print if verbosity.

Definition at line 92 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

unsigned int gen::PyquenHadronizer::pythiaPylistVerbosity_
private

HepMC verbosity flag.

Definition at line 93 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

double gen::PyquenHadronizer::qgpt0_
private

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

Definition at line 87 of file PyquenHadronizer.h.

Referenced by pyquen_init().

double gen::PyquenHadronizer::qgptau0_
private

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

Definition at line 89 of file PyquenHadronizer.h.

Referenced by pyquen_init().

BaseHiGenEvtSelector* gen::PyquenHadronizer::selector_
private

Definition at line 99 of file PyquenHadronizer.h.

Referenced by PyquenHadronizer().

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

Pythia PYLIST Verbosity flag.

Definition at line 96 of file PyquenHadronizer.h.

Referenced by generatePartonsAndHadronize(), and PyquenHadronizer().

const std::vector< std::string > PyquenHadronizer::theSharedResources
staticprivate