CMS 3D CMS Logo

HydjetHadronizer.h
Go to the documentation of this file.
1 #ifndef HydjetHadronizer_h
2 #define HydjetHadronizer_h
3 
11 #define PYCOMP pycomp_
12 
15 
21 
22 #include <map>
23 #include <string>
24 #include <vector>
25 #include <cmath>
26 
27 namespace CLHEP {
28  class HepRandomEngine;
29 }
30 
31 namespace HepMC {
32  class GenEvent;
33  class GenParticle;
34  class GenVertex;
35  class FourVector;
36 } // namespace HepMC
37 
38 namespace gen {
39  class Pythia6Service;
40 
42  public:
44  ~HydjetHadronizer() override;
45 
47  bool hadronize();
48  bool decay();
49  bool residualDecay();
50  bool readSettings(int);
53  bool declareStableParticles(const std::vector<int>&);
54  bool declareSpecialSettings(const std::vector<std::string>&) { return true; }
55 
56  void finalizeEvent();
57  void statistics();
58  const char* classname() const;
59 
60  private:
61  void doSetRandomEngine(CLHEP::HepRandomEngine* v) override;
62  std::vector<std::string> const& doSharedResources() const override { return theSharedResources; }
63 
64  static const std::vector<std::string> theSharedResources;
65 
67  HepMC::GenParticle* build_hyjet(int index, int barcode);
68  HepMC::GenVertex* build_hyjet_vertex(int i, int id);
70  bool call_hyinit(double energy, double a, int ifb, double bmin, double bmax, double bfix, int nh);
71  bool hydjet_init(const edm::ParameterSet& pset);
72  inline double nuclear_radius() const;
73  void rotateEvtPlane();
74 
77  double abeamtarget_;
79  double bfixed_;
80  double bmax_;
81  double bmin_;
83  int cflag_;
85  bool embedding_;
88  double comenergy;
91  double fracsoftmult_;
92  double hadfreeztemp_;
100  unsigned int maxEventsToPrint_;
101  double maxlongy_;
102  double maxtrany_;
105  int nsub_;
108  int nhard_;
110  int nsoft_;
112  unsigned int nquarkflavor_;
113  unsigned int pythiaPylistVerbosity_;
115  double qgpt0_;
116  double qgptau0_;
118 
120  double phi0_;
121  double sinphi0_;
122  double cosphi0_;
123  bool rotate_;
124 
125  unsigned int shadowingswitch_;
126  double signn_;
128  HepMC::FourVector* fVertex_;
130  std::vector<double> signalVtx_;
131 
134  };
135 
140  double HydjetHadronizer::nuclear_radius() const { return 1.15 * pow((double)abeamtarget_, 1. / 3.); }
141 } // namespace gen
142 #endif
gen::HydjetHadronizer::get_particles
bool get_particles(HepMC::GenEvent *evt)
Definition: HydjetHadronizer.cc:322
gen::HydjetHadronizer::cflag_
int cflag_
Definition: HydjetHadronizer.h:84
mps_fire.i
i
Definition: mps_fire.py:428
gen::HydjetHadronizer::add_heavy_ion_rec
void add_heavy_ion_rec(HepMC::GenEvent *evt)
Definition: HydjetHadronizer.cc:142
EDProducer.h
ReggeGribovPartonMC_AdvancedParameters_cfi.bmin
bmin
Definition: ReggeGribovPartonMC_AdvancedParameters_cfi.py:4
gen::HydjetHadronizer::hadfreeztemp_
double hadfreeztemp_
Definition: HydjetHadronizer.h:97
gen::HydjetHadronizer::rotate_
bool rotate_
Switch to rotate event plane.
Definition: HydjetHadronizer.h:123
gen::HydjetHadronizer::evt
HepMC::GenEvent * evt
Definition: HydjetHadronizer.h:75
gen::HydjetHadronizer::bmin_
double bmin_
Definition: HydjetHadronizer.h:82
edm::EDGetTokenT
Definition: EDGetToken.h:33
gen::HydjetHadronizer::doSharedResources
std::vector< std::string > const & doSharedResources() const override
Definition: HydjetHadronizer.h:62
BaseHadronizer.h
gen::HydjetHadronizer::qgpt0_
double qgpt0_
Definition: HydjetHadronizer.h:115
gen::HydjetHadronizer::hadronize
bool hadronize()
Definition: HydjetHadronizer.cc:550
gen::HydjetHadronizer::residualDecay
bool residualDecay()
Definition: HydjetHadronizer.cc:554
GenParticle
Definition: GenParticle.py:1
gen::BaseHadronizer
Definition: BaseHadronizer.h:46
gen::HydjetHadronizer::sinphi0_
double sinphi0_
Definition: HydjetHadronizer.h:121
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
gen::HydjetHadronizer::nuclear_radius
double nuclear_radius() const
Definition: HydjetHadronizer.h:140
gen::HydjetHadronizer::nsoft_
int nsoft_
multiplicity of HYDRO-induced particles in event
Definition: HydjetHadronizer.h:111
gen::HydjetHadronizer::statistics
void statistics()
Definition: HydjetHadronizer.cc:558
gen::HydjetHadronizer::comenergy
double comenergy
collision energy
Definition: HydjetHadronizer.h:88
gen::HydjetHadronizer::hydjet_init
bool hydjet_init(const edm::ParameterSet &pset)
Definition: HydjetHadronizer.cc:428
gen::HydjetHadronizer::embedding_
bool embedding_
Switch for embedding mode.
Definition: HydjetHadronizer.h:87
gen::HydjetHadronizer::classname
const char * classname() const
Definition: HydjetHadronizer.cc:560
gen::HydjetHadronizer::decay
bool decay()
Definition: HydjetHadronizer.cc:552
MixCollection.h
gen::HydjetHadronizer::maxEventsToPrint_
unsigned int maxEventsToPrint_
Events to print if verbosity.
Definition: HydjetHadronizer.h:100
gen::HydjetHadronizer::generatePartonsAndHadronize
bool generatePartonsAndHadronize()
Definition: HydjetHadronizer.cc:204
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:168
gen::HydjetHadronizer::qgptau0_
double qgptau0_
Definition: HydjetHadronizer.h:117
gen::HydjetHadronizer::initializeForExternalPartons
bool initializeForExternalPartons()
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
gen
Definition: PythiaDecays.h:13
EDGetToken.h
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
gen::HydjetHadronizer::pythia6Service_
Pythia6Service * pythia6Service_
Definition: HydjetHadronizer.h:132
gen::HydjetHadronizer::~HydjetHadronizer
~HydjetHadronizer() override
Definition: HydjetHadronizer.cc:132
gen::HydjetHadronizer::bmax_
double bmax_
Definition: HydjetHadronizer.h:80
gen::HydjetHadronizer::call_hyinit
bool call_hyinit(double energy, double a, int ifb, double bmin, double bmax, double bfix, int nh)
Definition: HydjetHadronizer.cc:419
ReggeGribovPartonMC_AdvancedParameters_cfi.bmax
bmax
Definition: ReggeGribovPartonMC_AdvancedParameters_cfi.py:5
gen::HydjetHadronizer::pythiaPylistVerbosity_
unsigned int pythiaPylistVerbosity_
pythia verbosity; def=1
Definition: HydjetHadronizer.h:114
gen::HydjetHadronizer::signn_
double signn_
Definition: HydjetHadronizer.h:127
gen::HydjetHadronizer::cosphi0_
double cosphi0_
Definition: HydjetHadronizer.h:122
gen::HydjetHadronizer::fracsoftmult_
double fracsoftmult_
Definition: HydjetHadronizer.h:91
gen::v
double v[5][pyjets_maxn]
Definition: Cascade2Hadronizer.cc:76
gen::HydjetHadronizer::hymode_
std::string hymode_
Hydjet running mode.
Definition: HydjetHadronizer.h:99
gen::HydjetHadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition: HydjetHadronizer.h:54
gen::HydjetHadronizer::doradiativeenloss_
bool doradiativeenloss_
DEFAULT = true.
Definition: HydjetHadronizer.h:89
gen::HydjetHadronizer::signalVtx_
std::vector< double > signalVtx_
Pset double vector to set event signal vertex.
Definition: HydjetHadronizer.h:130
gen::HydjetHadronizer::build_hyjet_vertex
HepMC::GenVertex * build_hyjet_vertex(int i, int id)
Definition: HydjetHadronizer.cc:189
gen::HydjetHadronizer::maxtrany_
double maxtrany_
Definition: HydjetHadronizer.h:104
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
gen::HydjetHadronizer::declareStableParticles
bool declareStableParticles(const std::vector< int > &)
Definition: HydjetHadronizer.cc:529
gen::HydjetHadronizer::src_
edm::EDGetTokenT< CrossingFrame< edm::HepMCProduct > > src_
Definition: HydjetHadronizer.h:133
gen::HydjetHadronizer::nsub_
int nsub_
number of sub-events
Definition: HydjetHadronizer.h:107
gen::HydjetHadronizer
Definition: HydjetHadronizer.h:41
gen::HydjetHadronizer::pset_
edm::ParameterSet pset_
Definition: HydjetHadronizer.h:76
gen::HydjetHadronizer::nhard_
int nhard_
multiplicity of PYTHIA(+PYQUEN)-induced particles in event
Definition: HydjetHadronizer.h:108
gen::HydjetHadronizer::rotateEvtPlane
void rotateEvtPlane()
Definition: HydjetHadronizer.cc:542
HepMC
Definition: GenParticle.h:15
gen::HydjetHadronizer::theSharedResources
static const std::vector< std::string > theSharedResources
Definition: HydjetHadronizer.h:64
gen::HydjetHadronizer::phi0_
double phi0_
Event plane angle.
Definition: HydjetHadronizer.h:120
gen::HydjetHadronizer::maxlongy_
double maxlongy_
Definition: HydjetHadronizer.h:101
gen::HydjetHadronizer::initializeForInternalPartons
bool initializeForInternalPartons()
Definition: HydjetHadronizer.cc:509
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
PileupMixingContent.h
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
gen::HydjetHadronizer::doSetRandomEngine
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
Definition: HydjetHadronizer.cc:139
ConsumesCollector.h
gen::Pythia6Service
Definition: Pythia6Service.h:24
gen::HydjetHadronizer::nquarkflavor_
unsigned int nquarkflavor_
Definition: HydjetHadronizer.h:112
gen::HydjetHadronizer::readSettings
bool readSettings(int)
Definition: HydjetHadronizer.cc:500
ParameterSet.h
gen::HydjetHadronizer::abeamtarget_
double abeamtarget_
beam/target atomic mass number
Definition: HydjetHadronizer.h:77
gen::HydjetHadronizer::fVertex_
HepMC::FourVector * fVertex_
Event signal vertex.
Definition: HydjetHadronizer.h:129
gen::HydjetHadronizer::docollisionalenloss_
bool docollisionalenloss_
DEFAULT = true.
Definition: HydjetHadronizer.h:90
gen::HydjetHadronizer::angularspecselector_
int angularspecselector_
angular emitted gluon spectrum selection
Definition: HydjetHadronizer.h:78
gen::HydjetHadronizer::nmultiplicity_
int nmultiplicity_
Definition: HydjetHadronizer.h:109
gen::HydjetHadronizer::finalizeEvent
void finalizeEvent()
Definition: HydjetHadronizer.cc:556
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
gen::HydjetHadronizer::bfixed_
double bfixed_
fixed impact param (fm); valid only if cflag_=0
Definition: HydjetHadronizer.h:79
gen::HydjetHadronizer::shadowingswitch_
unsigned int shadowingswitch_
Definition: HydjetHadronizer.h:125
gen::HydjetHadronizer::HydjetHadronizer
HydjetHadronizer(const edm::ParameterSet &, edm::ConsumesCollector &&)
Definition: HydjetHadronizer.cc:61