return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenMUONlib::PtJpsiCDFscaledPP( Double_t *px, Double_t */*dummy*/)
+{
+// J/Psi pT
+//
+// pp 14 TeV
+//
+// scaled from CDF data at 2 TeV
+
+ const Double_t kpt0 = 5.355;
+ const Double_t kxn = 3.821;
+ Double_t x=*px;
+ //
+ Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
+ return x/TMath::Power(pass1,kxn);
+}
+
Double_t AliGenMUONlib::PtJpsiFlat( Double_t */*px*/, Double_t */*dummy*/ )
{
return 1.;
return AliGenMUONlib::YJpsiPbPb(px, dummy);
}
+Double_t AliGenMUONlib::YJpsiCDFscaledPP( Double_t *px, Double_t* dummy)
+{
+ // J/Psi y
+ return AliGenMUONlib::YJpsiPP(px, dummy);
+}
Double_t AliGenMUONlib::YJpsiPP( Double_t *px, Double_t */*dummy*/)
{
return x/TMath::Power(pass1,kxn);
}
+Double_t AliGenMUONlib::PtUpsilonCDFscaledPP( Double_t *px, Double_t */*dummy*/ )
+{
+// Upsilon pT
+//
+// pp 14 TeV
+//
+// scaled from CDF data at 2 TeV
+
+ const Double_t kpt0 = 8.610;
+ const Double_t kxn = 3.051;
+ Double_t x=*px;
+ //
+ Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
+ return x/TMath::Power(pass1,kxn);
+}
+
Double_t AliGenMUONlib::PtUpsilonFlat( Double_t */*px*/, Double_t */*dummy*/ )
{
return 1.;
return AliGenMUONlib::YUpsilonPbPb(px, dummy);
}
+
+Double_t AliGenMUONlib::YUpsilonCDFscaledPP( Double_t *px, Double_t *dummy)
+{
+ // Upsilon y
+ return AliGenMUONlib::YUpsilonPP(px, dummy);
+
+}
+
Double_t AliGenMUONlib::YUpsilonFlat( Double_t */*px*/, Double_t */*dummy*/)
{
// Upsilon y
func=PtJpsiPP;
} else if (sname == "CDF scaled") {
func=PtJpsiCDFscaled;
+ } else if (sname == "CDF pp") {
+ func=PtJpsiCDFscaledPP;
} else if (sname == "Flat") {
func=PtJpsiFlat;
} else {
func=PtUpsilonPP;
} else if (sname == "CDF scaled") {
func=PtUpsilonCDFscaled;
+ } else if (sname == "CDF pp") {
+ func=PtUpsilonCDFscaledPP;
} else if (sname == "Flat") {
func=PtUpsilonFlat;
} else {
func=YJpsiPP;
} else if (sname == "CDF scaled") {
func=YJpsiCDFscaled;
+ } else if (sname == "CDF pp") {
+ func=YJpsiCDFscaledPP;
} else if (sname == "Flat") {
func=YJpsiFlat;
} else {
func = YUpsilonPP;
} else if (sname == "CDF scaled") {
func=YUpsilonCDFscaled;
+ } else if (sname == "CDF pp") {
+ func=YUpsilonCDFscaledPP;
} else if (sname == "Flat") {
func=YUpsilonFlat;
} else {
// 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);
// 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 );