/*
$Log$
+Revision 1.5 2001/05/15 15:43:23 morsch
+Update of library for low mass resonances (Yiota Foka)
+
Revision 1.4 2001/03/09 13:01:41 morsch
- enum constants for paramterisation type (particle family) moved to AliGen*lib.h
- use AliGenGSIlib::kUpsilon, AliGenPHOSlib::kEtaPrime to access the constants
#include "TRandom.h"
#include "TString.h"
#include "AliGenGSIlib.h"
-#include "iostream.h"
ClassImp(AliGenGSIlib)
//--------------------------------------------------------------------------
Int_t AliGenGSIlib::IpUpsilon(TRandom *)
{
+// Return upsilon pdg code
return 553;
}
+Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// upsilon pt-distribution FLAT
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtUpsilonFlat( Double_t *px, Double_t *dummy )
-{
-
+
const Double_t kptmin = 0.0;
const Double_t kptmax = 15.0;
Double_t x=*px;
return weight;
}
+Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// upsilon y-distribution FLAT
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YUpsilonFlat(Double_t *py, Double_t *dummy)
-{
const Double_t ky0 = 1.5;
const Double_t kb=1.;
return yu;
}
+Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// upsilon pt-distribution RITMAN
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtUpsilonRitman( Double_t *px, Double_t *dummy )
-{
const Double_t kpt0 = 4.7;
const Double_t kxn = 3.5;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// upsilon y-distribution RITMAN
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YUpsilonRitman(Double_t *py, Double_t *dummy)
-{
const Double_t ky0 = 3.;
const Double_t kb=1.;
return yu;
}
+Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// upsilon pt-distribution kAREL
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtUpsilonKarel( Double_t *px, Double_t *dummy )
-{
-
- //to implement
+// to implement
return 0.1;
}
+Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// upsilon y-distribution KAREL
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YUpsilonKarel(Double_t *py, Double_t *dummy)
-{
//to implement
return 0.2;
}
+Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// upsilon pt-distribution MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtUpsilonMUON( Double_t *px, Double_t *dummy )
-{
const Double_t kpt0 = 5.3;
const Double_t kxn = 2.5;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// upsilon y-distribution MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YUpsilonMUON(Double_t *py, Double_t *dummy)
-{
const Double_t ky0 = 3.;
const Double_t kb=1.;
//
// J/Psi
//
+Int_t AliGenGSIlib::IpJpsi(TRandom *)
+{
//--------------------------------------------------------------------------
//
// J/Psi particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpJpsi(TRandom *)
-{
return 443;
}
+Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// J/Psi pt-distribution FLAT
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtJpsiFlat( Double_t *px, Double_t *dummy )
-{
const Double_t kptmin = 0.0;
const Double_t kptmax = 15.0;
return weight;
}
+Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// J/Psi y-distribution FLAT
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YJpsiFlat(Double_t *py, Double_t *dummy)
-{
const Double_t ky0 = 1.5;
const Double_t kb=1.;
return yu;
}
+Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// J/Psi pt-distribution MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtJpsiMUON( Double_t *px, Double_t *dummy )
-{
const Double_t kpt0 = 4.;
const Double_t kxn = 3.6;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// J/Psi pt-distribution Ritman
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtJpsiRitman( Double_t *px, Double_t *dummy )
-{
const Double_t kpt0 = 2.3;
const Double_t kxn = 3.5;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// J/Psi y-distribution MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YJpsiMUON(Double_t *py, Double_t *dummy)
-{
const Double_t ky0 = 4.;
const Double_t kb=1.;
// Charm
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpCharm(TRandom *ran)
+{
//
// charm particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpCharm(TRandom *ran)
-{
Float_t random;
Int_t ip;
return ip;
}
+Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// charm pt-distribution, FLAT
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtCharmFlat( Double_t *px, Double_t *dummy)
-{
Double_t x=*px;
return x ;
}
+Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// charm pt-distribution, from Dariuzs Miskowiec
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtCharmGSI( Double_t *px, Double_t *dummy)
-{
+
//Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
const Double_t kp1 = 1.3;
const Double_t kp2 = 0.39;
return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
}
+Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// charm pt-distribution, from MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtCharmMUON( Double_t *px, Double_t *dummy)
-{
const Double_t kpt0 = 4.08;
const Double_t kxn = 9.40;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// charm y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YCharm( Double_t *px, Double_t *dummy)
-{
Double_t *dum=0;
// Beauty
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
+{
//
// beauty particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpBeauty(TRandom *ran)
-{
Float_t random;
Int_t ip;
return ip;
}
+Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// beauty pt-distribution, FLAT
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtBeautyFlat( Double_t *px, Double_t *dummy)
-{
Double_t x=*px;
return x ;
}
+Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
//
// beauty pt-distribution, from D. Miskowiec
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtBeautyGSI( Double_t *px, Double_t *dummy)
-{
+
//Taken from PYTHIA with MRS D-' (3031 from PDFLIB), K=3.0
const Double_t kp1 = 1.3;
const Double_t kp2 = 1.78;
return TMath::Power(x,kp1) * (pass1 + kp3 * pass2);
}
+Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// beauty pt-distribution, from MUONlib
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::PtBeautyMUON( Double_t *px, Double_t *dummy)
-{
const Double_t kpt0 = 4.;
const Double_t kxn = 3.6;
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// beauty y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YBeauty( Double_t *px, Double_t *dummy)
-{
Double_t *dum=0;
// Eta
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpEta(TRandom *)
+{
//
// eta particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpEta(TRandom *)
-{
return 221;
}
+Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// eta pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtEtaPHOS( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,3); // 3==> Eta in the PtScal function
}
+Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// eta y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YEtaPHOS(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
// Etaprime
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpEtaprime(TRandom *)
+{
//
// etaprime particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpEtaprime(TRandom *)
-{
return 331;
}
+Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// etaprime pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtEtaprimePHOS( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,5); // 5==> Etaprime in the PtScal function
}
+Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// etaprime y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YEtaprimePHOS(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
// omega
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpOmega(TRandom *)
+{
//
// omega particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpOmega(TRandom *)
-{
return 223;
}
+Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// omega pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtOmega( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,4); // 4==> Omega in the PtScal function
}
+Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// omega y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YOmega(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
// Rho
//
//--------------------------------------------------------------------------
+
+Int_t AliGenGSIlib::IpRho(TRandom *)
+{
//
// rho particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpRho(TRandom *)
-{
return 113;
}
+Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// rho pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtRho( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,11); // 11==> Rho in the PtScal function
}
+Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// rho y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YRho(Double_t *py, Double_t *dummy)
-{
+
const Double_t ka = 1000.;
const Double_t kdy = 4.;
// Pion
//
//--------------------------------------------------------------------------
+Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
+{
//
// particle composition pi+, pi0, pi-
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpPionPHOS(TRandom *ran)
-{
Float_t random = ran->Rndm();
}
}
}
+Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// pion pt-distribution
// MT SCALING BELOW (T=160 MEV)
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtPion( Double_t *px, Double_t *dummy )
-{
const Double_t kp0 = 1.3;
const Double_t kxn = 8.28;
return y*x;
}
+Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// pion y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YPion(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 7000.;
const Double_t kdy = 4.;
return ka*TMath::Exp(-ex);
}
+Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
+{
//--------------------------------------------------------------------------
//
//
// kaon particle composition K+, K-, Ko_short, Ko_long
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpKaonPHOS(TRandom *ran)
-{
Float_t random = ran->Rndm();
Float_t random2 = ran->Rndm();
}
}
}
+Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// kaon pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtKaonPHOS( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,2); // 2==> Kaon in the PtScal function
}
+Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// kaon y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YKaonPHOS(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
//
// Phi
//
+Int_t AliGenGSIlib::IpPhi(TRandom *)
+{
//--------------------------------------------------------------------------
//
// particle composition
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpPhi(TRandom *)
-{
return 333;
}
+Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// phi pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtPhiPHOS( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,6); // 6==> Phi in the PtScal function
}
+Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// phi y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YPhiPHOS(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
return ka*TMath::Exp(-ex);
}
+Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
+{
//--------------------------------------------------------------------------
//
// Baryons
// baryons particle composition p, pbar, n, nbar
//
//--------------------------------------------------------------------------
-Int_t AliGenGSIlib::IpBaryons(TRandom *ran)
-{
Float_t random = ran->Rndm();
Float_t random2 = ran->Rndm();
}
}
}
+Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
+{
//--------------------------------------------------------------------------
//
// baryons pt-distribution
//
//____________________________________________________________--------------
-Double_t AliGenGSIlib::PtBaryons( Double_t *px, Double_t *dummy )
-{
return PtScal(*px,7); // 7==> Baryon in the PtScal function
}
+Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
+{
//--------------------------------------------------------------------------
//
// baryons y-distribution
//
//--------------------------------------------------------------------------
-Double_t AliGenGSIlib::YBaryons(Double_t *py, Double_t *dummy)
-{
const Double_t ka = 1000.;
const Double_t kdy = 4.;
typedef Int_t (*GenFuncIp) (TRandom *);
-GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname)
+GenFunc AliGenGSIlib::GetPt(Int_t param, const char * tname) const
{
// Return pointer to pT parameterisation
GenFunc func=0;
return func;
}
-GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname)
+GenFunc AliGenGSIlib::GetY(Int_t param, const char * tname) const
{
// Return pointer to y- parameterisation
GenFunc func=0;
return func;
}
-GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname)
+GenFuncIp AliGenGSIlib::GetIp(Int_t param, const char * tname) const
{
// Return pointer to particle type parameterisation
GenFuncIp func=0;