public AliGenLib
{
public:
- enum constants{kPhi, kOmega, kEta, kJpsi, kJpsiFamily, kJpsiFromB, kUpsilon, kUpsilonFamily,
- kCharm, kBeauty, kPion, kKaon};
+ enum constants{kPhi, kOmega, kEta, kJpsi, kJpsiFamily, kPsiP, kJpsiFromB, kUpsilon, kUpsilonFamily,
+ kUpsilonP, kUpsilonPP, kCharm, kBeauty, kPion, kKaon,kChi_c, kChi_c0, kChi_c1, kChi_c2 };
+ GenFunc GetPt(Int_t param, const char* tname=0) const;
+ GenFunc GetY (Int_t param, const char* tname=0) const;
+ GenFuncIp GetIp(Int_t param, const char* tname=0) const;
+ private:
// pions
static Double_t PtPion(Double_t *px, Double_t *dummy);
static Int_t IpEta(TRandom *ran);
// J/Psi
static Double_t PtJpsi( Double_t *px, Double_t *dummy);
+ static Double_t PtJpsiCDFscaled( Double_t *px, Double_t *dummy);
+ static Double_t PtJpsiCDFscaledPP( Double_t *px, Double_t *dummy);
static Double_t YJpsi(Double_t *py, Double_t *dummy);
static Double_t PtJpsiPbPb( Double_t *px, Double_t *dummy);
static Double_t PtJpsiBPbPb( Double_t *px, Double_t *dummy);
static Double_t YJpsiPbPb(Double_t *py, Double_t *dummy);
+ static Double_t YJpsiCDFscaled(Double_t *py, Double_t *dummy);
+ static Double_t YJpsiCDFscaledPP( Double_t *px, Double_t *dummy);
static Double_t PtJpsiPP( Double_t *px, Double_t *dummy);
static Double_t YJpsiPP(Double_t *py, Double_t *dummy);
static Double_t YJpsiBPbPb(Double_t *py, Double_t *dummy);
static Int_t IpJpsi(TRandom *ran);
static Int_t IpJpsiFamily(TRandom *ran);
+ static Int_t IpPsiP(TRandom *ran);
+ static Double_t PtJpsiFlat( Double_t *px, Double_t *dummy );
+ static Double_t YJpsiFlat(Double_t *py, Double_t *dummy);
+
// Upsilon
static Double_t PtUpsilon( Double_t *px, Double_t *dummy );
+ static Double_t PtUpsilonCDFscaled( Double_t *px, Double_t *dummy );
+ static Double_t PtUpsilonCDFscaledPP( Double_t *px, Double_t *dummy );
static Double_t YUpsilon(Double_t *py, Double_t *dummy);
+ static Double_t YUpsilonCDFscaled(Double_t *py, Double_t *dummy);
+ static Double_t YUpsilonCDFscaledPP( Double_t *px, Double_t *dummy );
static Double_t PtUpsilonPbPb( Double_t *px, Double_t *dummy );
static Double_t YUpsilonPbPb(Double_t *py, Double_t *dummy);
static Double_t PtUpsilonPP( Double_t *px, Double_t *dummy );
static Double_t YUpsilonPP(Double_t *py, Double_t *dummy);
static Int_t IpUpsilon(TRandom *ran);
static Int_t IpUpsilonFamily(TRandom *ran);
+ static Int_t IpUpsilonP(TRandom *ran);
+ static Int_t IpUpsilonPP(TRandom *ran);
+ static Double_t PtUpsilonFlat( Double_t *px, Double_t *dummy );
+ static Double_t YUpsilonFlat(Double_t *py, Double_t *dummy);
//
// Charm
static Double_t PtCharm( Double_t *px, Double_t *dummy );
+ static Double_t PtCharmCentral( Double_t *px, Double_t *dummy );
static Double_t YCharm(Double_t *py, Double_t *dummy);
static Int_t IpCharm(TRandom *ran);
//
// Beauty
static Double_t PtBeauty( Double_t *px, Double_t *dummy );
+ static Double_t PtBeautyCentral( Double_t *px, Double_t *dummy );
static Double_t YBeauty(Double_t *py, Double_t *dummy);
static Int_t IpBeauty(TRandom *ran);
//
- GenFunc GetPt(Int_t param, const char* tname=0) const;
- GenFunc GetY (Int_t param, const char* tname=0) const;
- GenFuncIp GetIp(Int_t param, const char* tname=0) const;
- private:
+
+ // Chi 1c 2c
+ static Double_t PtChi_c0( Double_t *px, Double_t *dummy);
+ static Double_t YChi_c0(Double_t *py, Double_t *dummy);
+ static Int_t IpChi_c0(TRandom *ran);
+
+ static Double_t PtChi_c1( Double_t *px, Double_t *dummy);
+ static Double_t YChi_c1(Double_t *py, Double_t *dummy);
+ static Int_t IpChi_c1(TRandom *ran);
+
+ static Double_t PtChi_c2( Double_t *px, Double_t *dummy);
+ static Double_t YChi_c2(Double_t *py, Double_t *dummy);
+ static Int_t IpChi_c2(TRandom *ran);
+
+ static Double_t PtChi_c( Double_t *px, Double_t *dummy);
+ static Double_t YChi_c(Double_t *py, Double_t *dummy);
+ static Int_t IpChi_c(TRandom *ran);
+
+//
+
static Float_t Interpolate(Float_t x, Float_t* y, Float_t x0,
Float_t dx,