3 Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
4 amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru
9 #ifndef INITIALSTATEHYDJET_INCLUDED
10 #define INITIALSTATEHYDJET_INCLUDED
13 #include "DatabasePDG.h"
15 #ifndef PARTICLE_INCLUDED
19 #include "InitialState.h"
22 struct InitialParamsHydjet_t {
24 Int_t fNevnt; //number of events
25 Double_t fSqrtS; //cms energy per nucleon
26 Double_t fAw; // atomic number of colliding nuclei
27 Int_t fIfb; // flag of type of centrality generation (=0 is fixed by fBfix, not 0
28 //impact parameter is generated in each event between fBfmin
29 //and fBmax according with Glauber model (f-la 30)
30 Double_t fBmin; //minimum impact parameter in units of nuclear radius RA
31 Double_t fBmax; //maximum impact parameter in units of nuclear radius RA
32 Double_t fBfix; //fix impact parameter in units of nuclear radius RA
34 Int_t fSeed; //parameter to set the random nuber seed (=0 the current time is used
35 //to set the random generator seed, !=0 the value fSeed is
36 //used to set the random generator seed and then the state of random
37 //number generator in PYTHIA MRPY(1)=fSeed
39 Double_t fT; //chemical freeze-out temperature in GeV
40 Double_t fMuB; //baryon potential
41 Double_t fMuS; //strangeness potential
42 Double_t fMuI3; //isospin potential
43 Double_t fThFO; //thermal freeze-out temperature T^th in GeV
44 Double_t fMu_th_pip; // effective chemical potential of positivly charged pions at thermal in GeV
47 Double_t fTau; //proper time value
48 Double_t fSigmaTau; //its standart deviation (emission duration)
49 Double_t fR; //maximal transverse radius
50 Double_t fYlmax; //maximal longitudinal rapidity
51 Double_t fUmax; //maximal transverse velocity multiplaed on \gamma_r
52 Double_t fDelta; //momentum asymmetry parameter
53 Double_t fEpsilon; //coordinate asymmetry parameter
55 Int_t fDecay; // flag to switch on/off hadron decays<0: decays off,>=0: decays on, (default: 0)
56 Double_t fWeakDecay; //flag to switch on/off weak hadron decays <0: decays off, >0: decays on, (default: 0)
57 Int_t fPythDecay; //Flag to choose how to decay resonances in high-pt part, fPythDecay: 0 by PYTHIA decayer,
58 //1 by FASTMC decayer(mstj(21)=0)
60 Int_t fEtaType; // flag to choose rapidity distribution, if fEtaType<=0,
61 //then uniform rapidity distribution in [-fYlmax,fYlmax] if fEtaType>0,
62 //then Gaussian with dispertion = fYlmax
64 Int_t fTMuType; // flag to use calculated chemical freeze-out temperature,
65 //baryon potential and strangeness potential as a function of fSqrtS
67 Double_t fCorrS; // flag and value to include strangeness supression factor
68 Int_t fNhsel; //flag to switch on/off jet and hydro-state production (0: jet
69 // production off and hydro on, 1: jet production on and jet quenching
70 // off and hydro on, 2: jet production on and jet quenching on and
71 // hydro on, 3: jet production on and jet quenching off and hydro
72 // off, 4: jet production on and jet quenching on and hydro off
74 Int_t fIshad; //flag to switch on/off impact parameter dependent nuclear
75 // shadowing for gluons and light sea quarks (u,d,s) (0: shadowing off,
76 // 1: shadowing on for fAw=207, 197, 110, 40, default: 1
78 Double_t fPtmin; //minimal transverse momentum transfer p_T of hard
79 // parton-parton scatterings in GeV (the PYTHIA parameter ckin(3)=fPtmin)
81 // PYQUEN energy loss model parameters:
83 Double_t fT0; // initial temperature (in GeV) of QGP for
84 //central Pb+Pb collisions at mid-rapidity (initial temperature for other
85 //centralities and atomic numbers will be calculated automatically) (allowed range is 0.2<fT0<2)
87 Double_t fTau0; //proper QGP formation time in fm/c (0.01<fTau0<10)
88 Int_t fNf; //number of active quark flavours N_f in QGP fNf=0, 1,2 or 3
89 Int_t fIenglu; // flag to fix type of in-medium partonic energy loss
90 //(0: radiative and collisional loss, 1: radiative loss only, 2:
91 //collisional loss only) (default: 0);
92 Int_t fIanglu; //flag to fix type of angular distribution of in-medium emitted
93 // gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0).
97 Int_t fNPartTypes; //counter of hadron species
98 Int_t fPartEnc[1000]; //Hadron encodings. Maximal number of hadron species is 100!!!
99 Double_t fPartMult[2000]; //Multiplicities of hadron species
100 Double_t fPartMu[2000]; //Chemical potentials of hadron species
102 Double_t fMuTh[1000]; //Chemical potentials at thermal freezeout of hadron species
108 class InitialStateHydjet : public InitialState {
110 InitialStateHydjet() : fParams(), fVolEff(0){};
111 ~InitialStateHydjet() {};
113 void SetVolEff(Double_t value) {fVolEff = value;}
114 Double_t GetVolEff() {return fVolEff;}
115 virtual Double_t GetTime() {return fParams.fDecay;}
116 virtual Int_t GetNev() {return fParams.fNevnt;}
117 virtual Double_t GetWeakDecayLimit() {return fParams.fWeakDecay;}
119 virtual void Initialize(List_t &source, ParticleAllocator &allocator);
120 virtual Bool_t ReadParams();
121 virtual Bool_t MultIni();
122 Bool_t IniOfThFreezeoutParameters();
124 Double_t f(Double_t);
125 Double_t f2(Double_t, Double_t);
127 Double_t SimpsonIntegrator(Double_t, Double_t, Double_t);
128 Double_t SimpsonIntegrator2(Double_t, Double_t);
129 Double_t MidpointIntegrator2(Double_t, Double_t);
131 InitialParamsHydjet_t fParams; // the list of initial state parameters
134 Double_t fVolEff; // the effective volume