GeneratorInterface
ReggeGribovPartonMCInterface
interface
ReggeGribovPartonMCHadronizer.h
Go to the documentation of this file.
1
#ifndef REGGEGRIBOVPARTONMCHADRONIZER_H
2
#define REGGEGRIBOVPARTONMCHADRONIZER_H
3
4
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
5
#include "
GeneratorInterface/Core/interface/BaseHadronizer.h
"
6
#include "
FWCore/ParameterSet/interface/FileInPath.h
"
7
8
#include <map>
9
#include <string>
10
#include <vector>
11
#include <cmath>
12
13
namespace
HepMC
{
14
class
GenEvent;
15
class
GenParticle
;
16
class
GenVertex;
17
}
// namespace HepMC
18
19
namespace
CLHEP
{
20
class
HepRandomEngine;
21
}
22
23
extern
"C"
{
24
//iout,ievent,noutpart,impactpar,outpart,outpx,outpy,outpz,oute,outm,outstat
25
void
crmc_f_
(
int
&,
int
&,
int
&,
double
&,
int
&,
double
&,
double
&,
double
&,
double
&,
double
&,
int
&);
26
27
//iEvent,iSeed,pproj,ptarg,ipart,itarg,imodel,itab,iout,output,param
28
void
crmc_set_f_
(
int
&,
int
&,
double
&,
double
&,
int
&,
int
&,
int
&,
int
&,
int
&,
const
char
*,
const
char
*);
29
30
//iEvent,iSeed,pproj,ptarg,ipart,itarg,imodel,itab,iout,output,param
31
void
crmc_init_f_
();
32
}
33
34
#define nmxhep 99990
35
36
extern
"C"
{
37
/* extern struct
38
{
39
int nevhep;
40
int nhep;
41
42
int isthep[nmxhep];
43
int idhep[nmxhep];
44
int jmohep[nmxhep][2];
45
int jdahep[nmxhep][2];
46
double phep[nmxhep][5];
47
double vhep[nmxhep][5];
48
} hepcom_; //epos.inc*/
49
50
extern
struct
{
51
float
sigtot
;
// ........ total cross section
52
float
sigcut
;
53
float
sigela
;
54
float
sloela
;
55
float
sigsd
;
56
float
sigine
;
57
float
sigdif
;
58
float
sigineaa
;
59
float
sigtotaa
;
60
float
sigelaaa
;
61
float
sigcutaa
;
62
}
hadr5_
;
//epos.inc
63
64
extern
struct
{
65
float
phievt
;
// ........ angle of impact parameter
66
int
nevt
;
// ........ error code. 1=valid event, 0=invalid event
67
float
bimevt
;
// ........ absolute value of impact parameter
68
int
kolevt
;
// ........ number of collisions
69
int
koievt
;
// ........ number of inelastic collisions
70
float
pmxevt
;
// ........ reference momentum
71
float
egyevt
;
// ........ pp cm energy (hadron) or string energy (lepton)
72
int
npjevt
;
// ........ number of primary projectile participants
73
int
ntgevt
;
// ........ number of primary target participants
74
int
npnevt
;
// ........ number of primary projectile neutron spectators
75
int
nppevt
;
// ........ number of primary projectile proton spectators
76
int
ntnevt
;
// ........ number of primary target neutron spectators
77
int
ntpevt
;
// ........ number of primary target proton spectators
78
int
jpnevt
;
// ........ number of absolute projectile neutron spectators
79
int
jppevt
;
// ........ number of absolute projectile proton spectators
80
int
jtnevt
;
// ........ number of absolute target neutron spectators
81
int
jtpevt
;
// ........ number of absolute target proton spectators
82
float
xbjevt
;
// ........ bjorken x for dis
83
float
qsqevt
;
// ........ q**2 for dis
84
int
nglevt
;
// ........ number of collisions acc to Glauber
85
float
zppevt
;
// ........ average Z-parton-proj
86
float
zptevt
;
// ........ average Z-parton-targ
87
int
minfra
;
//
88
int
maxfra
;
//
89
int
kohevt
;
// ........ number of hard collisions
90
}
cevt_
;
//epos.inc
91
92
extern
struct
{
93
int
ng1evt
;
// ........ number of collisions acc to Glauber
94
int
ng2evt
;
// ........ number of Glauber participants with at least two IAs
95
float
rglevt
;
// ........
96
float
sglevt
;
// ........
97
float
eglevt
;
// ........
98
float
fglevt
;
// ........
99
int
ikoevt
;
// ........ number of elementary parton-parton scatterings
100
float
typevt
;
// ........ type of event (1=Non Diff, 2=Double Diff, 3=Single Diff)
101
}
c2evt_
;
//epos.inc
102
103
extern
struct
{
104
float
bmaxim
;
105
float
bminim
;
106
float
phimax
;
107
float
phimin
;
108
}
nucl2_
;
//epos.inc
109
}
110
111
extern
"C"
{
112
extern
struct
{
113
char
fnch
[500];
114
char
fnhi
[500];
115
char
fndt
[500];
116
char
fnii
[500];
117
char
fnid
[500];
118
char
fnie
[500];
119
char
fnrj
[500];
120
char
fnmt
[500];
121
char
fngrv
[500];
122
char
fncp
[500];
123
char
fnnx
[500];
124
char
fncs
[500];
125
char
fndr
[500];
126
char
fnhpf
[500];
127
}
fname_
;
//epos.inc
128
129
extern
struct
{
130
int
nfnch
;
131
int
nfnhi
;
132
int
nfndt
;
133
int
nfnii
;
134
int
nfnid
;
135
int
nfnie
;
136
int
nfnrj
;
137
int
nfnmt
;
138
int
nfngrv
;
139
int
nfncp
;
140
int
nfnnx
;
141
int
nfncs
;
142
int
nfndr
;
143
int
nfnhpf
;
144
}
nfname_
;
//epos.inc
145
146
extern
struct
{
147
char
fndat
[500];
148
char
fnncs
[500];
149
int
ifdat
;
150
int
ifncs
;
151
}
qgsfname_
;
//epos-bas.f
152
153
extern
struct
{
154
int
nfndat
;
155
int
nfnncs
;
156
}
qgsnfname_
;
//epos-bas.f
157
158
extern
struct
{
159
char
fniidat
[500];
160
char
fniincs
[500];
161
int
ifiidat
;
162
int
ifiincs
;
163
}
qgsiifname_
;
//epos-bas.f
164
165
extern
struct
{
166
int
nfniidat
;
167
int
nfniincs
;
168
}
qgsiinfname_
;
//epos-bas.f
169
}
170
171
namespace
gen
{
172
extern
"C"
{
173
float
rangen_
();
174
}
175
176
extern
"C"
{
177
double
drangen_
(
int
*);
178
}
179
180
class
ReggeGribovPartonMCHadronizer :
public
BaseHadronizer {
181
public
:
182
ReggeGribovPartonMCHadronizer
(
const
edm::ParameterSet
&);
183
~ReggeGribovPartonMCHadronizer
()
override
;
184
185
bool
generatePartonsAndHadronize
();
186
bool
hadronize
();
187
bool
decay
();
188
bool
residualDecay
();
189
bool
readSettings
(
int
) {
return
true
; }
190
bool
initializeForExternalPartons
() {
return
true
; }
191
bool
initializeForInternalPartons
();
192
bool
declareStableParticles
(
const
std::vector<int>&);
193
bool
declareSpecialSettings
(
const
std::vector<std::string>&) {
return
true
; }
194
bool
initializeTablePaths
();
195
196
void
finalizeEvent
();
197
void
statistics
();
198
const
char
*
classname
()
const
;
199
200
private
:
201
void
doSetRandomEngine
(CLHEP::HepRandomEngine*
v
)
override
;
202
203
edm::ParameterSet
pset_
;
204
double
m_BeamMomentum
;
205
double
m_TargetMomentum
;
206
int
m_BeamID
;
207
int
m_TargetID
;
208
int
m_HEModel
;
209
double
m_bMin
;
210
double
m_bMax
;
211
edm::FileInPath
m_ParamFileName
;
212
bool
m_SkipNuclFrag
;
213
int
m_NEvent
;
214
215
int
m_NParticles
;
216
double
m_ImpactParameter
;
217
int
m_PartID
[
nmxhep
];
218
double
m_PartPx
[
nmxhep
];
219
double
m_PartPy
[
nmxhep
];
220
double
m_PartPz
[
nmxhep
];
221
double
m_PartEnergy
[
nmxhep
];
222
double
m_PartMass
[
nmxhep
];
223
int
m_PartStatus
[
nmxhep
];
224
225
bool
m_IsInitialized
;
226
};
227
228
}
// namespace gen
229
230
#endif //ifndef REGGEGRIBOVPARTONMCHADRONIZER_H
nfname_
struct @745 nfname_
qgsfname_
struct @746 qgsfname_
gen::ReggeGribovPartonMCHadronizer::ReggeGribovPartonMCHadronizer
ReggeGribovPartonMCHadronizer(const edm::ParameterSet &)
Definition:
ReggeGribovPartonMCHadronizer.cc:58
fnch
char fnch[500]
Definition:
ReggeGribovPartonMCHadronizer.h:113
sigineaa
float sigineaa
Definition:
ReggeGribovPartonMCHadronizer.h:58
maxfra
int maxfra
Definition:
ReggeGribovPartonMCHadronizer.h:88
egyevt
float egyevt
Definition:
ReggeGribovPartonMCHadronizer.h:71
fnii
char fnii[500]
Definition:
ReggeGribovPartonMCHadronizer.h:116
fniincs
char fniincs[500]
Definition:
ReggeGribovPartonMCHadronizer.h:160
gen::ReggeGribovPartonMCHadronizer::m_PartPz
double m_PartPz[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:220
gen::ReggeGribovPartonMCHadronizer::m_PartID
int m_PartID[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:217
qgsiinfname_
struct @749 qgsiinfname_
nfnie
int nfnie
Definition:
ReggeGribovPartonMCHadronizer.h:135
phievt
float phievt
Definition:
ReggeGribovPartonMCHadronizer.h:65
gen::ReggeGribovPartonMCHadronizer::statistics
void statistics()
Definition:
ReggeGribovPartonMCHadronizer.cc:208
sigtotaa
float sigtotaa
Definition:
ReggeGribovPartonMCHadronizer.h:59
eglevt
float eglevt
Definition:
ReggeGribovPartonMCHadronizer.h:97
crmc_f_
void crmc_f_(int &, int &, int &, double &, int &, double &, double &, double &, double &, double &, int &)
gen::ReggeGribovPartonMCHadronizer::m_bMax
double m_bMax
Definition:
ReggeGribovPartonMCHadronizer.h:210
gen::ReggeGribovPartonMCHadronizer::m_ImpactParameter
double m_ImpactParameter
Definition:
ReggeGribovPartonMCHadronizer.h:216
npnevt
int npnevt
Definition:
ReggeGribovPartonMCHadronizer.h:74
nmxhep
#define nmxhep
Definition:
ReggeGribovPartonMCHadronizer.h:34
npjevt
int npjevt
Definition:
ReggeGribovPartonMCHadronizer.h:72
fniidat
char fniidat[500]
Definition:
ReggeGribovPartonMCHadronizer.h:159
crmc_init_f_
void crmc_init_f_()
gen::drangen_
double drangen_(int *)
Definition:
ReggeGribovPartonMCHadronizer.cc:52
phimin
float phimin
Definition:
ReggeGribovPartonMCHadronizer.h:107
gen::ReggeGribovPartonMCHadronizer::m_PartPx
double m_PartPx[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:218
gen::ReggeGribovPartonMCHadronizer::m_NEvent
int m_NEvent
Definition:
ReggeGribovPartonMCHadronizer.h:213
BaseHadronizer.h
fndat
char fndat[500]
Definition:
ReggeGribovPartonMCHadronizer.h:147
gen::ReggeGribovPartonMCHadronizer::initializeTablePaths
bool initializeTablePaths()
Definition:
ReggeGribovPartonMCHadronizer.cc:223
gen::ReggeGribovPartonMCHadronizer::declareStableParticles
bool declareStableParticles(const std::vector< int > &)
Definition:
ReggeGribovPartonMCHadronizer.cc:212
gen::ReggeGribovPartonMCHadronizer::m_SkipNuclFrag
bool m_SkipNuclFrag
Definition:
ReggeGribovPartonMCHadronizer.h:212
ng2evt
int ng2evt
Definition:
ReggeGribovPartonMCHadronizer.h:94
nfnhpf
int nfnhpf
Definition:
ReggeGribovPartonMCHadronizer.h:143
sglevt
float sglevt
Definition:
ReggeGribovPartonMCHadronizer.h:96
koievt
int koievt
Definition:
ReggeGribovPartonMCHadronizer.h:69
sigcut
float sigcut
Definition:
ReggeGribovPartonMCHadronizer.h:52
ikoevt
int ikoevt
Definition:
ReggeGribovPartonMCHadronizer.h:99
ifdat
int ifdat
Definition:
ReggeGribovPartonMCHadronizer.h:149
nfnhi
int nfnhi
Definition:
ReggeGribovPartonMCHadronizer.h:131
fnie
char fnie[500]
Definition:
ReggeGribovPartonMCHadronizer.h:118
jtpevt
int jtpevt
Definition:
ReggeGribovPartonMCHadronizer.h:81
nfndat
int nfndat
Definition:
ReggeGribovPartonMCHadronizer.h:154
xbjevt
float xbjevt
Definition:
ReggeGribovPartonMCHadronizer.h:82
typevt
float typevt
Definition:
ReggeGribovPartonMCHadronizer.h:100
GenParticle
Definition:
GenParticle.py:1
gen::ReggeGribovPartonMCHadronizer::finalizeEvent
void finalizeEvent()
Definition:
ReggeGribovPartonMCHadronizer.cc:206
crmc_set_f_
void crmc_set_f_(int &, int &, double &, double &, int &, int &, int &, int &, int &, const char *, const char *)
bmaxim
float bmaxim
Definition:
ReggeGribovPartonMCHadronizer.h:104
gen::ReggeGribovPartonMCHadronizer::m_ParamFileName
edm::FileInPath m_ParamFileName
Definition:
ReggeGribovPartonMCHadronizer.h:211
FileInPath.h
pmxevt
float pmxevt
Definition:
ReggeGribovPartonMCHadronizer.h:70
gen::ReggeGribovPartonMCHadronizer::hadronize
bool hadronize()
Definition:
ReggeGribovPartonMCHadronizer.cc:200
nfnnx
int nfnnx
Definition:
ReggeGribovPartonMCHadronizer.h:140
edm::FileInPath
Definition:
FileInPath.h:64
gen::ReggeGribovPartonMCHadronizer::~ReggeGribovPartonMCHadronizer
~ReggeGribovPartonMCHadronizer() override
Definition:
ReggeGribovPartonMCHadronizer.cc:100
fngrv
char fngrv[500]
Definition:
ReggeGribovPartonMCHadronizer.h:121
ng1evt
int ng1evt
Definition:
ReggeGribovPartonMCHadronizer.h:93
qsqevt
float qsqevt
Definition:
ReggeGribovPartonMCHadronizer.h:83
cevt_
struct @741 cevt_
nfncp
int nfncp
Definition:
ReggeGribovPartonMCHadronizer.h:139
fndr
char fndr[500]
Definition:
ReggeGribovPartonMCHadronizer.h:125
fglevt
float fglevt
Definition:
ReggeGribovPartonMCHadronizer.h:98
nfnch
int nfnch
Definition:
ReggeGribovPartonMCHadronizer.h:130
kohevt
int kohevt
Definition:
ReggeGribovPartonMCHadronizer.h:89
nfniidat
int nfniidat
Definition:
ReggeGribovPartonMCHadronizer.h:166
fnid
char fnid[500]
Definition:
ReggeGribovPartonMCHadronizer.h:117
gen::ReggeGribovPartonMCHadronizer::pset_
edm::ParameterSet pset_
Definition:
ReggeGribovPartonMCHadronizer.h:203
nfnid
int nfnid
Definition:
ReggeGribovPartonMCHadronizer.h:134
sigelaaa
float sigelaaa
Definition:
ReggeGribovPartonMCHadronizer.h:60
gen::ReggeGribovPartonMCHadronizer::m_NParticles
int m_NParticles
Definition:
ReggeGribovPartonMCHadronizer.h:215
qgsnfname_
struct @747 qgsnfname_
gen::ReggeGribovPartonMCHadronizer::m_PartEnergy
double m_PartEnergy[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:221
gen::rangen_
float rangen_()
Definition:
ReggeGribovPartonMCHadronizer.cc:47
nppevt
int nppevt
Definition:
ReggeGribovPartonMCHadronizer.h:75
nfnmt
int nfnmt
Definition:
ReggeGribovPartonMCHadronizer.h:137
fname_
struct @744 fname_
ntgevt
int ntgevt
Definition:
ReggeGribovPartonMCHadronizer.h:73
gen
Definition:
PythiaDecays.h:13
nucl2_
struct @743 nucl2_
jpnevt
int jpnevt
Definition:
ReggeGribovPartonMCHadronizer.h:78
nfndr
int nfndr
Definition:
ReggeGribovPartonMCHadronizer.h:142
jppevt
int jppevt
Definition:
ReggeGribovPartonMCHadronizer.h:79
kolevt
int kolevt
Definition:
ReggeGribovPartonMCHadronizer.h:68
fncs
char fncs[500]
Definition:
ReggeGribovPartonMCHadronizer.h:124
sigdif
float sigdif
Definition:
ReggeGribovPartonMCHadronizer.h:57
CLHEP
Definition:
CocoaGlobals.h:27
gen::ReggeGribovPartonMCHadronizer::doSetRandomEngine
void doSetRandomEngine(CLHEP::HepRandomEngine *v) override
Definition:
ReggeGribovPartonMCHadronizer.cc:105
nfnncs
int nfnncs
Definition:
ReggeGribovPartonMCHadronizer.h:155
fncp
char fncp[500]
Definition:
ReggeGribovPartonMCHadronizer.h:122
rglevt
float rglevt
Definition:
ReggeGribovPartonMCHadronizer.h:95
edm::ParameterSet
Definition:
ParameterSet.h:36
fnncs
char fnncs[500]
Definition:
ReggeGribovPartonMCHadronizer.h:148
sigela
float sigela
Definition:
ReggeGribovPartonMCHadronizer.h:53
ifncs
int ifncs
Definition:
ReggeGribovPartonMCHadronizer.h:150
bimevt
float bimevt
Definition:
ReggeGribovPartonMCHadronizer.h:67
gen::ReggeGribovPartonMCHadronizer::m_PartMass
double m_PartMass[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:222
sigine
float sigine
Definition:
ReggeGribovPartonMCHadronizer.h:56
gen::ReggeGribovPartonMCHadronizer::readSettings
bool readSettings(int)
Definition:
ReggeGribovPartonMCHadronizer.h:189
gen::v
double v[5][pyjets_maxn]
Definition:
Cascade2Hadronizer.cc:74
fnhpf
char fnhpf[500]
Definition:
ReggeGribovPartonMCHadronizer.h:126
gen::ReggeGribovPartonMCHadronizer::residualDecay
bool residualDecay()
Definition:
ReggeGribovPartonMCHadronizer.cc:204
nfniincs
int nfniincs
Definition:
ReggeGribovPartonMCHadronizer.h:167
sigtot
float sigtot
Definition:
ReggeGribovPartonMCHadronizer.h:51
nfncs
int nfncs
Definition:
ReggeGribovPartonMCHadronizer.h:141
bminim
float bminim
Definition:
ReggeGribovPartonMCHadronizer.h:105
gen::ReggeGribovPartonMCHadronizer::initializeForExternalPartons
bool initializeForExternalPartons()
Definition:
ReggeGribovPartonMCHadronizer.h:190
hadr5_
struct @740 hadr5_
nfngrv
int nfngrv
Definition:
ReggeGribovPartonMCHadronizer.h:138
fnhi
char fnhi[500]
Definition:
ReggeGribovPartonMCHadronizer.h:114
ifiincs
int ifiincs
Definition:
ReggeGribovPartonMCHadronizer.h:162
gen::ReggeGribovPartonMCHadronizer::m_bMin
double m_bMin
Definition:
ReggeGribovPartonMCHadronizer.h:209
fndt
char fndt[500]
Definition:
ReggeGribovPartonMCHadronizer.h:115
fnmt
char fnmt[500]
Definition:
ReggeGribovPartonMCHadronizer.h:120
ifiidat
int ifiidat
Definition:
ReggeGribovPartonMCHadronizer.h:161
jtnevt
int jtnevt
Definition:
ReggeGribovPartonMCHadronizer.h:80
gen::ReggeGribovPartonMCHadronizer::decay
bool decay()
Definition:
ReggeGribovPartonMCHadronizer.cc:202
gen::ReggeGribovPartonMCHadronizer::initializeForInternalPartons
bool initializeForInternalPartons()
Definition:
ReggeGribovPartonMCHadronizer.cc:214
zppevt
float zppevt
Definition:
ReggeGribovPartonMCHadronizer.h:85
gen::ReggeGribovPartonMCHadronizer::m_TargetMomentum
double m_TargetMomentum
Definition:
ReggeGribovPartonMCHadronizer.h:205
phimax
float phimax
Definition:
ReggeGribovPartonMCHadronizer.h:106
nevt
int nevt
Definition:
ReggeGribovPartonMCHadronizer.h:66
qgsiifname_
struct @748 qgsiifname_
fnrj
char fnrj[500]
Definition:
ReggeGribovPartonMCHadronizer.h:119
sigsd
float sigsd
Definition:
ReggeGribovPartonMCHadronizer.h:55
sloela
float sloela
Definition:
ReggeGribovPartonMCHadronizer.h:54
c2evt_
struct @742 c2evt_
zptevt
float zptevt
Definition:
ReggeGribovPartonMCHadronizer.h:86
gen::ReggeGribovPartonMCHadronizer::generatePartonsAndHadronize
bool generatePartonsAndHadronize()
Definition:
ReggeGribovPartonMCHadronizer.cc:108
HepMC
Definition:
GenParticle.h:15
sigcutaa
float sigcutaa
Definition:
ReggeGribovPartonMCHadronizer.h:61
minfra
int minfra
Definition:
ReggeGribovPartonMCHadronizer.h:87
gen::ReggeGribovPartonMCHadronizer::m_BeamMomentum
double m_BeamMomentum
Definition:
ReggeGribovPartonMCHadronizer.h:204
nfnii
int nfnii
Definition:
ReggeGribovPartonMCHadronizer.h:133
nfnrj
int nfnrj
Definition:
ReggeGribovPartonMCHadronizer.h:136
ParameterSet.h
ntpevt
int ntpevt
Definition:
ReggeGribovPartonMCHadronizer.h:77
gen::ReggeGribovPartonMCHadronizer::m_HEModel
int m_HEModel
Definition:
ReggeGribovPartonMCHadronizer.h:208
nfndt
int nfndt
Definition:
ReggeGribovPartonMCHadronizer.h:132
ntnevt
int ntnevt
Definition:
ReggeGribovPartonMCHadronizer.h:76
gen::ReggeGribovPartonMCHadronizer::classname
const char * classname() const
Definition:
ReggeGribovPartonMCHadronizer.cc:210
gen::ReggeGribovPartonMCHadronizer::declareSpecialSettings
bool declareSpecialSettings(const std::vector< std::string > &)
Definition:
ReggeGribovPartonMCHadronizer.h:193
gen::ReggeGribovPartonMCHadronizer::m_PartPy
double m_PartPy[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:219
gen::ReggeGribovPartonMCHadronizer::m_IsInitialized
bool m_IsInitialized
Definition:
ReggeGribovPartonMCHadronizer.h:225
nglevt
int nglevt
Definition:
ReggeGribovPartonMCHadronizer.h:84
gen::ReggeGribovPartonMCHadronizer::m_TargetID
int m_TargetID
Definition:
ReggeGribovPartonMCHadronizer.h:207
fnnx
char fnnx[500]
Definition:
ReggeGribovPartonMCHadronizer.h:123
gen::ReggeGribovPartonMCHadronizer::m_BeamID
int m_BeamID
Definition:
ReggeGribovPartonMCHadronizer.h:206
gen::ReggeGribovPartonMCHadronizer::m_PartStatus
int m_PartStatus[99990]
Definition:
ReggeGribovPartonMCHadronizer.h:223
Generated for CMSSW Reference Manual by
1.8.16