// This class provides an interface between the HYDJET++ Monte-Carlo model // and AliRoot (by inheriting from the AliGenMC class). // This class uses the TUHKMgen class (which inherits from TGenerator) to // transmit parameters and receive output from the model. #ifndef ALIGENUHKM_H #define ALIGENUHKM_H #include //#include //#include #include "AliGenMC.h" #include "TUHKMgen.h" #ifndef INITIALSTATEHYDJET_H #include "InitialStateHydjet.h" #endif using namespace std; class AliGenUHKM : public AliGenMC { public: AliGenUHKM(); AliGenUHKM(Int_t npart); virtual ~AliGenUHKM(); virtual void Generate(); virtual void Init(); // virtual void AddHeader(AliGenEventHeader* header); // Setters // set reasonable default parameters suited for central Au+Au collisions at RHIC(200GeV) void SetAllParametersRHIC(); // set reasonable default parameters suited for central Pb+Pb collisions at LHC(5.5TeV) void SetAllParametersLHC(); void SetEcms(Double_t value) {fHydjetParams.fSqrtS = value;} // CMS energy per nucleon [GeV] (<2.24 given temperature and ch pot are used) void SetAw(Double_t value) {fHydjetParams.fAw = value;} // nuclei mass number void SetBmin(Double_t value) {fHydjetParams.fBmin = value;} // Minimum impact parameter void SetBmax(Double_t value) {fHydjetParams.fBmax = value;} // Maximum impact parameter void SetChFrzTemperature(Double_t value) {fHydjetParams.fT = value;} // Temperature for the chemical freezeout [GeV] void SetMuB(Double_t value) {fHydjetParams.fMuB = value;} // Baryonic chemical potential [GeV] void SetMuS(Double_t value) {fHydjetParams.fMuS = value;} // Strangeness chemical potential [GeV] void SetMuQ(Double_t value) {fHydjetParams.fMuI3 = value;} // Isospin chemical potential [GeV] void SetThFrzTemperature(Double_t value) {fHydjetParams.fThFO = value;} // Temperature for the thermal freezeout [GeV] void SetMuPionThermal(Double_t value) {fHydjetParams.fMu_th_pip = value;} // Chemical potential for pi+ at thermal freezeout [GeV] void SetSeed(Int_t value) {fHydjetParams.fSeed = value;} //parameter to set the random nuber seed (=0 the current time is used //to set the random generator seed, !=0 the value fSeed is //used to set the random generator seed and then the state of random //number generator in PYTHIA MRPY(1)=fSeed void SetTauB(Double_t value) {fHydjetParams.fTau = value;} // Proper time for the freeze-out hyper surface [fm/c] void SetSigmaTau(Double_t value) {fHydjetParams.fSigmaTau = value;} // Standard deviation for the proper time (emission duration) [fm/c] void SetRmaxB(Double_t value) {fHydjetParams.fR = value;} // Maximal transverse radius [fm] void SetYlMax(Double_t value) {fHydjetParams.fYlmax = value;} // Maximal fireball longitudinal rapidity void SetEtaRMax(Double_t value) {fHydjetParams.fUmax = value;} // Maximal transverse velocity void SetMomAsymmPar(Double_t value) {fHydjetParams.fDelta = value;} // Momentum asymmetry parameter void SetCoordAsymmPar(Double_t value) {fHydjetParams.fEpsilon = value;} // Coordinate asymmetry parameter void SetEtaType(Int_t value) {fHydjetParams.fEtaType = value;} // flag to choose rapidity distribution, if fEtaType<=0, //then uniform rapidity distribution in [-fYlmax,fYlmax] if fEtaType>0, //then Gaussian with dispertion = fYlmax void SetGammaS(Double_t value) {fHydjetParams.fCorrS = value;} // Strangeness suppression parameter (if gamma_s<=0 then it will be calculated) //PYQUEN parameters void SetPyquenNhsel(Int_t value) {fHydjetParams.fNhsel = value;} // Flag to choose the type of event to be generated // fNhsel = 0 --> UHKM fireball, no jets // fNhsel = 1 --> UHKM fireball, jets with no quenching // fNhsel = 2 --> UHKM fireball, jets with quenching // fNhsel = 3 --> no UHKM fireball, jets with no quenching // fNhsel = 4 --> no UHKM fireball, jets with quenching void SetPyquenShad(Int_t value) {fHydjetParams.fIshad = value;}//flag to switch on/off impact parameter dependent nuclear // shadowing for gluons and light sea quarks (u,d,s) (0: shadowing off, // 1: shadowing on for fAw=207, 197, 110, 40, default: 1 void SetPyquenPtmin(Double_t value) {fHydjetParams.fPtmin = value;} // Pyquen input parameter for minimum Pt of parton-parton scattering (5GeV