]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenMUONlib.cxx
Update of the TPC-ITS alignment code (Mikolaj)
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONlib.cxx
index 2e3ab4cc3b08032d66f0ce987a6e1bde9f94bcc5..25017e0513ba8c629faef7bafd0bc5ca9c848e91 100644 (file)
@@ -32,7 +32,7 @@
 ClassImp(AliGenMUONlib)
 //
 //  Pions
-Double_t AliGenMUONlib::PtPion(Double_t *px, Double_t* /*dummy*/)
+Double_t AliGenMUONlib::PtPion(const Double_t *px, const Double_t* /*dummy*/)
 {
 //
 //     PT-PARAMETERIZATION CDF, PRL 61(88) 1819
@@ -61,7 +61,7 @@ Double_t AliGenMUONlib::PtPion(Double_t *px, Double_t* /*dummy*/)
 //
 // y-distribution
 //
-Double_t AliGenMUONlib::YPion( Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YPion( const Double_t *py, const Double_t */*dummy*/)
 {
 // Pion y
   Double_t y=TMath::Abs(*py);
@@ -111,7 +111,7 @@ Double_t AliGenMUONlib::PtScal(Double_t pt, Int_t np)
 //
 //                pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtKaon( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtKaon( const Double_t *px, const Double_t */*dummy*/)
 {
 // Kaon pT
   return PtScal(*px,2);
@@ -119,7 +119,7 @@ Double_t AliGenMUONlib::PtKaon( Double_t *px, Double_t */*dummy*/)
 
 // y-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::YKaon( Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YKaon( const Double_t *py, const Double_t */*dummy*/)
 {
 // Kaon y
   Double_t y=TMath::Abs(*py);
@@ -151,7 +151,7 @@ Int_t AliGenMUONlib::IpKaon(TRandom *ran)
 //
 //                pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtJpsi( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsi( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT
   const Double_t kpt0 = 4.;
@@ -162,7 +162,7 @@ Double_t AliGenMUONlib::PtJpsi( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtJpsiCDFscaled( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiCDFscaled( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT
 //
@@ -178,22 +178,7 @@ Double_t AliGenMUONlib::PtJpsiCDFscaled( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtJpsiCDFscaledold( Double_t *px, Double_t */*dummy*/)
-{
-// J/Psi pT
-//
-// PbPb 5.5 TeV
-// scaled from CDF "old" data at 2 TeV
-
-  const Double_t kpt0 = 4.703;
-  const Double_t kxn  = 3.826;
-  Double_t x=*px;
-  //
-  Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
-  return x/TMath::Power(pass1,kxn);
-}
-
-Double_t AliGenMUONlib::PtJpsiCDFscaledPP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiCDFscaledPP( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT
 //
@@ -208,22 +193,7 @@ Double_t AliGenMUONlib::PtJpsiCDFscaledPP( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtJpsiCDFscaledPPold( Double_t *px, Double_t */*dummy*/)
-{
-// J/Psi pT
-//
-// pp 14 TeV
-// scaled from CDF "old" data at 2 TeV
-
-  const Double_t kpt0 = 5.355;
-  const Double_t kxn  = 3.821;
-  Double_t x=*px;
-  //
-  Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
-  return x/TMath::Power(pass1,kxn);
-}
-
-Double_t AliGenMUONlib::PtJpsiCDFscaledPP10( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiCDFscaledPP10( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT
 //
@@ -238,12 +208,12 @@ Double_t AliGenMUONlib::PtJpsiCDFscaledPP10( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtJpsiFlat( Double_t */*px*/, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::PtJpsiFlat( const Double_t */*px*/, const Double_t */*dummy*/ )
 {
   return 1.;
 }
 
-Double_t AliGenMUONlib::PtJpsiPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiPbPb( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT spectrum
 //
@@ -270,7 +240,7 @@ Double_t AliGenMUONlib::PtJpsiPbPb( Double_t *px, Double_t */*dummy*/)
     return y;
 }
 
-Double_t AliGenMUONlib::PtJpsiBPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiBPbPb( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT spectrum
 // B -> J/Psi X
@@ -284,7 +254,7 @@ Double_t AliGenMUONlib::PtJpsiBPbPb( Double_t *px, Double_t */*dummy*/)
 }
 
 
-Double_t AliGenMUONlib::PtJpsiPP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtJpsiPP( const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT spectrum
 //
@@ -311,7 +281,7 @@ Double_t AliGenMUONlib::PtJpsiPP( Double_t *px, Double_t */*dummy*/)
 //
 //               y-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::YJpsi(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YJpsi(const Double_t *py, const Double_t */*dummy*/)
 {
 // J/psi y
   const Double_t ky0 = 4.;
@@ -326,13 +296,13 @@ Double_t AliGenMUONlib::YJpsi(Double_t *py, Double_t */*dummy*/)
   return yj;
 }
 
-Double_t AliGenMUONlib::YJpsiFlat( Double_t */*py*/, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::YJpsiFlat( const Double_t */*py*/, const Double_t */*dummy*/ )
 {
   return 1.;
 }
 
 
-Double_t AliGenMUONlib::YJpsiPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YJpsiPbPb( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -361,31 +331,19 @@ Double_t AliGenMUONlib::YJpsiPbPb( Double_t *px, Double_t */*dummy*/)
     return y;
 }
 
-Double_t AliGenMUONlib::YJpsiCDFscaled( Double_t *px, Double_t* dummy)
+Double_t AliGenMUONlib::YJpsiCDFscaled( const Double_t *px, const Double_t* dummy)
 {
     // J/Psi y 
     return AliGenMUONlib::YJpsiPbPb(px, dummy);
 }
 
-Double_t AliGenMUONlib::YJpsiCDFscaledold( Double_t *px, Double_t* dummy)
-{
-    // J/Psi y 
-    return AliGenMUONlib::YJpsiPbPb(px, dummy);
-}
-
-Double_t AliGenMUONlib::YJpsiCDFscaledPP( Double_t *px, Double_t* dummy)
-{
-    // J/Psi y 
-    return AliGenMUONlib::YJpsiPP(px, dummy);
-}
-
-Double_t AliGenMUONlib::YJpsiCDFscaledPPold( Double_t *px, Double_t* dummy)
+Double_t AliGenMUONlib::YJpsiCDFscaledPP( const Double_t *px, const Double_t* dummy)
 {
     // J/Psi y 
     return AliGenMUONlib::YJpsiPP(px, dummy);
 }
 
-Double_t AliGenMUONlib::YJpsiCDFscaledPP10( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YJpsiCDFscaledPP10( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -416,7 +374,7 @@ Double_t AliGenMUONlib::YJpsiCDFscaledPP10( Double_t *px, Double_t */*dummy*/)
     return y;
 }
 
-Double_t AliGenMUONlib::YJpsiPP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YJpsiPP( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -446,7 +404,7 @@ Double_t AliGenMUONlib::YJpsiPP( Double_t *px, Double_t */*dummy*/)
     return y;
 }
 
-Double_t AliGenMUONlib::YJpsiBPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YJpsiBPbPb( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -505,7 +463,7 @@ Int_t AliGenMUONlib::IpJpsiFamily(TRandom *)
 //
 //                  pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtUpsilon( Double_t *px, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::PtUpsilon( const Double_t *px, const Double_t */*dummy*/ )
 {
 // Upsilon pT
   const Double_t kpt0 = 5.3;
@@ -516,7 +474,7 @@ Double_t AliGenMUONlib::PtUpsilon( Double_t *px, Double_t */*dummy*/ )
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtUpsilonCDFscaled( Double_t *px, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::PtUpsilonCDFscaled( const Double_t *px, const Double_t */*dummy*/ )
 {
 // Upsilon pT
   const Double_t kpt0 = 7.753;
@@ -527,7 +485,7 @@ Double_t AliGenMUONlib::PtUpsilonCDFscaled( Double_t *px, Double_t */*dummy*/ )
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtUpsilonCDFscaledPP( Double_t *px, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::PtUpsilonCDFscaledPP( const Double_t *px, const Double_t */*dummy*/ )
 {
 // Upsilon pT
 //
@@ -543,14 +501,29 @@ Double_t AliGenMUONlib::PtUpsilonCDFscaledPP( Double_t *px, Double_t */*dummy*/
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtUpsilonFlat( Double_t */*px*/, Double_t */*dummy*/ )
+Double_t AliGenMUONlib::PtUpsilonCDFscaledPP10( const Double_t *px, const Double_t */*dummy*/)
 {
-  return 1.;
+// Upsilon pT
+//
+// pp 10 TeV
+//
+// scaled from CDF data at 2 TeV
+
+  const Double_t kpt0 = 8.235;
+  const Double_t kxn  = 3.051;
+  Double_t x=*px;
+  //
+  Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
+  return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtUpsilonPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtUpsilonFlat( const Double_t */*px*/, const Double_t */*dummy*/ )
 {
+  return 1.;
+}
 
+Double_t AliGenMUONlib::PtUpsilonPbPb( const Double_t *px, const Double_t */*dummy*/)
+{
 //
 // Upsilon pT
 //
@@ -577,9 +550,8 @@ Double_t AliGenMUONlib::PtUpsilonPbPb( Double_t *px, Double_t */*dummy*/)
     return y;
 }
 
-Double_t AliGenMUONlib::PtUpsilonPP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtUpsilonPP( const Double_t *px, const Double_t */*dummy*/)
 {
-
 //
 // Upsilon pT
 //
@@ -609,7 +581,7 @@ Double_t AliGenMUONlib::PtUpsilonPP( Double_t *px, Double_t */*dummy*/)
 //                    y-distribution
 //
 //____________________________________________________________
-Double_t AliGenMUONlib::YUpsilon(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YUpsilon(const Double_t *py, const Double_t */*dummy*/)
 {
 // Upsilon y
   const Double_t ky0 = 3.;
@@ -625,7 +597,7 @@ Double_t AliGenMUONlib::YUpsilon(Double_t *py, Double_t */*dummy*/)
 }
 
 
-Double_t AliGenMUONlib::YUpsilonPbPb( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YUpsilonPbPb( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -640,37 +612,55 @@ Double_t AliGenMUONlib::YUpsilonPbPb( Double_t *px, Double_t */*dummy*/)
 
     Double_t c[7] = {3.40036e-01, -3.98882e-07, -4.48398e-03, 8.46411e-08, -6.10854e-04,
                     -2.99753e-09, 1.28895e-05};
-        
-    Double_t x = px[0];
-    if (TMath::Abs(x) > 5.55) return 0.;
+    Double_t x = TMath::Abs(px[0]);
+    if (x > 5.55) return 0.;
     Int_t j;
     Double_t y = c[j = 6];
     while (j > 0) y  = y * x +c[--j];
     return y;
 }
 
-Double_t AliGenMUONlib::YUpsilonCDFscaled( Double_t *px, Double_t *dummy)
+Double_t AliGenMUONlib::YUpsilonCDFscaled( const Double_t *px, const Double_t *dummy)
 {
     // Upsilon y
     return AliGenMUONlib::YUpsilonPbPb(px, dummy);
     
 }
 
-Double_t AliGenMUONlib::YUpsilonCDFscaledPP( Double_t *px, Double_t *dummy)
+Double_t AliGenMUONlib::YUpsilonCDFscaledPP( const Double_t *px, const Double_t *dummy)
 {
     // Upsilon y
     return AliGenMUONlib::YUpsilonPP(px, dummy);
     
 }
 
-Double_t AliGenMUONlib::YUpsilonFlat( Double_t */*px*/, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YUpsilonFlat( const Double_t */*px*/, const Double_t */*dummy*/)
 {
     // Upsilon y
     return 1.;
     
 }
 
-Double_t AliGenMUONlib::YUpsilonPP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YUpsilonCDFscaledPP10( const Double_t *px, const Double_t */*dummy*/)
+{
+
+//
+// Upsilon y
+//
+// pp 10 TeV
+// scaled from YUpsilonPP(14 TeV) using 10 TeV / 14 TeV ratio of y-spectra in LO pQCD. 
+// see S.Grigoryan, PWG3 Meeting, 27th Oct 2008
+//
+    Double_t c[4] = {1.12979e+00, -2.46155e-02, -7.37561e-04, 1.58824e-05};
+    Double_t x = TMath::Abs(px[0]);
+    if (x > 6.1) return 0.;
+    Int_t j;
+    Double_t y = c[j = 3];
+    while (j > 0) y  = y * x*x +c[--j];
+    return y;
+}
+
+Double_t AliGenMUONlib::YUpsilonPP( const Double_t *px, const Double_t */*dummy*/)
 {
 
 //
@@ -684,9 +674,8 @@ Double_t AliGenMUONlib::YUpsilonPP( Double_t *px, Double_t */*dummy*/)
 //
     Double_t c[7] = {8.91936e-01, -6.46645e-07, -1.52774e-02, 4.28677e-08, -7.01517e-04, 
                     -6.20539e-10, 1.29943e-05};
-                
-    Double_t x = px[0];
-    if (TMath::Abs(x) > 6.2) return 0.;
+    Double_t x = TMath::Abs(px[0]);
+    if (x > 6.2) return 0.;
     Int_t j;
     Double_t y = c[j = 6];
     while (j > 0) y  = y * x +c[--j];
@@ -733,13 +722,13 @@ Int_t AliGenMUONlib::IpUpsilonFamily(TRandom *)
 //
 //    pt-distribution (by scaling of pion distribution)
 //____________________________________________________________
-Double_t AliGenMUONlib::PtPhi( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtPhi( const Double_t *px, const Double_t */*dummy*/)
 {
 // Phi pT
   return PtScal(*px,7);
 }
 //    y-distribution
-Double_t AliGenMUONlib::YPhi( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YPhi( const Double_t *px, const Double_t */*dummy*/)
 {
 // Phi y
     Double_t *dum=0;
@@ -759,13 +748,13 @@ Int_t AliGenMUONlib::IpPhi(TRandom *)
 //
 //    pt-distribution (by scaling of pion distribution)
 //____________________________________________________________
-Double_t AliGenMUONlib::PtOmega( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtOmega( const Double_t *px, const Double_t */*dummy*/)
 {
 // Omega pT
   return PtScal(*px,5);
 }
 //    y-distribution
-Double_t AliGenMUONlib::YOmega( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YOmega( const Double_t *px, const Double_t */*dummy*/)
 {
 // Omega y
     Double_t *dum=0;
@@ -786,13 +775,13 @@ Int_t AliGenMUONlib::IpOmega(TRandom *)
 //
 //    pt-distribution (by scaling of pion distribution)
 //____________________________________________________________
-Double_t AliGenMUONlib::PtEta( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtEta( const Double_t *px, const Double_t */*dummy*/)
 {
 // Eta pT
   return PtScal(*px,3);
 }
 //    y-distribution
-Double_t AliGenMUONlib::YEta( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YEta( const Double_t *px, const Double_t */*dummy*/)
 {
 // Eta y
     Double_t *dum=0;
@@ -812,7 +801,7 @@ Int_t AliGenMUONlib::IpEta(TRandom *)
 //
 //                    pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtCharm( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharm( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
   const Double_t kpt0 = 2.25;
@@ -823,7 +812,7 @@ Double_t AliGenMUONlib::PtCharm( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtCharmCentral( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmCentral( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
   const Double_t kpt0 = 2.12;
@@ -833,7 +822,7 @@ Double_t AliGenMUONlib::PtCharmCentral( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // FiMjSkPP define theoretical uncertainties around F0M0S0PP as follows:
 // PtCharmFiMjSkPP = PtCharmF0M0S0PP * (dN(i,j,k)/dpt / dN(0,0,0)/dpt)_MNR
@@ -864,7 +853,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF1M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF1M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 6.06 mb
@@ -876,7 +865,7 @@ Double_t AliGenMUONlib::PtCharmF1M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF2M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF2M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 6.06 mb
@@ -888,7 +877,7 @@ Double_t AliGenMUONlib::PtCharmF2M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M1S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M1S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 7.69 mb
@@ -900,7 +889,7 @@ Double_t AliGenMUONlib::PtCharmF0M1S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M2S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M2S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 4.81 mb
@@ -912,7 +901,7 @@ Double_t AliGenMUONlib::PtCharmF0M2S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S1PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S1PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 14.09 mb
@@ -924,7 +913,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S1PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S2PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S2PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 1.52 mb
@@ -936,7 +925,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S2PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S3PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S3PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 3.67 mb
@@ -948,7 +937,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S3PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S4PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S4PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 3.38 mb
@@ -960,7 +949,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S4PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S5PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S5PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 10.37 mb
@@ -972,7 +961,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S5PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn)*(1.+c[0]*x+c[1]*x*x)/(1.+c[2]*x*x);
 }
-Double_t AliGenMUONlib::PtCharmF0M0S6PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtCharmF0M0S6PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm pT
 // Corresponding NLO total cross section is 7.22 mb
@@ -986,7 +975,7 @@ Double_t AliGenMUONlib::PtCharmF0M0S6PP( Double_t *px, Double_t */*dummy*/)
 }
 
 //                  y-distribution
-Double_t AliGenMUONlib::YCharm( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharm( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y :: Carrer & Dainese : ALICE-INT-2003-019 v.3 (hep-ph/0311225) 
 // Pythia tuned to reproduce the distribution given by the HVQMNR program based on NLO calculations (pQCD)
@@ -1006,7 +995,7 @@ Double_t AliGenMUONlib::YCharm( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // FiMjSkPP define theoretical uncertainties around F0M0S0PP as follows:
 // YCharmFiMjSkPP = YCharmF0M0S0PP * (dN(i,j,k)/dy / dN(0,0,0)/dy)_MNR
@@ -1042,7 +1031,7 @@ Double_t AliGenMUONlib::YCharmF0M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF1M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF1M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 6.06 mb
@@ -1060,7 +1049,7 @@ Double_t AliGenMUONlib::YCharmF1M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF2M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF2M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 6.06 mb
@@ -1078,7 +1067,7 @@ Double_t AliGenMUONlib::YCharmF2M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M1S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M1S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 7.69 mb
@@ -1096,7 +1085,7 @@ Double_t AliGenMUONlib::YCharmF0M1S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M2S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M2S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 4.81 mb
@@ -1114,7 +1103,7 @@ Double_t AliGenMUONlib::YCharmF0M2S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S1PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S1PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 14.09 mb
@@ -1132,7 +1121,7 @@ Double_t AliGenMUONlib::YCharmF0M0S1PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S2PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S2PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 1.52 mb
@@ -1150,7 +1139,7 @@ Double_t AliGenMUONlib::YCharmF0M0S2PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S3PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S3PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 3.67 mb
@@ -1168,7 +1157,7 @@ Double_t AliGenMUONlib::YCharmF0M0S3PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S4PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S4PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 3.38 mb
@@ -1186,7 +1175,7 @@ Double_t AliGenMUONlib::YCharmF0M0S4PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S5PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S5PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 10.37 mb
@@ -1204,7 +1193,7 @@ Double_t AliGenMUONlib::YCharmF0M0S5PP( Double_t *px, Double_t */*dummy*/)
     
     return ycharm;
 }
-Double_t AliGenMUONlib::YCharmF0M0S6PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YCharmF0M0S6PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Charm y
 // Corresponding NLO total cross section is 7.22 mb
@@ -1261,7 +1250,7 @@ Int_t AliGenMUONlib::IpCharm(TRandom *ran)
 //
 //                    pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtBeauty( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeauty( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
   const Double_t kpt0 = 6.53;
@@ -1272,7 +1261,7 @@ Double_t AliGenMUONlib::PtBeauty( Double_t *px, Double_t */*dummy*/)
   return x/TMath::Power(pass1,kxn);
 }
 
-Double_t AliGenMUONlib::PtBeautyCentral( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyCentral( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
   const Double_t kpt0 = 6.14;
@@ -1282,7 +1271,7 @@ Double_t AliGenMUONlib::PtBeautyCentral( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // FiMjSkPP define theoretical uncertainties around F0M0S0PP as follows:
 // PtBeautyFiMjSkPP = PtBeautyF0M0S0PP * (dN(i,j,k)/dpt / dN(0,0,0)/dpt)_MNR
@@ -1311,7 +1300,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF1M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF1M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.445 mb
@@ -1322,7 +1311,7 @@ Double_t AliGenMUONlib::PtBeautyF1M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF2M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF2M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.445 mb
@@ -1333,7 +1322,7 @@ Double_t AliGenMUONlib::PtBeautyF2M0S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M1S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M1S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.518 mb
@@ -1344,7 +1333,7 @@ Double_t AliGenMUONlib::PtBeautyF0M1S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M2S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M2S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.384 mb
@@ -1355,7 +1344,7 @@ Double_t AliGenMUONlib::PtBeautyF0M2S0PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S1PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S1PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.648 mb
@@ -1366,7 +1355,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S1PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S2PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S2PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.294 mb
@@ -1377,7 +1366,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S2PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S3PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S3PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.475 mb
@@ -1388,7 +1377,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S3PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S4PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S4PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.324 mb
@@ -1399,7 +1388,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S4PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S5PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S5PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.536 mb
@@ -1410,7 +1399,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S5PP( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtBeautyF0M0S6PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtBeautyF0M0S6PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty pT
 // Corresponding NLO total cross section is 0.420 mb
@@ -1423,7 +1412,7 @@ Double_t AliGenMUONlib::PtBeautyF0M0S6PP( Double_t *px, Double_t */*dummy*/)
 }
 
 //                     y-distribution
-Double_t AliGenMUONlib::YBeauty( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeauty( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y :: Carrer & Dainese : ALICE-INT-2003-019 v.3 (hep-ph/0311225) 
 // Pythia tuned to reproduce the distribution given by the HVQMNR program based on NLO calculations (pQCD)
@@ -1443,7 +1432,7 @@ Double_t AliGenMUONlib::YBeauty( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // FiMjSkPP define theoretical uncertainties around F0M0S0PP as follows:
 // YBeautyFiMjSkPP = YBeautyF0M0S0PP * (dN(i,j,k)/dy / dN(0,0,0)/dy)_MNR
@@ -1480,7 +1469,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF1M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF1M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.445 mb
@@ -1498,7 +1487,7 @@ Double_t AliGenMUONlib::YBeautyF1M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF2M0S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF2M0S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.445 mb
@@ -1516,7 +1505,7 @@ Double_t AliGenMUONlib::YBeautyF2M0S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M1S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M1S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.518 mb
@@ -1534,7 +1523,7 @@ Double_t AliGenMUONlib::YBeautyF0M1S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M2S0PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M2S0PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.384 mb
@@ -1552,7 +1541,7 @@ Double_t AliGenMUONlib::YBeautyF0M2S0PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S1PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S1PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.648 mb
@@ -1570,7 +1559,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S1PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S2PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S2PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.294 mb
@@ -1588,7 +1577,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S2PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S3PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S3PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.475 mb
@@ -1606,7 +1595,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S3PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S4PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S4PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.324 mb
@@ -1624,7 +1613,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S4PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S5PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S5PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.536 mb
@@ -1642,7 +1631,7 @@ Double_t AliGenMUONlib::YBeautyF0M0S5PP( Double_t *px, Double_t */*dummy*/)
     
     return ybeauty;
 }
-Double_t AliGenMUONlib::YBeautyF0M0S6PP( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YBeautyF0M0S6PP( const Double_t *px, const Double_t */*dummy*/)
 {
 // Beauty y
 // Corresponding NLO total cross section is 0.420 mb
@@ -1693,7 +1682,7 @@ Int_t AliGenMUONlib::IpBeauty(TRandom *ran)
 }
 
 
-typedef Double_t (*GenFunc) (Double_t*,  Double_t*);
+typedef Double_t (*GenFunc) (const Double_t*,  const Double_t*);
 GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
 {
 // Return pointer to pT parameterisation
@@ -1723,10 +1712,6 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtJpsiCDFscaledPP;
        } else if (sname == "CDF pp 10") {
            func=PtJpsiCDFscaledPP10;
-       } else if (sname == "CDF scaled old") {
-           func=PtJpsiCDFscaledold;
-       } else if (sname == "CDF pp old") {
-           func=PtJpsiCDFscaledPPold;
        } else if (sname == "Flat") {
            func=PtJpsiFlat;
        } else {
@@ -1748,6 +1733,8 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtUpsilonCDFscaled;
        } else if (sname == "CDF pp") {
            func=PtUpsilonCDFscaledPP;
+       } else if (sname == "CDF pp 10") {
+           func=PtUpsilonCDFscaledPP10;
        } else if (sname == "Flat") {
            func=PtUpsilonFlat;
        } else {
@@ -1818,17 +1805,17 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
     case kKaon:
        func=PtKaon;
        break;
-    case kChi_c0:
-       func=PtChi_c0;
+    case kChic0:
+       func=PtChic0;
        break;
-    case kChi_c1:
-       func=PtChi_c1;
+    case kChic1:
+       func=PtChic1;
        break;
-    case kChi_c2:
-       func=PtChi_c2;
+    case kChic2:
+       func=PtChic2;
        break;
-    case kChi_c:
-       func=PtChi_c;
+    case kChic:
+       func=PtChic;
        break;
     default:
         func=0;
@@ -1868,10 +1855,6 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YJpsiCDFscaledPP;
        } else if (sname == "CDF pp 10") {
            func=YJpsiCDFscaledPP10;
-       } else if (sname == "CDF scaled old") {
-           func=YJpsiCDFscaledold;
-       } else if (sname == "CDF pp old") {
-           func=YJpsiCDFscaledPPold;
        } else if (sname == "Flat") {
            func=YJpsiFlat;
        } else {
@@ -1893,6 +1876,8 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YUpsilonCDFscaled;
        } else if (sname == "CDF pp") {
            func=YUpsilonCDFscaledPP;
+       } else if (sname == "CDF pp 10") {
+           func=YUpsilonCDFscaledPP10;
        } else if (sname == "Flat") {
            func=YUpsilonFlat;
        } else {
@@ -1959,17 +1944,17 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
     case kKaon:
        func=YKaon;
        break;
-    case kChi_c0:
-       func=YChi_c0;
+    case kChic0:
+       func=YChic0;
        break;
-    case kChi_c1:
-       func=YChi_c1;
+    case kChic1:
+       func=YChic1;
        break;
-    case kChi_c2:
-       func=YChi_c2;
+    case kChic2:
+       func=YChic2;
        break;
-    case kChi_c:
-       func=YChi_c;
+    case kChic:
+       func=YChic;
        break;
     default:
         func=0;
@@ -1984,7 +1969,7 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
 //
 //                pt-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::PtChi_c0( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtChic0( const Double_t *px, const Double_t */*dummy*/)
 {
 // Chi_c1 pT
   const Double_t kpt0 = 4.;
@@ -1994,7 +1979,7 @@ Double_t AliGenMUONlib::PtChi_c0( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtChi_c1( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtChic1( const Double_t *px, const Double_t */*dummy*/)
 {
 // Chi_c1 pT
   const Double_t kpt0 = 4.;
@@ -2004,7 +1989,7 @@ Double_t AliGenMUONlib::PtChi_c1( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtChi_c2( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtChic2( const Double_t *px, const Double_t */*dummy*/)
 {
 // Chi_c2 pT
   const Double_t kpt0 = 4.;
@@ -2014,7 +1999,7 @@ Double_t AliGenMUONlib::PtChi_c2( Double_t *px, Double_t */*dummy*/)
   Double_t pass1 = 1.+(x/kpt0)*(x/kpt0);
   return x/TMath::Power(pass1,kxn);
 }
-Double_t AliGenMUONlib::PtChi_c( Double_t *px, Double_t */*dummy*/)
+Double_t AliGenMUONlib::PtChic( const Double_t *px, const Double_t */*dummy*/)
 {
 // Chi_c family pT
   const Double_t kpt0 = 4.;
@@ -2028,7 +2013,7 @@ Double_t AliGenMUONlib::PtChi_c( Double_t *px, Double_t */*dummy*/)
 //
 //               y-distribution
 //____________________________________________________________
-Double_t AliGenMUONlib::YChi_c0(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YChic0(const Double_t *py, const Double_t */*dummy*/)
 {
 // Chi-1c y
   const Double_t ky0 = 4.;
@@ -2043,7 +2028,7 @@ Double_t AliGenMUONlib::YChi_c0(Double_t *py, Double_t */*dummy*/)
   return yj;
 }
 
-Double_t AliGenMUONlib::YChi_c1(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YChic1(const Double_t *py, const Double_t */*dummy*/)
 {
 // Chi-1c y
   const Double_t ky0 = 4.;
@@ -2058,7 +2043,7 @@ Double_t AliGenMUONlib::YChi_c1(Double_t *py, Double_t */*dummy*/)
   return yj;
 }
 
-Double_t AliGenMUONlib::YChi_c2(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YChic2(const Double_t *py, const Double_t */*dummy*/)
 {
 // Chi-2c y
   const Double_t ky0 = 4.;
@@ -2073,7 +2058,7 @@ Double_t AliGenMUONlib::YChi_c2(Double_t *py, Double_t */*dummy*/)
   return yj;
 }
 
-Double_t AliGenMUONlib::YChi_c(Double_t *py, Double_t */*dummy*/)
+Double_t AliGenMUONlib::YChic(const Double_t *py, const Double_t */*dummy*/)
 {
 // Chi_c family y
   const Double_t ky0 = 4.;
@@ -2090,23 +2075,23 @@ Double_t AliGenMUONlib::YChi_c(Double_t *py, Double_t */*dummy*/)
 
 //                 particle composition
 //
-Int_t AliGenMUONlib::IpChi_c0(TRandom *)
+Int_t AliGenMUONlib::IpChic0(TRandom *)
 {
 // Chi composition
     return 10441;
 }
 //
-Int_t AliGenMUONlib::IpChi_c1(TRandom *)
+Int_t AliGenMUONlib::IpChic1(TRandom *)
 {
 // Chi composition
     return 20443;
 }
-Int_t AliGenMUONlib::IpChi_c2(TRandom *)
+Int_t AliGenMUONlib::IpChic2(TRandom *)
 {
 // Chi_c2 prime composition
     return 445;
 }
-Int_t AliGenMUONlib::IpChi_c(TRandom *)
+Int_t AliGenMUONlib::IpChic(TRandom *)
 {
 // Chi composition
   Int_t ip;
@@ -2174,17 +2159,17 @@ GenFuncIp AliGenMUONlib::GetIp(Int_t param,  const char* /*tname*/) const
     case kKaon:
        func=IpKaon;
        break;
-    case kChi_c0:
-       func=IpChi_c0;
+    case kChic0:
+       func=IpChic0;
        break;
-    case kChi_c1:
-       func=IpChi_c1;
+    case kChic1:
+       func=IpChic1;
        break;
-    case kChi_c2:
-       func=IpChi_c2;
+    case kChic2:
+       func=IpChic2;
        break;
-    case kChi_c:
-        func=IpChi_c;
+    case kChic:
+        func=IpChic;
         break;
     default:
         func=0;