]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenMUONlib.h
Updates to RAW package. Used during the Computing DC.
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONlib.h
index 997bf4f0f86595f4c85415872b507ae383e726ce..b743971e8d8e9c234dbee3803f0f86f0ed28a7c9 100644 (file)
@@ -17,7 +17,8 @@ class AliGenMUONlib :
   public AliGenLib
 {
  public:
-    enum constants{kPhi, kOmega, kEta, kJpsi, kUpsilon, kCharm, kBeauty, kPion, kKaon};
+  enum constants{kPhi, kOmega, kEta, kJpsi, kJpsiFamily, kPsiP, kJpsiFromB, kUpsilon, kUpsilonFamily,
+                  kUpsilonP, kUpsilonPP, kCharm, kBeauty, kPion, kKaon};
     
     
 // pions
@@ -43,26 +44,54 @@ class AliGenMUONlib :
     static Int_t    IpEta(TRandom *ran);
 // J/Psi     
     static Double_t PtJpsi( Double_t *px, Double_t *dummy);
+    static Double_t PtJpsiCDFscaled( Double_t *px, Double_t *dummy);
     static Double_t YJpsi(Double_t *py, Double_t *dummy);
+    static Double_t PtJpsiPbPb( Double_t *px, Double_t *dummy);
+    static Double_t PtJpsiBPbPb( Double_t *px, Double_t *dummy);
+    static Double_t YJpsiPbPb(Double_t *py, Double_t *dummy);
+    static Double_t YJpsiCDFscaled(Double_t *py, Double_t *dummy);
+    static Double_t PtJpsiPP( Double_t *px, Double_t *dummy);
+    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);
+    static Int_t    IpPsiP(TRandom *ran);
+
 // Upsilon    
     static Double_t PtUpsilon( Double_t *px, Double_t *dummy );
+    static Double_t PtUpsilonCDFscaled( Double_t *px, Double_t *dummy );
     static Double_t YUpsilon(Double_t *py, Double_t *dummy);
+    static Double_t YUpsilonCDFscaled(Double_t *py, Double_t *dummy);
+    static Double_t PtUpsilonPbPb( Double_t *px, Double_t *dummy );
+    static Double_t YUpsilonPbPb(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);
+    static Int_t    IpUpsilonP(TRandom *ran);
+    static Int_t    IpUpsilonPP(TRandom *ran);
 //
 // Charm    
     static Double_t PtCharm( Double_t *px, Double_t *dummy );
+    static Double_t PtCharmCentral( Double_t *px, Double_t *dummy );
     static Double_t YCharm(Double_t *py, Double_t *dummy);
     static Int_t    IpCharm(TRandom *ran);
 //
 // Beauty
     static Double_t PtBeauty( Double_t *px, Double_t *dummy );
+    static Double_t PtBeautyCentral( Double_t *px, Double_t *dummy );
     static Double_t YBeauty(Double_t *py, Double_t *dummy);
     static Int_t    IpBeauty(TRandom *ran);
 //
     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;    
+    GenFuncIp GetIp(Int_t param, const char* tname=0) const;
+ private:
+    
+    static Float_t Interpolate(Float_t x, Float_t* y, Float_t x0, 
+                       Float_t dx,
+                       Int_t n, Int_t no);
+    
     ClassDef(AliGenMUONlib,0) // Library providing y and pT parameterisations
 };
 #endif