// J/Psi composition
return 443;
}
+Int_t AliGenMUONlib::IpJpsiFamily(TRandom *)
+{
+// J/Psi composition
+ Int_t ip;
+ Float_t r = gRandom->Rndm();
+ if (r < 0.98) {
+ ip = 443;
+ } else {
+ ip = 100443;
+ }
+ return ip;
+}
+
// Upsilon
//
// y composition
return 553;
}
+Int_t AliGenMUONlib::IpUpsilonFamily(TRandom *)
+{
+// y composition
+ Int_t ip;
+ Float_t r = gRandom->Rndm();
+
+ if (r < 0.712) {
+ ip = 553;
+ } else if (r < 0.896) {
+ ip = 100553;
+ } else {
+ ip = 200553;
+ }
+ return ip;
+}
//
// Phi
case kEta:
func=PtEta;
break;
+ case kJpsiFamily:
case kJpsi:
if (sname == "Vogt" || sname == "Vogt PbPb") {
func=PtJpsiPbPb;
case kJpsiFromB:
func = PtJpsiBPbPb;
break;
+ case kUpsilonFamily:
case kUpsilon:
if (sname == "Vogt" || sname == "Vogt PbPb") {
func=PtUpsilonPbPb;
} else {
func=PtUpsilon;
}
- break;
+ break;
case kCharm:
func=PtCharm;
break;
case kOmega:
func=YOmega;
break;
+ case kJpsiFamily:
case kJpsi:
if (sname == "Vogt" || sname == "Vogt PbPb") {
func=YJpsiPbPb;
} else {
func=YJpsi;
}
-
break;
case kJpsiFromB:
func = YJpsiBPbPb;
break;
+ case kUpsilonFamily:
case kUpsilon:
if (sname == "Vogt" || sname == "Vogt PbPb") {
func=YUpsilonPbPb;
case kOmega:
func=IpOmega;
break;
+ case kJpsiFamily:
+ func=IpJpsiFamily;
+ break;
case kJpsi:
case kJpsiFromB:
func=IpJpsi;
case kUpsilon:
func=IpUpsilon;
break;
+ case kUpsilonFamily:
+ func=IpUpsilonFamily;
+ break;
case kCharm:
func=IpCharm;
break;
public AliGenLib
{
public:
- enum constants{kPhi, kOmega, kEta, kJpsi, kJpsiFromB, kUpsilon,
+ enum constants{kPhi, kOmega, kEta, kJpsi, kJpsiFamily, kJpsiFromB, kUpsilon, kUpsilonFamily,
kCharm, kBeauty, kPion, kKaon};
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);
// Upsilon
static Double_t PtUpsilon( Double_t *px, Double_t *dummy );
static Double_t YUpsilon(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);
//
// Charm
static Double_t PtCharm( Double_t *px, Double_t *dummy );