Skip to content

Commit

Permalink
added Lambda and Omega pp5 realistic shapes
Browse files Browse the repository at this point in the history
  • Loading branch information
bianchil authored and TimoWilken committed Jan 9, 2023
1 parent d0715de commit 7a29485
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 2 deletions.
97 changes: 96 additions & 1 deletion EVGEN/AliGenSTRANGElib.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,45 @@ ClassImp(AliGenSTRANGElib)
}
// End K0sPP5

//============================================================================
// Lambda pp 5 TeV (from data)
Double_t AliGenSTRANGElib::PtLambdaPP5( const Double_t *px, const Double_t *)
{
// lambda
// pt-distribution from data
//____________________________________________________________
Double_t ldNdy = 50880.7;
Double_t lTemp = 0.235313;
Double_t lPower = 7.43403;
Double_t lMass = 1.48223;
Double_t lBigCoef = ((lPower-1)*(lPower-2)) / (lPower*lTemp*(lPower*lTemp+lMass*(lPower-2)));
Double_t lInPower = 1 + (TMath::Sqrt(px[0]*px[0]+lMass*lMass)-lMass) / (lPower*lTemp);
return ldNdy * px[0] * lBigCoef * TMath::Power(lInPower,(-1)*lPower);

}

Double_t AliGenSTRANGElib::YLambdaPP5( const Double_t *py, const Double_t *)
{
// y-distribution, valid only in the mid-rapidity region
//____________________________________________________________

return 1;
}

Int_t AliGenSTRANGElib::IpLambdaPP5(TRandom *ran)
{
// particle composition
//

Float_t random = ran->Rndm();
if (random < 0.5) {
return 3122; // Lambda
} else {
return -3122; // AntiLambda
}
}
// End LambdaPP5


//============================================================================
// Xi pp 5 TeV (from data)
Expand Down Expand Up @@ -310,7 +349,45 @@ ClassImp(AliGenSTRANGElib)
return -3312; // Xi+
}
}
// End K0sPP5
// End XiPP5

//============================================================================
// Omega pp 5 TeV (from data)
Double_t AliGenSTRANGElib::PtOmegaPP5( const Double_t *px, const Double_t *)
{
// omega
// pt-distribution from data
//____________________________________________________________
Double_t ldNdy = 27.4922;
Double_t lTemp = 0.176409;
Double_t lPower = 5.39206;
Double_t lMass = 4.55809;
Double_t lBigCoef = ((lPower-1)*(lPower-2)) / (lPower*lTemp*(lPower*lTemp+lMass*(lPower-2)));
Double_t lInPower = 1 + (TMath::Sqrt(px[0]*px[0]+lMass*lMass)-lMass) / (lPower*lTemp);
return ldNdy * px[0] * lBigCoef * TMath::Power(lInPower,(-1)*lPower);

}

Double_t AliGenSTRANGElib::YOmegaPP5( const Double_t *py, const Double_t *)
{
// y-distribution, valid only in the mid-rapidity region
//____________________________________________________________

return 1;
}

Int_t AliGenSTRANGElib::IpOmegaPP5(TRandom *ran)
{
// particle composition
//
Float_t random = ran->Rndm();
if (random < 0.5) {
return 3334; // Omega-
} else {
return -3334; // Omega+
}
}
// End OmegaPP5

//============================================================================
// XIminus
Expand Down Expand Up @@ -453,9 +530,15 @@ typedef Double_t (*GenFunc) (const Double_t*, const Double_t*);
case kK0sPP5:
func=PtK0sPP5;
break;
case kLambdaPP5:
func=PtLambdaPP5;
break;
case kXiPP5:
func=PtXiPP5;
break;
case kOmegaPP5:
func=PtOmegaPP5;
break;
case kXiMinus:
func=PtXiMinus;
break;
Expand Down Expand Up @@ -490,9 +573,15 @@ typedef Double_t (*GenFunc) (const Double_t*, const Double_t*);
case kK0sPP5:
func=YK0sPP5;
break;
case kLambdaPP5:
func=YLambdaPP5;
break;
case kXiPP5:
func=YXiPP5;
break;
case kOmegaPP5:
func=YOmegaPP5;
break;
case kXiMinus:
func=YXiMinus;
break;
Expand Down Expand Up @@ -527,9 +616,15 @@ typedef Int_t (*GenFuncIp) (TRandom *);
case kK0sPP5:
func=IpK0sPP5;
break;
case kLambdaPP5:
func=IpLambdaPP5;
break;
case kXiPP5:
func=IpXiPP5;
break;
case kOmegaPP5:
func=IpOmegaPP5;
break;
case kXiMinus:
func=IpXiMinus;
break;
Expand Down
10 changes: 9 additions & 1 deletion EVGEN/AliGenSTRANGElib.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class AliGenSTRANGElib :
public AliGenLib
{
public:
enum constants{kKaon, kPhi, kLambda, kK0sPP5, kXiPP5, kLambda1520=3124, kOmegaMinus = 3334, kXiMinus = 3312};
enum constants{kKaon, kPhi, kLambda, kK0sPP5, kLambdaPP5, kXiPP5, kOmegaPP5, kLambda1520=3124, kOmegaMinus = 3334, kXiMinus = 3312};
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;
Expand All @@ -45,10 +45,18 @@ public AliGenLib
static Double_t PtK0sPP5(const Double_t *px, const Double_t *dummy);
static Double_t YK0sPP5( const Double_t *py, const Double_t *dummy);
static Int_t IpK0sPP5(TRandom *ran);
// Lampp5
static Double_t PtLambdaPP5(const Double_t *px, const Double_t *dummy);
static Double_t YLambdaPP5( const Double_t *py, const Double_t *dummy);
static Int_t IpLambdaPP5(TRandom *ran);
// Xipp5
static Double_t PtXiPP5(const Double_t *px, const Double_t *dummy);
static Double_t YXiPP5( const Double_t *py, const Double_t *dummy);
static Int_t IpXiPP5(TRandom *ran);
// Ompp5
static Double_t PtOmegaPP5(const Double_t *px, const Double_t *dummy);
static Double_t YOmegaPP5( const Double_t *py, const Double_t *dummy);
static Int_t IpOmegaPP5(TRandom *ran);
// Ximinus
static Double_t PtXiMinus(const Double_t *px, const Double_t *dummy);
static Double_t YXiMinus( const Double_t *py, const Double_t *dummy);
Expand Down

0 comments on commit 7a29485

Please sign in to comment.