]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TUHKMgen/UHKM/InitialStateHydjet.h
Updated macro
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / InitialStateHydjet.h
CommitLineData
3fa37a65 1// InitialStateHydjet is the class which controls the entire
2// event simulation (input parameters, physics, output)
3// InitialStateHydjet inherits from class InitialState
4// MultIni() member function initializes PYQUEN and calculates the average soft multiplicities
5// Initialize() member function calls the PYQUEN soubroutine for the hard part of the event
6// The resonance decay is performed by the function InitialState::Evolve()
7
b1c2e580 8/*
9
10 Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
11 amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru
12 November. 2, 2005
13
14*/
15
3fa37a65 16#ifndef INITIALSTATEHYDJET_H
17#define INITIALSTATEHYDJET_H
b1c2e580 18
b1c2e580 19#include "InitialState.h"
b1c2e580 20
3fa37a65 21class ParticleAllocator;
22
b1c2e580 23struct InitialParamsHydjet_t {
24
25 Int_t fNevnt; //number of events
26 Double_t fSqrtS; //cms energy per nucleon
27 Double_t fAw; // atomic number of colliding nuclei
28 Int_t fIfb; // flag of type of centrality generation (=0 is fixed by fBfix, not 0
29 //impact parameter is generated in each event between fBfmin
30 //and fBmax according with Glauber model (f-la 30)
31 Double_t fBmin; //minimum impact parameter in units of nuclear radius RA
32 Double_t fBmax; //maximum impact parameter in units of nuclear radius RA
33 Double_t fBfix; //fix impact parameter in units of nuclear radius RA
34
35 Int_t fSeed; //parameter to set the random nuber seed (=0 the current time is used
36 //to set the random generator seed, !=0 the value fSeed is
37 //used to set the random generator seed and then the state of random
38 //number generator in PYTHIA MRPY(1)=fSeed
39
40 Double_t fT; //chemical freeze-out temperature in GeV
41 Double_t fMuB; //baryon potential
42 Double_t fMuS; //strangeness potential
43 Double_t fMuI3; //isospin potential
44 Double_t fThFO; //thermal freeze-out temperature T^th in GeV
45 Double_t fMu_th_pip; // effective chemical potential of positivly charged pions at thermal in GeV
46
47
48 Double_t fTau; //proper time value
49 Double_t fSigmaTau; //its standart deviation (emission duration)
50 Double_t fR; //maximal transverse radius
51 Double_t fYlmax; //maximal longitudinal rapidity
52 Double_t fUmax; //maximal transverse velocity multiplaed on \gamma_r
53 Double_t fDelta; //momentum asymmetry parameter
54 Double_t fEpsilon; //coordinate asymmetry parameter
55
56 Int_t fDecay; // flag to switch on/off hadron decays<0: decays off,>=0: decays on, (default: 0)
7b7936e9 57 Double_t fWeakDecay; //flag to switch on/off weak hadron decays <0: decays off, >0: decays on, (default: 0)
b1c2e580 58 Int_t fPythDecay; //Flag to choose how to decay resonances in high-pt part, fPythDecay: 0 by PYTHIA decayer,
59 //1 by FASTMC decayer(mstj(21)=0)
60
61 Int_t fEtaType; // flag to choose rapidity distribution, if fEtaType<=0,
62 //then uniform rapidity distribution in [-fYlmax,fYlmax] if fEtaType>0,
63 //then Gaussian with dispertion = fYlmax
64
65 Int_t fTMuType; // flag to use calculated chemical freeze-out temperature,
66 //baryon potential and strangeness potential as a function of fSqrtS
67
68 Double_t fCorrS; // flag and value to include strangeness supression factor
69 Int_t fNhsel; //flag to switch on/off jet and hydro-state production (0: jet
70 // production off and hydro on, 1: jet production on and jet quenching
71 // off and hydro on, 2: jet production on and jet quenching on and
72 // hydro on, 3: jet production on and jet quenching off and hydro
73 // off, 4: jet production on and jet quenching on and hydro off
74
75 Int_t fIshad; //flag to switch on/off impact parameter dependent nuclear
76 // shadowing for gluons and light sea quarks (u,d,s) (0: shadowing off,
77 // 1: shadowing on for fAw=207, 197, 110, 40, default: 1
78
79 Double_t fPtmin; //minimal transverse momentum transfer p_T of hard
80 // parton-parton scatterings in GeV (the PYTHIA parameter ckin(3)=fPtmin)
81
82// PYQUEN energy loss model parameters:
83
84 Double_t fT0; // initial temperature (in GeV) of QGP for
85 //central Pb+Pb collisions at mid-rapidity (initial temperature for other
86 //centralities and atomic numbers will be calculated automatically) (allowed range is 0.2<fT0<2)
87
88 Double_t fTau0; //proper QGP formation time in fm/c (0.01<fTau0<10)
89 Int_t fNf; //number of active quark flavours N_f in QGP fNf=0, 1,2 or 3
90 Int_t fIenglu; // flag to fix type of in-medium partonic energy loss
91 //(0: radiative and collisional loss, 1: radiative loss only, 2:
92 //collisional loss only) (default: 0);
93 Int_t fIanglu; //flag to fix type of angular distribution of in-medium emitted
94 // gluons (0: small-angular, 1: wide-angular, 2:collinear) (default: 0).
95
96
97
98 Int_t fNPartTypes; //counter of hadron species
99 Int_t fPartEnc[1000]; //Hadron encodings. Maximal number of hadron species is 100!!!
100 Double_t fPartMult[2000]; //Multiplicities of hadron species
101 Double_t fPartMu[2000]; //Chemical potentials of hadron species
102
103 Double_t fMuTh[1000]; //Chemical potentials at thermal freezeout of hadron species
104
105
106};
107
7b7936e9 108
b1c2e580 109class InitialStateHydjet : public InitialState {
3fa37a65 110 public:
03896fc4 111
786056a2 112 InitialStateHydjet() : fParams(), fVolEff(0){};
b1c2e580 113 ~InitialStateHydjet() {};
114
115 void SetVolEff(Double_t value) {fVolEff = value;}
3fa37a65 116 Double_t GetVolEff() const {return fVolEff;}
117 // virtual Double_t GetTime() {return fParams.fDecay;}
118 virtual Bool_t RunDecays() {return (fParams.fDecay>0 ? kTRUE : kFALSE);}
b1c2e580 119 virtual Int_t GetNev() {return fParams.fNevnt;}
120 virtual Double_t GetWeakDecayLimit() {return fParams.fWeakDecay;}
121
122 virtual void Initialize(List_t &source, ParticleAllocator &allocator);
123 virtual Bool_t ReadParams();
124 virtual Bool_t MultIni();
125 Bool_t IniOfThFreezeoutParameters();
03896fc4 126
127 InitialParamsHydjet_t fParams; // the list of initial state parameters
128
129 private:
130 Double_t fVolEff; // the effective volume
131 Double_t F2(Double_t x, Double_t y);
b1c2e580 132
03896fc4 133 Double_t SimpsonIntegrator(Double_t a, Double_t b, Double_t phi);
134 Double_t SimpsonIntegrator2(Double_t a, Double_t b);
135 Double_t MidpointIntegrator2(Double_t a, Double_t b);
b1c2e580 136};
137
138#endif