Setter for calling Generate n-times
[u/mrichter/AliRoot.git] / EVGEN / AliGenPHOSlib.cxx
index 2cd31b5..9a97f51 100644 (file)
@@ -129,6 +129,14 @@ Int_t AliGenPHOSlib::IpPion(TRandom */*ran*/)
 //    Particle distribution IdPi0Flat  111 (pi0)
 //
 
+Double_t AliGenPHOSlib::PtPi0(const Double_t * px, const Double_t *)
+{
+//     Pion transverse momentum 
+    const Double_t kp0 =1.35; 
+    const Double_t kxn= 6.18;
+    return TMath::Power(kp0 /(kp0 + px[0]), kxn);
+}
+
 Double_t AliGenPHOSlib::PtPi0Flat(const Double_t */*px*/, const Double_t *)
 {
 //     Pion transverse momentum flat distribution 
@@ -166,13 +174,12 @@ Double_t AliGenPHOSlib::YPi0Flat( const Double_t */*py*/, const Double_t *)
 //      7=>BARYONS-BARYONBARS
 
   //    SCALING EN MASSE PAR RAPPORT A PTPI
-  //    MASS                1=>PI,  2=>K, 3=>ETA, 4=>OMEGA,  5=>ETA',6=>PHI
+  //    MASS                0=>PI,  1=>K, 2=>ETA, 3=>OMEGA,  4=>ETA',5=>PHI
   const Double_t khm[10] = {0.1396, 0.494,  0.547,    0.782,   0.957,   1.02, 
-  //    MASS               7=>BARYON-BARYONBAR  
+  //    MASS               6=>BARYON-BARYONBAR  
                                          0.938, 0. , 0., 0.};
   //     VALUE MESON/PI AT 5 GEV
   const Double_t kfmax[10]={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];
   // PIONS
@@ -191,7 +198,7 @@ Double_t AliGenPHOSlib::YPi0Flat( const Double_t */*py*/, const Double_t *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,2);  //  2==> Kaon in the PtScal function
+  return PtScal(*px,1);  //  1==> Kaon in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YKaon( const Double_t *py, const Double_t *)
@@ -266,7 +273,7 @@ Int_t AliGenPHOSlib::IpKaon0L(TRandom *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,3);  //  3==> Eta in the PtScal function
+  return PtScal(*px,2);  //  2==> Eta in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YEta( const Double_t *py, const Double_t *)
@@ -333,7 +340,7 @@ Double_t AliGenPHOSlib::YEtaFlat( const Double_t */*py*/, const Double_t *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,4);  //  4==> Omega in the PtScal function
+  return PtScal(*px,3);  //  3==> Omega in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YOmega( const Double_t *py, const Double_t *)
@@ -401,7 +408,7 @@ Double_t AliGenPHOSlib::YOmegaFlat( const Double_t */*py*/, const Double_t *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,5);  //  5==> Etaprime in the PtScal function
+  return PtScal(*px,4);  //  4==> Etaprime in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YEtaprime( const Double_t *py, const Double_t *)
@@ -436,7 +443,7 @@ Double_t AliGenPHOSlib::YOmegaFlat( const Double_t */*py*/, const Double_t *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,6);  //  6==> Phi in the PtScal function
+  return PtScal(*px,5);  //  5==> Phi in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YPhi( const Double_t *py, const Double_t *)
@@ -471,7 +478,7 @@ Double_t AliGenPHOSlib::YOmegaFlat( const Double_t */*py*/, const Double_t *)
 //                pt-distribution
 //____________________________________________________________
 
-  return PtScal(*px,7);  //  7==> Baryon in the PtScal function
+  return PtScal(*px,6);  //  6==> Baryon in the PtScal function
 }
 
  Double_t AliGenPHOSlib::YBaryon( const Double_t *py, const Double_t *)
@@ -557,6 +564,9 @@ GenFunc AliGenPHOSlib::GetPt(Int_t param, const char* /*tname*/) const
       case kPion:     
         func=PtPion;
         break;
+      case kPi0:     
+        func=PtPi0;
+        break;
       case kPi0Flat:     
         func=PtPi0Flat;
         break;
@@ -597,6 +607,7 @@ GenFunc AliGenPHOSlib::GetY(Int_t param, const char* /*tname*/) const
     case kPion:
       func=YPion;
       break;
+    case kPi0:     
     case kPi0Flat:
       func=YPi0Flat;
       break;
@@ -643,6 +654,7 @@ GenFuncIp AliGenPHOSlib::GetIp(Int_t param,  const char* /*tname*/) const
     case kChargedPion:       
       func=IpChargedPion;
       break;
+    case kPi0:     
     case kPi0Flat:       
       func=IpPi0Flat;
       break;