Fix for coverity (AdC)
[u/mrichter/AliRoot.git] / THydjet / HydCommon.h
CommitLineData
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
49extern "C" {
50
51
52/*=========================================================*/
53/* COMMON/HYFLOW/YTFL,YLFL,FPART */
54/*---------------------------------------------------------*/
55typedef struct {
56 float ytfl;
57 float ylfl;
58 float fpart;
59} HyflowCommon;
60
61#define HYFLOW COMMON_BLOCK(HYFLOW,hyflow)
62COMMON_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
68ytfl - maximum transverse collective rapidity, controls slope of low-pt spectra
69(allowed range is 0.01<ytfl<3.0, default value is ytfl=1.).
70ylfl - maximum longitudinal collective rapidity, controls width of eta-spectra
71(allowed range is 0.01<ylfl<7.0, default value is ylfl=5.).
72fpart - fraction of soft multiplicity proportional to the number of nucleon
73participants; then (1.-fpart) will be the fraction of soft multiplicity
74proportional 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/*------------------------------------------------------------------------*/
81typedef struct {
82 Int_t nhsel;
83 float ptmin;
84 Int_t njet;
85} HyjparCommon;
86
87#define HYJPAR COMMON_BLOCK(HYJPAR,hyjpar)
88COMMON_BLOCK_DEF(HyjparCommon,HYJPAR);
89/*************************************************************************/
90/* D E S C R I P T I O N : */
91/*-----------------------------------------------------------------------*/
92/*COMMON /hyjpar/ nhsel,ptmin,njet
93Input Parameters:
94nhsel - flag to include jet production in hydro event:
95nhsel=0 - jet production off (pure HYDRO event);
96nhsel=1 - jet production on, jet quenching off (HYDRO+njet*PYTHIA events);
97nhsel=2 - jet production & jet quenching on (HYDRO+njet*PYQUEN events);
98nhsel=3 - jet production on, jet quenching off, HYDRO off (njet*PYTHIA events);
99nhsel=4 - jet production & jet quenching on, HYDRO off (njet*PYQUEN events);
100(default value is nhsel = 0).
101ptmin - minimal pt of parton-parton scattering in PYTHIA event, parameter
102ckin(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
105Output Parameters:
106njet - 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/*--------------------------------------------------------*/
115typedef 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)
124COMMON_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
129bgen - generated value of impact parameter in units of nucleus radius RA
130(i.e the value in [fm] will be bgen*RA).
131nbcol - mean number of nucleon-nucleon binary sub-collisions at given 'bgen'.
132npart - mean number of nucleon participants at given 'bgen'.
133npyt - multiplicity of hard PYTHIA/PYQUEN-induced particles in event
134 (including full parton story).
135nhyd - 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/*-----------------------------------------------------------------------*/
142typedef 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)
150COMMON_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)
155n - total event multiplicity
156k(i,1-5) - particle codes
157p(i,1-5) - particle four-momentum and mass
158v(i,1-5) - particle vertex, production time and lifetime
159
160NOTE! 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/*-----------------------------------------------------------------------*/
168typedef 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)
176COMMON_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)
181contains 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/*-----------------------------------------------------------------------*/
189typedef 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)
197COMMON_BLOCK_DEF(Pydat1Common,PYDAT1);
198
199
200/*=======================================================================*/
201// COMMON/PYSUBS/ MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
202/*-----------------------------------------------------------------------*/
203typedef 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)
212COMMON_BLOCK_DEF(PysubsCommon,PYSUBS);
213
214/*=======================================================================*/
215// COMMON/PYPARS/ MSTP(200),PARP(200),MSTI(200),PARI(200)
216/*-----------------------------------------------------------------------*/
217typedef 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)
225COMMON_BLOCK_DEF(PyparsCommon,PYPARS);
226
227}
228
229#endif