Generation of Lambda1520
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Jul 2005 13:18:01 +0000 (13:18 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Jul 2005 13:18:01 +0000 (13:18 +0000)
EVGEN/AliGenSTRANGElib.cxx
EVGEN/AliGenSTRANGElib.h
STEER/AliPDG.cxx
data/decaytable.dat

index 130eb88..49d5d30 100644 (file)
@@ -60,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  
@@ -68,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];
@@ -316,7 +318,46 @@ ClassImp(AliGenSTRANGElib)
 }
 // 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*/) const
@@ -341,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("<AliGenSTRANGElib::GetPt> unknown parametrisationn");
@@ -369,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("<AliGenSTRANGElib::GetY> unknown parametrisationn");
@@ -397,6 +444,9 @@ typedef Int_t (*GenFuncIp) (TRandom *);
     case kOmegaMinus:
         func=IpOmegaMinus;
         break;
+    case kLambda1520:
+        func=IpLambda1520;
+        break;
     default:
         func=0;
         printf("<AliGenSTRANGElib::GetIp> unknown parametrisationn");
index 5622712..55eb671 100644 (file)
@@ -21,7 +21,7 @@ class AliGenSTRANGElib :
 public AliGenLib
 {
  public:
-    enum constants{kKaon, kPhi, kLambda, kXiMinus, kOmegaMinus};
+    enum constants{kKaon, kPhi, kLambda, kXiMinus, kOmegaMinus, kLambda1520};
     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;    
@@ -49,6 +49,10 @@ public AliGenLib
     static Double_t PtOmegaMinus(Double_t *px, Double_t *dummy);
     static Double_t YOmegaMinus( Double_t *py, Double_t *dummy);
     static Int_t    IpOmegaMinus(TRandom *ran);
+// Lambda(1520)
+    static Double_t PtLambda1520(Double_t *px, Double_t *dummy);
+    static Double_t YLambda1520(Double_t *py, Double_t *dummy);
+    static Int_t    IpLambda1520(TRandom *ran);
     
     ClassDef(AliGenSTRANGElib,0) // Library providing y and pT parameterisations
 };
index 0aa5af4..9048458 100644 (file)
@@ -87,6 +87,9 @@ ClassImp(AliPDG)
                     0,0,"Special",kspe+50);
   pdgDB->AddParticle("FeedbackPhoton","FeedbackPhoton",0,kFALSE,
                     0,0,"Special",kspe+51);
+  pdgDB->AddParticle("Lambda1520","Lambda1520",1.5195,kFALSE,
+                    0.0156,0,"Resonance",3124);
+  pdgDB->AddAntiParticle("Lambda1520bar",-3124);
 }
 
 
index c51d7a2..9d33362 100644 (file)
@@ -16,3 +16,5 @@
               1    0    0.054000     10551        22         0         0         0
               1    0    0.113000     20553        22         0         0         0
               1    0    0.114000       555        22         0         0         0
+      3124  Lambda1520        Lambda1520bar     0  0  1    1.5195      0.01560     0.06240  0.00000E+00  0  1
+              1    0    1.0           2212      -321         0         0         0