]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TUHKMgen/UHKM/InitialStateHydjet.h
03d93a0821db898b9e1c53fb2038071963094a06
[u/mrichter/AliRoot.git] / TUHKMgen / UHKM / InitialStateHydjet.h
1 /*                                                                            
2                                                                             
3         Nikolai Amelin, Ludmila Malinina, Timur Pocheptsov (C) JINR/Dubna
4       amelin@sunhe.jinr.ru, malinina@sunhe.jinr.ru, pocheptsov@sunhe.jinr.ru 
5                            November. 2, 2005                                
6
7 */
8
9 #ifndef INITIALSTATEHYDJET_INCLUDED
10 #define INITIALSTATEHYDJET_INCLUDED
11
12 #ifndef DATABASE_PDG
13 #include "DatabasePDG.h"
14 #endif
15 #ifndef PARTICLE_INCLUDED
16 #include "Particle.h"
17 #endif
18 #ifndef INITIAL_STATE
19 #include "InitialState.h"
20 #endif
21
22 struct InitialParamsHydjet_t {
23
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
33
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
38        
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 
45
46        
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
54   
55    Int_t fDecay;    // flag to switch on/off hadron decays<0: decays off,>=0: decays on, (default: 0)
56    Int_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)  
59   
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 
63   
64    Int_t fTMuType;     // flag to use calculated chemical freeze-out temperature,
65                                      //baryon potential and strangeness potential as a function of fSqrtS 
66
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
73  
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
77   
78    Double_t fPtmin;       //minimal transverse momentum transfer p_T of hard
79                                    // parton-parton scatterings in GeV (the PYTHIA parameter ckin(3)=fPtmin)
80    
81 //  PYQUEN energy loss model parameters:
82  
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) 
86   
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).
94   
95   
96
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
101
102   Double_t fMuTh[1000];                    //Chemical potentials at thermal freezeout of hadron species
103
104
105 };
106
107 class InitialStateHydjet : public InitialState {
108  private:
109   Double_t fVolEff;                           // the effective volume
110
111  public:
112   InitialParamsHydjet_t fParams;             // the list of initial state parameters  
113   
114  public:
115   InitialStateHydjet() {};
116   ~InitialStateHydjet() {};
117   
118   void SetVolEff(Double_t value) {fVolEff = value;}
119   Double_t GetVolEff() {return fVolEff;}
120   virtual Double_t GetTime() {return fParams.fDecay;}
121   virtual Int_t GetNev() {return fParams.fNevnt;}
122   virtual Double_t GetWeakDecayLimit() {return fParams.fWeakDecay;}  
123   
124   virtual void Initialize(List_t &source, ParticleAllocator &allocator);
125   virtual Bool_t ReadParams();
126   virtual Bool_t MultIni();
127   Bool_t IniOfThFreezeoutParameters();
128  
129   Double_t f(Double_t);
130   Double_t f2(Double_t, Double_t);
131    
132   Double_t SimpsonIntegrator(Double_t, Double_t, Double_t);
133   Double_t SimpsonIntegrator2(Double_t, Double_t);
134   Double_t MidpointIntegrator2(Double_t, Double_t);
135 };
136
137 #endif