X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=EVGEN%2FAliGenSTRANGElib.cxx;h=49d5d30876a46280a283e7034683d260d1973c79;hp=ec4e17919e45759fe042e64b5f3d6698e9685d75;hb=13313168e5c05089a302e8310acea53b973ac34c;hpb=87f8f72ef186ec3116c7d1170efad51588eb6b96 diff --git a/EVGEN/AliGenSTRANGElib.cxx b/EVGEN/AliGenSTRANGElib.cxx index ec4e17919e4..49d5d30876a 100644 --- a/EVGEN/AliGenSTRANGElib.cxx +++ b/EVGEN/AliGenSTRANGElib.cxx @@ -34,9 +34,7 @@ // Tiziano.Virgili@roma1.infn.it //====================================================================== -/* -$Log$ -*/ +/* $Id$ */ #include "TMath.h" #include "TRandom.h" @@ -62,7 +60,7 @@ ClassImp(AliGenSTRANGElib) // MASS SCALING RESPECT TO PIONS // MASS 1=>PI, 2=>K, 3=>ETA,4=>OMEGA,5=>ETA',6=>PHI - const Double_t khm[10] = {0.1396, 0.494,0.547, 0.782, 0.957, 1.02, + const Double_t khm[11] = {0.1396, 0.494,0.547, 0.782, 0.957, 1.02, // MASS 7=>BARYON-BARYONBAR 0.938, // MASS 8=>Lambda-antiLambda @@ -70,9 +68,11 @@ ClassImp(AliGenSTRANGElib) // MASS 9=>Xi-antiXi 1.3213, // MASS 10=>Omega-antiOmega - 1.6725}; + 1.6725, + // MASS 11=>Lambda(1520) + 1.5195}; // VALUE MESON/PI AT 5 GEV - const Double_t kfmax[10]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1.}; + const Double_t kfmax[11]={1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.}; np--; Double_t f5=TMath::Power(((sqrt(100.018215)+2.)/(sqrt(100.+khm[np]*khm[np])+2.0)),12.3); Double_t kfmax2=f5/kfmax[np]; @@ -225,13 +225,17 @@ ClassImp(AliGenSTRANGElib) return ka*TMath::Exp(-ex); } - Int_t AliGenSTRANGElib::IpLambda(TRandom *) + Int_t AliGenSTRANGElib::IpLambda(TRandom *ran) { // particle composition // generation of fixed type of particle // - - return 3122; // Lambda + Float_t random = ran->Rndm(); + if (random < 0.5) { + return 3122; // Lambda + } else { + return -3122; // Anti-Lambda + } } // End Lambda //============================================================================ @@ -260,14 +264,17 @@ ClassImp(AliGenSTRANGElib) return ka*TMath::Exp(-ex); } - Int_t AliGenSTRANGElib::IpXiMinus(TRandom *) + Int_t AliGenSTRANGElib::IpXiMinus(TRandom *ran) { // particle composition // generation of fixed type of particle // - - return 3312; // Xi- (only) -// return -3312; // Xi+ + Float_t random = ran->Rndm(); + if (random < 0.5) { + return 3312; // Xi- + } else { + return -3312; // Xi+ + } } // End Ximinus //============================================================================ @@ -296,20 +303,64 @@ ClassImp(AliGenSTRANGElib) return ka*TMath::Exp(-ex); } - Int_t AliGenSTRANGElib::IpOmegaMinus(TRandom *) + Int_t AliGenSTRANGElib::IpOmegaMinus(TRandom * ran) { // particle composition // generation of fixed type of particle // - return 3334; // Omega- + Float_t random = ran->Rndm(); + if (random < 0.5) { + return 3334; // Omega- + } else { + return -3334; // Omega+ + } } // End Omegaminus //============================================================================ +// Lambda(1520) +Double_t AliGenSTRANGElib::PtLambda1520( Double_t *px, Double_t *) +{ +// Lambda(1520) +// pt-distribution +//____________________________________________________________ + + return PtScal(*px,11); // 11=> Lambda(1520) in the PtScal function +} + +Double_t AliGenSTRANGElib::YLambda1520( Double_t *py, Double_t *) +{ +// y-distribution +//____________________________________________________________ + const Double_t ka = 1000.; + const Double_t kdy = 4.; + + + Double_t y=TMath::Abs(*py); + // + Double_t ex = y*y/(2*kdy*kdy); + return ka*TMath::Exp(-ex); +} + +Int_t AliGenSTRANGElib::IpLambda1520(TRandom * ran) +{ +// particle composition +// generation of fixed type of particle +// + + Float_t random = ran->Rndm(); + if (random < 0.5) { + return 3124; // Lambda(1520) + } else { + return -3124; // antiLambda(1520) + } +} +// End Lambda(1520) +//============================================================================ typedef Double_t (*GenFunc) (Double_t*, Double_t*); - GenFunc AliGenSTRANGElib::GetPt(Int_t param, const char* tname) + GenFunc AliGenSTRANGElib::GetPt(Int_t param, const char* /*tname*/) const { // Return pinter to pT parameterisation GenFunc func; @@ -331,6 +382,9 @@ typedef Double_t (*GenFunc) (Double_t*, Double_t*); case kOmegaMinus: func=PtOmegaMinus; break; + case kLambda1520: + func=PtLambda1520; + break; default: func=0; printf(" unknown parametrisationn"); @@ -338,7 +392,7 @@ typedef Double_t (*GenFunc) (Double_t*, Double_t*); return func; } - GenFunc AliGenSTRANGElib::GetY(Int_t param, const char* tname) + GenFunc AliGenSTRANGElib::GetY(Int_t param, const char* /*tname*/) const { // Return pointer to Y parameterisation GenFunc func; @@ -359,6 +413,9 @@ typedef Double_t (*GenFunc) (Double_t*, Double_t*); case kOmegaMinus: func=YOmegaMinus; break; + case kLambda1520: + func=YLambda1520; + break; default: func=0; printf(" unknown parametrisationn"); @@ -366,7 +423,7 @@ typedef Double_t (*GenFunc) (Double_t*, Double_t*); return func; } typedef Int_t (*GenFuncIp) (TRandom *); - GenFuncIp AliGenSTRANGElib::GetIp(Int_t param, const char* tname) + GenFuncIp AliGenSTRANGElib::GetIp(Int_t param, const char* /*tname*/) const { // Return pointer to particle composition GenFuncIp func; @@ -387,6 +444,9 @@ typedef Int_t (*GenFuncIp) (TRandom *); case kOmegaMinus: func=IpOmegaMinus; break; + case kLambda1520: + func=IpLambda1520; + break; default: func=0; printf(" unknown parametrisationn");