]>
Commit | Line | Data |
---|---|---|
cb220f83 | 1 | #ifndef ROOT_HydCommon |
2 | #define ROOT_HydCommon | |
3 | //****************************************************************************// | |
4 | // ------------------------------------------------------------- // | |
5 | // HYDJET, fast MC code to simulate flow effects, jet production // | |
6 | // and jet quenching in heavy ion AA collisions at the LHC // | |
7 | // ------------------------------------------------------------- // | |
8 | // This code is merging HYDRO (flow effects), PYTHIA6.4 (hard jet // | |
9 | // production) and PYQUEN (jet quenching) // | |
10 | // -------------------------------------------------------------- // | |
11 | // // | |
12 | // Igor Lokhtin, SINP MSU, Moscow, RU // | |
13 | // e-mail: Igor.Lokhtin@cern.ch // | |
14 | // // | |
15 | // Reference for HYDJET: // | |
16 | // I.P. Lokhtin, A.M. Snigirev, // | |
17 | // Eur. Phys. J. C 46 (2006) 211. // | |
18 | // // | |
19 | // References for HYDRO: // | |
20 | // N.A.Kruglov, I.P.Lokhtin, L.I.Sarycheva, A.M.Snigirev, // | |
21 | // Z. Phys. C 76 (1997) 99; // | |
22 | // I.P.Lokhtin, L.I.Sarycheva, A.M.Snigirev, // | |
23 | // Phys. Lett. B 537 (2002) 261; // | |
24 | // I.P.Lokhtin, A.M.Snigirev, Preprint SINP MSU 2004-14/753,hep-ph/0312204.// | |
25 | // // | |
26 | // References for PYQUEN: // | |
27 | // I.P.Lokhtin, A.M.Snigirev, Eur.Phys.J. C16 (2000) 527; // | |
28 | // I.P.Lokhtin, A.M.Snigirev, Preprint SINP MSU 2004-13/752, hep-ph/0406038.// | |
29 | // // | |
30 | // References for PYTHIA: // | |
31 | // T.Sjostrand et al., Comput.Phys.Commun. 135 (2001) 238; // | |
32 | // T.Sjostrand, S. Mrena and P. Skands, hep-ph/0603175. // | |
33 | // // | |
34 | // Reference for JETSET event format: // | |
35 | // T.Sjostrand, Comput.Phys.Commun. 82 (1994) 74. // | |
36 | // // | |
37 | // -------------------------------------------------------------- // | |
38 | // Web-page: // | |
39 | // http://cern.ch/lokhtin/hydro // | |
40 | // -------------------------------------------------------------- // | |
41 | // // | |
42 | //**************************************************************************** // | |
43 | #ifndef __CFORTRAN_LOADED | |
44 | //*KEEP,cfortran. | |
45 | #include "cfortran.h" | |
46 | //*KEND. | |
47 | #endif | |
48 | ||
49 | extern "C" { | |
50 | ||
51 | ||
52 | /*=========================================================*/ | |
53 | /* COMMON/HYFLOW/YTFL,YLFL,FPART */ | |
54 | /*---------------------------------------------------------*/ | |
55 | typedef struct { | |
56 | float ytfl; | |
57 | float ylfl; | |
58 | float fpart; | |
59 | } HyflowCommon; | |
60 | ||
61 | #define HYFLOW COMMON_BLOCK(HYFLOW,hyflow) | |
62 | COMMON_BLOCK_DEF(HyflowCommon,HYFLOW); | |
63 | ||
64 | /**************************************************************************/ | |
65 | /* D E S C R I P T I O N : */ | |
66 | /*------------------------------------------------------------------------*/ | |
67 | /*COMMON /hyflow/ ytfl,ylfl,fpart | |
68 | ytfl - maximum transverse collective rapidity, controls slope of low-pt spectra | |
69 | (allowed range is 0.01<ytfl<3.0, default value is ytfl=1.). | |
70 | ylfl - maximum longitudinal collective rapidity, controls width of eta-spectra | |
71 | (allowed range is 0.01<ylfl<7.0, default value is ylfl=5.). | |
72 | fpart - fraction of soft multiplicity proportional to the number of nucleon | |
73 | participants; then (1.-fpart) will be the fraction of soft multiplicity | |
74 | proportional to the number of nucleon-nucleon binary sub-collisions | |
75 | (allowed range is 0.01<fpart<1.0, default value is fpart=1.). | |
76 | ========================================================================*/ | |
77 | ||
78 | /*========================================================================*/ | |
79 | /* COMMON/HYJPAR/NHSEL,PTMIN,NJET */ | |
80 | /*------------------------------------------------------------------------*/ | |
81 | typedef struct { | |
82 | Int_t nhsel; | |
83 | float ptmin; | |
84 | Int_t njet; | |
85 | } HyjparCommon; | |
86 | ||
87 | #define HYJPAR COMMON_BLOCK(HYJPAR,hyjpar) | |
88 | COMMON_BLOCK_DEF(HyjparCommon,HYJPAR); | |
89 | /*************************************************************************/ | |
90 | /* D E S C R I P T I O N : */ | |
91 | /*-----------------------------------------------------------------------*/ | |
92 | /*COMMON /hyjpar/ nhsel,ptmin,njet | |
93 | Input Parameters: | |
94 | nhsel - flag to include jet production in hydro event: | |
95 | nhsel=0 - jet production off (pure HYDRO event); | |
96 | nhsel=1 - jet production on, jet quenching off (HYDRO+njet*PYTHIA events); | |
97 | nhsel=2 - jet production & jet quenching on (HYDRO+njet*PYQUEN events); | |
98 | nhsel=3 - jet production on, jet quenching off, HYDRO off (njet*PYTHIA events); | |
99 | nhsel=4 - jet production & jet quenching on, HYDRO off (njet*PYQUEN events); | |
100 | (default value is nhsel = 0). | |
101 | ptmin - minimal pt of parton-parton scattering in PYTHIA event, parameter | |
102 | ckin(3) in PYTHIA common block /pysubs/ should be set equal to ptmin | |
103 | (allowed range is 5 GeV < ptmin < 500 GeV, default value ptmin=10 GeV). | |
104 | ||
105 | Output Parameters: | |
106 | njet - number of hard parton-parton scatterings with pt>ptmin in event. | |
107 | */ | |
108 | /*=======================================================================*/ | |
109 | ||
110 | ||
111 | ||
112 | /*========================================================*/ | |
113 | /* COMMON/HYFPAR/ BGEN,NBCOL,NPART.NPYT,NHYD */ | |
114 | /*--------------------------------------------------------*/ | |
115 | typedef struct { | |
116 | float bgen; | |
117 | int nbcol; | |
118 | int npart; | |
119 | int npyt; | |
120 | int nhyd; | |
121 | } HyfparCommon; | |
122 | ||
123 | #define HYFPAR COMMON_BLOCK(HYFPAR,hyfpar) | |
124 | COMMON_BLOCK_DEF(HyfparCommon,HYFPAR); | |
125 | /*************************************************************************/ | |
126 | /* D E S C R I P T I O N : */ | |
127 | /*-----------------------------------------------------------------------*/ | |
128 | /*common /hyfpar/ bgen,nbcol,npart,npyt,nhyd | |
129 | bgen - generated value of impact parameter in units of nucleus radius RA | |
130 | (i.e the value in [fm] will be bgen*RA). | |
131 | nbcol - mean number of nucleon-nucleon binary sub-collisions at given 'bgen'. | |
132 | npart - mean number of nucleon participants at given 'bgen'. | |
133 | npyt - multiplicity of hard PYTHIA/PYQUEN-induced particles in event | |
134 | (including full parton story). | |
135 | nhyd - multiplicity of soft HYDRO-induced hadrons in event. | |
136 | */ | |
137 | /*=======================================================================*/ | |
138 | ||
139 | /*=======================================================================*/ | |
140 | // COMMON/LUJETS/ N,K(150000,5),P(150000,5),V(150000,5) | |
141 | /*-----------------------------------------------------------------------*/ | |
142 | typedef struct { | |
143 | Int_t n; | |
144 | Int_t k[5][150000]; | |
145 | Float_t p[5][150000]; | |
146 | Float_t v[5][150000]; | |
147 | } LujetsCommon; | |
148 | ||
149 | #define LUJETS COMMON_BLOCK(LUJETS,lujets) | |
150 | COMMON_BLOCK_DEF(LujetsCommon,LUJETS); | |
151 | /*************************************************************************/ | |
152 | /* D E S C R I P T I O N : */ | |
153 | /*-----------------------------------------------------------------------*/ | |
154 | /*COMMON /lujets/ n,k(150000,5),p(150000,5),v(150000,5) | |
155 | n - total event multiplicity | |
156 | k(i,1-5) - particle codes | |
157 | p(i,1-5) - particle four-momentum and mass | |
158 | v(i,1-5) - particle vertex, production time and lifetime | |
159 | ||
160 | NOTE! First 'npyt' lines in event list correspond to PYTHIA/PYQUEN-induced | |
161 | particles, last 'nhyd' lines -- HYDRO-induced hadrons. | |
162 | */ | |
163 | /*=======================================================================*/ | |
164 | ||
165 | /*=======================================================================*/ | |
166 | // COMMON/HYJETS/ NL,KL(150000,5),PL(150000,5),VL(150000,5) | |
167 | /*-----------------------------------------------------------------------*/ | |
168 | typedef struct { | |
169 | Int_t nl; | |
170 | Int_t kl[5][150000]; | |
171 | Float_t pl[5][150000]; | |
172 | Float_t vl[5][150000]; | |
173 | } HyjetsCommon; | |
174 | ||
175 | #define HYJETS COMMON_BLOCK(HYJETS,hyjets) | |
176 | COMMON_BLOCK_DEF(HyjetsCommon,HYJETS); | |
177 | /*************************************************************************/ | |
178 | /* D E S C R I P T I O N : */ | |
179 | /*-----------------------------------------------------------------------*/ | |
180 | /*COMMON /hyjets/ nl,kl(150000,5),pl(150000,5),vl(150000,5) | |
181 | contains list of parton history of event in the same format as /lujets/ */ | |
182 | /*=======================================================================*/ | |
183 | ||
184 | /* COMMON from Pythia */ | |
185 | ||
186 | /*=======================================================================*/ | |
187 | /* COMMON/PYDAT1/ MSTU(200),PARU(200),MSTJ(200),PARJ(200) */ | |
188 | /*-----------------------------------------------------------------------*/ | |
189 | typedef struct { | |
190 | Int_t mstu[200]; | |
191 | Double_t paru[200]; | |
192 | Int_t mstj[200]; | |
193 | Double_t parj[200]; | |
194 | } Pydat1Common; | |
195 | ||
196 | #define PYDAT1 COMMON_BLOCK(PYDAT1,pydat1) | |
197 | COMMON_BLOCK_DEF(Pydat1Common,PYDAT1); | |
198 | ||
199 | ||
200 | /*=======================================================================*/ | |
201 | // COMMON/PYSUBS/ MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200) | |
202 | /*-----------------------------------------------------------------------*/ | |
203 | typedef struct { | |
204 | Int_t msel; | |
205 | Int_t mselpd; | |
206 | Int_t msub[500]; | |
207 | Int_t kfin[2][81]; | |
208 | Double_t ckin[200]; | |
209 | } PysubsCommon; | |
210 | ||
211 | #define PYSUBS COMMON_BLOCK(PYSUBS,pysubs) | |
212 | COMMON_BLOCK_DEF(PysubsCommon,PYSUBS); | |
213 | ||
214 | /*=======================================================================*/ | |
215 | // COMMON/PYPARS/ MSTP(200),PARP(200),MSTI(200),PARI(200) | |
216 | /*-----------------------------------------------------------------------*/ | |
217 | typedef struct { | |
218 | Int_t mstp[200]; | |
219 | Double_t parp[200]; | |
220 | Int_t msti[200]; | |
221 | Double_t pari[200]; | |
222 | } PyparsCommon; | |
223 | ||
224 | #define PYPARS COMMON_BLOCK(PYPARS,pypars) | |
225 | COMMON_BLOCK_DEF(PyparsCommon,PYPARS); | |
226 | ||
227 | } | |
228 | ||
229 | #endif |