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 
21 
22 #include <map>
23 #include <string>
24 #include <vector>
25 
26 #include "HepMC/GenEvent.h"
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 namespace gen {
33  class Pythia6Service;
34 
36  public:
38  ~PyquenHadronizer() 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  bool select(HepMC::GenEvent* evtTry) const override { return selector_->filter(evtTry); }
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 
63  bool pyquen_init(const edm::ParameterSet& pset);
64  const char* nucleon();
65  void rotateEvtPlane(HepMC::GenEvent* evt, double angle);
66 
68  double abeamtarget_;
69  unsigned int angularspecselector_;
70  double bmin_;
74  double bmax_;
75  double bfixed_;
76  int cflag_;
77  double comenergy;
78  bool doquench_;
81  bool doIsospin_;
83  bool embedding_;
84  double evtPlane_;
85  double pfrac_;
86 
87  unsigned int nquarkflavor_;
88  double qgpt0_;
90  double qgptau0_;
92  unsigned int maxEventsToPrint_;
94 
95  HepMC::FourVector* fVertex_;
96  std::vector<double> signalVtx_;
97 
99  unsigned int pythiaPylistVerbosity_;
100 
101  // CLHEP::HepRandomEngine* fRandomEngine;
106  };
107 } // namespace gen
108 
109 #endif
gen::PyquenHadronizer::maxEventsToPrint_
unsigned int maxEventsToPrint_
Events to print if verbosity.
Definition: PyquenHadronizer.h:93
gen::PyquenHadronizer::nucleon
const char * nucleon()
Definition: PyquenHadronizer.cc:308
gen::PyquenHadronizer::decay
bool decay()
Definition: PyquenHadronizer.cc:366
gen::PyquenHadronizer::qgptau0_
double qgptau0_
Definition: PyquenHadronizer.h:91
BaseHiGenEvtSelector.h
gen::PyquenHadronizer::declareStableParticles
bool declareStableParticles(const std::vector< int > &)
Definition: PyquenHadronizer.cc:349
gen::PyquenHadronizer::doSharedResources
std::vector< std::string > const & doSharedResources() const override
Definition: PyquenHadronizer.h:56
gen::PyquenHadronizer::classname
const char * classname() const
Definition: PyquenHadronizer.cc:374
gen::PyquenHadronizer::embedding_
bool embedding_
Definition: PyquenHadronizer.h:83
gen::PyquenHadronizer::evtPlane_
double evtPlane_
Definition: PyquenHadronizer.h:84
EDProducer.h
gen::PyquenHadronizer::filterType_
std::string filterType_
Definition: PyquenHadronizer.h:104
gen::PyquenHadronizer::pyquen_init
bool pyquen_init(const edm::ParameterSet &pset)
Definition: PyquenHadronizer.cc:277
edm::EDGetTokenT
Definition: EDGetToken.h:33
BaseHadronizer.h
BaseHiGenEvtSelector::filter
virtual bool filter(HepMC::GenEvent *)
Definition: BaseHiGenEvtSelector.h:12
gen::PyquenHadronizer::rotateEvtPlane
void rotateEvtPlane(HepMC::GenEvent *evt, double angle)
Definition: PyquenHadronizer.cc:320
gen::PyquenHadronizer::abeamtarget_
double abeamtarget_
beam/target atomic mass number
Definition: PyquenHadronizer.h:68
gen::PyquenHadronizer::finalizeEvent
void finalizeEvent()
Definition: PyquenHadronizer.cc:370
gen::PyquenHadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition: PyquenHadronizer.h:48
gen::PyquenHadronizer::qgpt0_
double qgpt0_
Definition: PyquenHadronizer.h:89
gen::PyquenHadronizer::doradiativeenloss_
bool doradiativeenloss_
DEFAULT = true.
Definition: PyquenHadronizer.h:79
gen::BaseHadronizer
Definition: BaseHadronizer.h:46
gen::PyquenHadronizer::initializeForExternalPartons
bool initializeForExternalPartons()
gen::PyquenHadronizer::docollisionalenloss_
bool docollisionalenloss_
DEFAULT = true.
Definition: PyquenHadronizer.h:80
gen::PyquenHadronizer::hadronize
bool hadronize()
Definition: PyquenHadronizer.cc:364
gen::PyquenHadronizer::pythiaPylistVerbosity_
unsigned int pythiaPylistVerbosity_
Pythia PYLIST Verbosity flag.
Definition: PyquenHadronizer.h:99
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::PyquenHadronizer::doIsospin_
bool doIsospin_
Run n&p with proper ratios; if false, only p+p collisions.
Definition: PyquenHadronizer.h:81
gen::PyquenHadronizer::cflag_
int cflag_
centrality flag =0 fixed impact param, <>0 minbias
Definition: PyquenHadronizer.h:76
MixCollection.h
gen::PyquenHadronizer::generatePartonsAndHadronize
bool generatePartonsAndHadronize()
Definition: PyquenHadronizer.cc:127
gen
Definition: PythiaDecays.h:13
EDGetToken.h
gen::PyquenHadronizer::initializeForInternalPartons
bool initializeForInternalPartons()
Definition: PyquenHadronizer.cc:257
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
gen::PyquenHadronizer::bmax_
double bmax_
max impact param (fm); valid only if cflag_!=0
Definition: PyquenHadronizer.h:74
gen::PyquenHadronizer::add_heavy_ion_rec
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Definition: PyquenHadronizer.cc:105
edm::ParameterSet
Definition: ParameterSet.h:47
gen::PyquenHadronizer::pyqpythia_init
bool pyqpythia_init(const edm::ParameterSet &pset)
Definition: PyquenHadronizer.cc:267
gen::PyquenHadronizer::doquench_
bool doquench_
if true perform quenching (default = true)
Definition: PyquenHadronizer.h:78
gen::PyquenHadronizer::src_
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > src_
Definition: PyquenHadronizer.h:102
gen::PyquenHadronizer::statistics
void statistics()
Definition: PyquenHadronizer.cc:372
gen::PyquenHadronizer::signalVtx_
std::vector< double > signalVtx_
Pset double vector to set event signal vertex.
Definition: PyquenHadronizer.h:96
BaseHiGenEvtSelector
Definition: BaseHiGenEvtSelector.h:8
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:76
gen::PyquenHadronizer::fVertex_
HepMC::FourVector * fVertex_
Event signal vertex.
Definition: PyquenHadronizer.h:95
gen::PyquenHadronizer::angularspecselector_
unsigned int angularspecselector_
Definition: PyquenHadronizer.h:69
gen::PyquenHadronizer::PyquenHadronizer
PyquenHadronizer(const edm::ParameterSet &, edm::ConsumesCollector &&)
Definition: PyquenHadronizer.cc:32
gen::PyquenHadronizer::theSharedResources
static const std::vector< std::string > theSharedResources
Definition: PyquenHadronizer.h:58
gen::PyquenHadronizer::residualDecay
bool residualDecay()
Definition: PyquenHadronizer.cc:368
gen::PyquenHadronizer::pset_
edm::ParameterSet pset_
Definition: PyquenHadronizer.h:67
InputTag.h
gen::PyquenHadronizer::bfixed_
double bfixed_
fixed impact param (fm); valid only if cflag_=0
Definition: PyquenHadronizer.h:75
gen::PyquenHadronizer::pythia6Service_
Pythia6Service * pythia6Service_
Definition: PyquenHadronizer.h:103
gen::PyquenHadronizer::nquarkflavor_
unsigned int nquarkflavor_
Definition: PyquenHadronizer.h:87
gen::PyquenHadronizer::comenergy
double comenergy
collision energy
Definition: PyquenHadronizer.h:77
gen::PyquenHadronizer::pfrac_
double pfrac_
Proton fraction in the nucleus.
Definition: PyquenHadronizer.h:85
gen::PyquenHadronizer::select
bool select(HepMC::GenEvent *evtTry) const override
Definition: PyquenHadronizer.h:49
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
gen::PyquenHadronizer::~PyquenHadronizer
~PyquenHadronizer() override
Definition: PyquenHadronizer.cc:94
gen::PyquenHadronizer
Definition: PyquenHadronizer.h:35
PileupMixingContent.h
gen::PyquenHadronizer::readSettings
bool readSettings(int)
Definition: PyquenHadronizer.cc:240
ConsumesCollector.h
gen::Pythia6Service
Definition: Pythia6Service.h:24
ParameterSet.h
gen::PyquenHadronizer::selector_
BaseHiGenEvtSelector * selector_
Definition: PyquenHadronizer.h:105
gen::PyquenHadronizer::pythiaHepMCVerbosity_
bool pythiaHepMCVerbosity_
HepMC verbosity flag.
Definition: PyquenHadronizer.h:98
gen::PyquenHadronizer::bmin_
double bmin_
min impact param (fm); valid only if cflag_!=0
Definition: PyquenHadronizer.h:73
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
gen::PyquenHadronizer::doSetRandomEngine
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
Definition: PyquenHadronizer.cc:102
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
gen::PyquenHadronizer::protonSide_
int protonSide_
Definition: PyquenHadronizer.h:82