Main Page
Namespaces
Classes
Package Documentation
GeneratorInterface
Hydjet2Interface
interface
Hydjet2Hadronizer.h
Go to the documentation of this file.
1
/*
2
Based on class InitalStateHydjet:
3
Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
4
amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru
5
November. 2, 2005
6
7
*/
8
9
#ifndef Hydjet2Hadronizer_h
10
#define Hydjet2Hadronizer_h
11
20
#include "
DatabasePDG.h
"
21
#include "
Particle.h
"
22
#include "
InitialState.h
"
23
24
#define PYCOMP pycomp_
25
26
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
27
#include "
GeneratorInterface/Core/interface/BaseHadronizer.h
"
28
29
#include "CLHEP/Random/RandomEngine.h"
30
#include "CLHEP/Random/RandFlat.h"
31
#include "CLHEP/Random/RandPoisson.h"
32
#include "CLHEP/Random/RandGauss.h"
33
34
#include <map>
35
#include <string>
36
#include <vector>
37
#include <cmath>
38
39
#include "
HYJET_COMMONS.h
"
40
extern
HYIPARCommon
HYIPAR
;
41
extern
HYFPARCommon
HYFPAR
;
42
extern
HYJPARCommon
HYJPAR
;
43
extern
HYPARTCommon
HYPART
;
44
extern
SERVICECommon
SERVICE
;
45
46
#define kMax 500000
47
48
namespace
CLHEP
{
49
class
HepRandomEngine;
50
class
RandFlat;
51
class
RandPoisson;
52
class
RandGauss;
53
}
// namespace CLHEP
54
55
CLHEP::HepRandomEngine*
hjRandomEngine
;
56
57
namespace
HepMC
{
58
class
GenEvent;
59
class
GenParticle
;
60
class
GenVertex;
61
}
// namespace HepMC
62
63
namespace
gen
{
64
class
Pythia6Service;
65
class
Hydjet2Hadronizer
:
public
InitialState
,
public
BaseHadronizer
{
66
public
:
67
Hydjet2Hadronizer
(
const
edm::ParameterSet
&);
68
~
Hydjet2Hadronizer
()
override
;
69
70
bool
readSettings(
int
);
71
bool
declareSpecialSettings
(
const
std::vector<std::string>&) {
return
true
; }
72
bool
initializeForInternalPartons();
73
bool
initializeForExternalPartons();
//0
74
bool
generatePartonsAndHadronize();
75
bool
declareStableParticles(
const
std::vector<int>&);
76
77
bool
hadronize();
//0
78
bool
decay
();
//0
79
bool
residualDecay();
80
void
finalizeEvent();
81
void
statistics
();
82
const
char
*
classname
()
const
;
83
84
//________________________________________
85
86
void
SetVolEff
(
double
value
) { fVolEff =
value
; }
87
double
GetVolEff
() {
return
fVolEff; }
88
bool
RunDecays
()
override
{
return
(
fDecay
> 0 ? kTRUE : kFALSE); }
89
double
GetWeakDecayLimit
()
override
{
return
fWeakDecay
; }
90
91
bool
IniOfThFreezeoutParameters();
92
93
double
f
(
double
);
94
double
f2
(
double
,
double
,
double
);
95
96
double
SimpsonIntegrator(
double
,
double
,
double
,
double
);
97
double
SimpsonIntegrator2(
double
,
double
,
double
,
double
);
98
double
MidpointIntegrator2(
double
,
double
,
double
,
double
);
99
double
CharmEnhancementFactor(
double
,
double
,
double
,
double
);
100
101
private
:
102
void
doSetRandomEngine(CLHEP::HepRandomEngine*
v
)
override
;
103
void
rotateEvtPlane();
104
bool
get_particles(
HepMC::GenEvent
* evt);
105
HepMC::GenParticle
* build_hyjet2(
int
index
,
int
barcode);
106
HepMC::GenVertex* build_hyjet2_vertex(
int
i
,
int
id
);
107
void
add_heavy_ion_rec(
HepMC::GenEvent
* evt);
108
109
std::vector<std::string>
const
&
doSharedResources
()
const override
{
return
theSharedResources; }
110
static
const
std::vector<std::string>
theSharedResources
;
111
112
inline
double
nuclear_radius()
const
;
113
114
double
fVolEff
;
// the effective volume
115
116
// the list of initial state parameters
117
118
//int fNevnt; // number of events
119
double
fSqrtS
;
// cms energy per nucleon
120
double
fAw
;
// atomic number of colliding nuclei
121
int
fIfb
;
// flag of type of centrality generation (=0 is fixed by fBfix, not 0
122
// impact parameter is generated in each event between fBfmin
123
// and fBmax according with Glauber model (f-la 30)
124
double
fBmin
;
// minimum impact parameter in units of nuclear radius RA
125
double
fBmax
;
// maximum impact parameter in units of nuclear radius RA
126
double
fBfix
;
// fix impact parameter in units of nuclear radius RA
127
128
double
fT
;
// chemical freeze-out temperature in GeV
129
double
fMuB
;
// baryon potential
130
double
fMuS
;
// strangeness potential
131
double
fMuC
;
// charm potential
132
double
fMuI3
;
// isospin potential
133
double
fThFO
;
// thermal freeze-out temperature T^th in GeV
134
double
fMu_th_pip
;
// effective chemical potential of positivly charged pions at thermal in GeV
135
136
double
fTau
;
// proper time value
137
double
fSigmaTau
;
// its standart deviation (emission duration)
138
double
fR
;
// maximal transverse radius
139
double
fYlmax
;
// maximal longitudinal rapidity
140
double
fUmax
;
// maximal transverse velocity multiplaed on \gamma_r
141
double
fDelta
;
// momentum asymmetry parameter
142
double
fEpsilon
;
// coordinate asymmetry parameter
143
int
fIfDeltaEpsilon
;
// flag to specify fDelta and fEpsilon values(=0 user's ones, >=1 parametrized)
144
145
int
fDecay
;
// flag to switch on/off hadron decays (=0 decays off, >=1 decays on), (default: 1)
146
double
fWeakDecay
;
// flag to switch on/off weak hadron decays <0: decays off, >0: decays on, (default: 0)
147
int
fPythDecay
;
// Flag to choose how to decay resonances in high-pt part, fPythDecay: 0 by PYTHIA decayer,
148
// 1 by FASTMC decayer(mstj(21)=0)
149
150
int
fEtaType
;
// flag to choose rapidity distribution, if fEtaType<=0,
151
// then uniform rapidity distribution in [-fYlmax,fYlmax] if fEtaType>0,
152
// then Gaussian with dispertion = fYlmax
153
154
int
fTMuType
;
// flag to use calculated chemical freeze-out temperature,
155
// baryon potential and strangeness potential as a function of fSqrtS
156
157
double
fCorrS
;
// flag and value to include strangeness supression factor
158
int
fCharmProd
;
// flag to include statistical charm production
159
double
fCorrC
;
// flag and value to include charmness supression factor
160
161
int
fNhsel
;
// flag to switch on/off jet and hydro-state production (0: jet
162
// production off and hydro on, 1: jet production on and jet quenching
163
// off and hydro on, 2: jet production on and jet quenching on and
164
// hydro on, 3: jet production on and jet quenching off and hydro
165
// off, 4: jet production on and jet quenching on and hydro off
166
int
fPyhist
;
// Suppress PYTHIA particle history (=1 only final state particles from hard part; =0 include full particle history)
167
int
fIshad
;
// flag to switch on/off impact parameter dependent nuclear
168
// shadowing for gluons and light sea quarks (u,d,s) (0: shadowing off,
169
// 1: shadowing on for fAw=207, 197, 110, 40, default: 1
170
171
double
fPtmin
;
// minimal transverse momentum transfer p_T of hard
172
// parton-parton scatterings in GeV (the PYTHIA parameter ckin(3)=fPtmin)
173
174
// PYQUEN energy loss model parameters:
175
176
double
fT0
;
// initial temperature (in GeV) of QGP for
177
// central Pb+Pb collisions at mid-rapidity (initial temperature for other
178
// centralities and atomic numbers will be calculated automatically) (allowed range is 0.2<fT0<2)
179
180
double
fTau0
;
// proper QGP formation time in fm/c (0.01<fTau0<10)
181
int
fNf
;
// number of active quark flavours N_f in QGP fNf=0, 1,2 or 3
182
int
fIenglu
;
// flag to fix type of in-medium partonic energy loss
183
// (0: radiative and collisional loss, 1: radiative loss only, 2:
184
// collisional loss only) (default: 0);
185
int
fIanglu
;
// flag to fix type of angular distribution of in-medium emitted
186
// gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0).
187
188
bool
embedding_
;
// Switch for embedding mode
189
bool
rotate_
;
// Switch to rotate event plane
190
HepMC::GenEvent
*
evt
;
191
int
nsub_
;
// number of sub-events
192
int
nhard_
;
// multiplicity of PYTHIA(+PYQUEN)-induced particles in event
193
int
nsoft_
;
// multiplicity of HYDRO-induced particles in event
194
double
phi0_
;
// Event plane angle
195
double
sinphi0_
;
196
double
cosphi0_
;
197
Pythia6Service
*
pythia6Service_
;
198
199
unsigned
int
pythiaPylistVerbosity_
;
// pythia verbosity; def=1
200
unsigned
int
maxEventsToPrint_
;
// Events to print if verbosity
201
202
edm::InputTag
src_
;
203
204
int
fNPartTypes
;
//counter of hadron species
205
int
fPartEnc[1000];
//Hadron encodings. Maximal number of hadron species is 1000!!!
206
double
fPartMult[2000];
//Multiplicities of hadron species
207
double
fPartMu[2000];
//Chemical potentials of hadron species
208
double
fMuTh[1000];
//Chemical potentials at thermal freezeout of hadron species
209
210
//open charm
211
double
fNocth
;
212
double
fNccth
;
213
214
edm::ParameterSet
pset
;
215
edm::Service<TFileService>
fs
;
216
217
int
ev
,
sseed
, Njet, Nbcol, Npart, Ntot, Npyt, Nhyd;
218
double
psiforv3
;
219
float
Bgen, Sigin,
Sigjet
;
220
float
Px[
kMax
];
221
float
Py[
kMax
];
222
float
Pz[
kMax
];
223
float
E[
kMax
];
224
float
X
[
kMax
];
225
float
Y
[
kMax
];
226
float
Z
[
kMax
];
227
float
T
[
kMax
];
228
int
pdg
[
kMax
];
229
int
Mpdg[
kMax
];
230
int
type
[
kMax
];
231
int
pythiaStatus[
kMax
];
232
int
Index[
kMax
];
233
int
MotherIndex[
kMax
];
234
int
NDaughters[
kMax
];
235
int
FirstDaughterIndex[
kMax
];
236
int
LastDaughterIndex[
kMax
];
237
int
final
[
kMax
];
238
239
ParticleAllocator
allocator
;
240
List_t
source
;
241
};
242
double
Hydjet2Hadronizer::nuclear_radius()
const
{
243
// Return the nuclear radius derived from the
244
// beam/target atomic mass number.
245
return
1.15 *
pow
((
double
)
fAw
, 1. / 3.);
246
}
247
}
// namespace gen
248
#endif
type
type
Definition:
HCALResponse.h:21
GenParticle.GenParticle
GenParticle
Definition:
GenParticle.py:18
BaseHadronizer.h
gen::Hydjet2Hadronizer::fBfix
double fBfix
Definition:
Hydjet2Hadronizer.h:126
gen::Hydjet2Hadronizer::SetVolEff
void SetVolEff(double value)
Definition:
Hydjet2Hadronizer.h:86
gen::Hydjet2Hadronizer::fT0
double fT0
Definition:
Hydjet2Hadronizer.h:176
gen::Hydjet2Hadronizer::fMuS
double fMuS
Definition:
Hydjet2Hadronizer.h:130
gen::Hydjet2Hadronizer::fBmax
double fBmax
Definition:
Hydjet2Hadronizer.h:125
gen::Hydjet2Hadronizer::pset
edm::ParameterSet pset
Definition:
Hydjet2Hadronizer.h:214
gen::Hydjet2Hadronizer::fNhsel
int fNhsel
Definition:
Hydjet2Hadronizer.h:161
gen::Hydjet2Hadronizer::fTau
double fTau
Definition:
Hydjet2Hadronizer.h:136
mps_fire.i
i
Definition:
mps_fire.py:341
edm::Service< TFileService >
gen::Hydjet2Hadronizer::nhard_
int nhard_
Definition:
Hydjet2Hadronizer.h:192
gen::Hydjet2Hadronizer::fTau0
double fTau0
Definition:
Hydjet2Hadronizer.h:180
gen::Hydjet2Hadronizer::fDecay
int fDecay
Definition:
Hydjet2Hadronizer.h:145
gen::Hydjet2Hadronizer::fCorrC
double fCorrC
Definition:
Hydjet2Hadronizer.h:159
gen::Hydjet2Hadronizer::allocator
ParticleAllocator allocator
Definition:
Hydjet2Hadronizer.h:239
gen::Hydjet2Hadronizer::maxEventsToPrint_
unsigned int maxEventsToPrint_
Definition:
Hydjet2Hadronizer.h:200
HYJPAR
#define HYJPAR
Definition:
HYJET_COMMONS.h:69
gen::Hydjet2Hadronizer::fEtaType
int fEtaType
Definition:
Hydjet2Hadronizer.h:150
GenParticle
Definition:
GenParticle.py:1
gen::Hydjet2Hadronizer::rotate_
bool rotate_
Definition:
Hydjet2Hadronizer.h:189
DatabasePDG.h
hydjet2DefaultParameters_cff.fAw
fAw
Definition:
hydjet2DefaultParameters_cff.py:6
gen::Hydjet2Hadronizer::nsoft_
int nsoft_
Definition:
Hydjet2Hadronizer.h:193
gen::Hydjet2Hadronizer::fMu_th_pip
double fMu_th_pip
Definition:
Hydjet2Hadronizer.h:134
HYPART
#define HYPART
Definition:
HYJET_COMMONS.h:111
pdg
Definition:
pdg_functions.h:28
gen::Hydjet2Hadronizer::pythiaPylistVerbosity_
unsigned int pythiaPylistVerbosity_
Definition:
Hydjet2Hadronizer.h:199
HYJET_COMMONS.h
gen::Hydjet2Hadronizer::GetVolEff
double GetVolEff()
Definition:
Hydjet2Hadronizer.h:87
X
#define X(str)
Definition:
MuonsGrabber.cc:38
gen::BaseHadronizer
Definition:
BaseHadronizer.h:46
ev
bool ev
Definition:
Hydjet2Hadronizer.cc:95
HYPARTCommon
Definition:
HYJET_COMMONS.h:103
gen::Hydjet2Hadronizer::embedding_
bool embedding_
Definition:
Hydjet2Hadronizer.h:188
gen::Hydjet2Hadronizer::nsub_
int nsub_
Definition:
Hydjet2Hadronizer.h:191
findQualityFiles.v
v
Definition:
findQualityFiles.py:179
gen::Hydjet2Hadronizer::Sigjet
float Sigjet
Definition:
Hydjet2Hadronizer.h:219
gen::Hydjet2Hadronizer::theSharedResources
static const std::vector< std::string > theSharedResources
Definition:
Hydjet2Hadronizer.h:110
gen::Hydjet2Hadronizer::fDelta
double fDelta
Definition:
Hydjet2Hadronizer.h:141
List_t
std::list< Particle > List_t
Definition:
Particle.h:174
HYFPAR
#define HYFPAR
Definition:
HYJET_COMMONS.h:99
HYFPARCommon
Definition:
HYJET_COMMONS.h:89
ParameterSet.h
CLHEP
Definition:
CocoaGlobals.h:27
gen::Hydjet2Hadronizer::fMuC
double fMuC
Definition:
Hydjet2Hadronizer.h:131
gen::Hydjet2Hadronizer::pythia6Service_
Pythia6Service * pythia6Service_
Definition:
Hydjet2Hadronizer.h:197
gen::Hydjet2Hadronizer::fVolEff
double fVolEff
Definition:
Hydjet2Hadronizer.h:114
ParticleAllocator
Definition:
Particle.h:177
gen::Hydjet2Hadronizer::fR
double fR
Definition:
Hydjet2Hadronizer.h:138
gen::Hydjet2Hadronizer::src_
edm::InputTag src_
Definition:
Hydjet2Hadronizer.h:202
gen::Hydjet2Hadronizer::fs
edm::Service< TFileService > fs
Definition:
Hydjet2Hadronizer.h:215
AlignmentPI::index
index
Definition:
AlignmentPayloadInspectorHelper.h:36
gen::Hydjet2Hadronizer::doSharedResources
std::vector< std::string > const & doSharedResources() const override
Definition:
Hydjet2Hadronizer.h:109
HepMC::GenEvent
Definition:
hepmc_rootio.cc:9
gen::Hydjet2Hadronizer::sinphi0_
double sinphi0_
Definition:
Hydjet2Hadronizer.h:195
gen::Hydjet2Hadronizer::fNPartTypes
int fNPartTypes
Definition:
Hydjet2Hadronizer.h:204
HYJPARCommon
Definition:
HYJET_COMMONS.h:58
gen::Hydjet2Hadronizer::fEpsilon
double fEpsilon
Definition:
Hydjet2Hadronizer.h:142
SERVICECommon
Definition:
HYJET_COMMONS.h:31
InitialState
Definition:
InitialState.h:14
gen::Hydjet2Hadronizer::fTMuType
int fTMuType
Definition:
Hydjet2Hadronizer.h:154
gen::Hydjet2Hadronizer::fThFO
double fThFO
Definition:
Hydjet2Hadronizer.h:133
gen::Hydjet2Hadronizer::psiforv3
double psiforv3
Definition:
Hydjet2Hadronizer.h:218
HYIPARCommon
Definition:
HYJET_COMMONS.h:11
f
double f[11][100]
Definition:
MuScleFitUtils.cc:78
gen::Hydjet2Hadronizer::source
List_t source
Definition:
Hydjet2Hadronizer.h:240
gen::Hydjet2Hadronizer::fIfDeltaEpsilon
int fIfDeltaEpsilon
Definition:
Hydjet2Hadronizer.h:143
gen
Definition:
PythiaDecays.h:13
value
Definition:
value.py:1
gen::Hydjet2Hadronizer::phi0_
double phi0_
Definition:
Hydjet2Hadronizer.h:194
hydjet2DefaultParameters_cff.fWeakDecay
fWeakDecay
Definition:
hydjet2DefaultParameters_cff.py:63
hjRandomEngine
CLHEP::HepRandomEngine * hjRandomEngine
Definition:
Hydjet2Hadronizer.h:55
DeadROC_duringRun.f2
f2
Definition:
DeadROC_duringRun.py:220
Particle.h
HYIPAR
#define HYIPAR
Definition:
HYJET_COMMONS.h:26
relativeConstraints.value
value
Definition:
relativeConstraints.py:53
SERVICE
#define SERVICE
Definition:
HYJET_COMMONS.h:38
gen::Hydjet2Hadronizer::fMuI3
double fMuI3
Definition:
Hydjet2Hadronizer.h:132
gen::Hydjet2Hadronizer::fPyhist
int fPyhist
Definition:
Hydjet2Hadronizer.h:166
gen::Hydjet2Hadronizer::fWeakDecay
double fWeakDecay
Definition:
Hydjet2Hadronizer.h:146
gen::Hydjet2Hadronizer::fIfb
int fIfb
Definition:
Hydjet2Hadronizer.h:121
gen::Hydjet2Hadronizer::fAw
double fAw
Definition:
Hydjet2Hadronizer.h:120
gen::Hydjet2Hadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition:
Hydjet2Hadronizer.h:71
myMessageLogger_cff.statistics
statistics
Definition:
myMessageLogger_cff.py:9
gen::Hydjet2Hadronizer::fSqrtS
double fSqrtS
Definition:
Hydjet2Hadronizer.h:119
gen::Hydjet2Hadronizer::fNocth
double fNocth
Definition:
Hydjet2Hadronizer.h:211
gen::Hydjet2Hadronizer::fCorrS
double fCorrS
Definition:
Hydjet2Hadronizer.h:157
gen::Hydjet2Hadronizer::RunDecays
bool RunDecays() override
Definition:
Hydjet2Hadronizer.h:88
gen::Hydjet2Hadronizer::fPtmin
double fPtmin
Definition:
Hydjet2Hadronizer.h:171
InitialState.h
DOFs::Z
Definition:
AlignPCLThresholdsWriter.cc:37
hydjet2DefaultParameters_cff.fDecay
fDecay
Decays ###.
Definition:
hydjet2DefaultParameters_cff.py:62
data-class-funcs.classname
classname
Definition:
data-class-funcs.py:33
gen::Hydjet2Hadronizer::sseed
int sseed
Definition:
Hydjet2Hadronizer.h:217
edm::InputTag
Definition:
InputTag.h:15
gen::Hydjet2Hadronizer::GetWeakDecayLimit
double GetWeakDecayLimit() override
Definition:
Hydjet2Hadronizer.h:89
gen::Hydjet2Hadronizer::fIenglu
int fIenglu
Definition:
Hydjet2Hadronizer.h:182
DOFs::Y
Definition:
AlignPCLThresholdsWriter.cc:37
gen::Hydjet2Hadronizer::fMuB
double fMuB
Definition:
Hydjet2Hadronizer.h:129
kMax
#define kMax
Definition:
Hydjet2Hadronizer.h:46
gen::Hydjet2Hadronizer::fCharmProd
int fCharmProd
Definition:
Hydjet2Hadronizer.h:158
gen::Pythia6Service
Definition:
Pythia6Service.h:24
HepMC
Definition:
GenParticle.h:15
gen::Hydjet2Hadronizer::fNccth
double fNccth
Definition:
Hydjet2Hadronizer.h:212
gen::Hydjet2Hadronizer::cosphi0_
double cosphi0_
Definition:
Hydjet2Hadronizer.h:196
edm::ParameterSet
Definition:
ParameterSet.h:36
gen::Hydjet2Hadronizer::fIshad
int fIshad
Definition:
Hydjet2Hadronizer.h:167
gen::Hydjet2Hadronizer
Definition:
Hydjet2Hadronizer.h:65
gen::Hydjet2Hadronizer::fYlmax
double fYlmax
Definition:
Hydjet2Hadronizer.h:139
gen::Hydjet2Hadronizer::fNf
int fNf
Definition:
Hydjet2Hadronizer.h:181
gen::Hydjet2Hadronizer::evt
HepMC::GenEvent * evt
Definition:
Hydjet2Hadronizer.h:190
PA_ZEESkim_cff.decay
decay
Definition:
PA_ZEESkim_cff.py:26
gen::Hydjet2Hadronizer::fSigmaTau
double fSigmaTau
Definition:
Hydjet2Hadronizer.h:137
T
long double T
Definition:
Basic3DVectorLD.h:48
gen::Hydjet2Hadronizer::fPythDecay
int fPythDecay
Definition:
Hydjet2Hadronizer.h:147
gen::Hydjet2Hadronizer::fUmax
double fUmax
Definition:
Hydjet2Hadronizer.h:140
gen::Hydjet2Hadronizer::fT
double fT
Definition:
Hydjet2Hadronizer.h:128
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition:
Power.h:30
gen::Hydjet2Hadronizer::fIanglu
int fIanglu
Definition:
Hydjet2Hadronizer.h:185
gen::Hydjet2Hadronizer::fBmin
double fBmin
Definition:
Hydjet2Hadronizer.h:124
Generated for CMSSW Reference Manual by
1.8.11