]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Simulate quarkonia
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 24 Jun 2012 19:07:22 +0000 (19:07 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 24 Jun 2012 19:07:22 +0000 (19:07 +0000)
and HF-hadrons in p-Pb & Pb-p at 5.03 TeV

Smbat Grigoryan <Smbat.Grigoryan@cern.ch>

EVGEN/AliGenCorrHF.cxx
EVGEN/AliGenMUONCocktailpp.cxx
EVGEN/AliGenMUONCocktailpp.h
EVGEN/AliGenMUONlib.cxx
EVGEN/AliGenMUONlib.h
EVGEN/dataCorrHF/BeautyPPb5PythiaMNR.root [new file with mode: 0644]
EVGEN/dataCorrHF/CharmPPb5PythiaMNR.root [new file with mode: 0644]

index b39cf13dd64c663226718e120440356310494c62..e92e64e06935da33d7d6a2f5da3157c2e4327473 100644 (file)
@@ -38,6 +38,7 @@
 // Quarks, hadrons and decay particles are loaded in the stack outside the loop
 // of HF-hadrons, when the cuts on their children are satisfied (L. Manceau)
 // Oct 11: added Pb-Pb at 2.76 TeV (S. Grigoryan)
+// June 12: added p-Pb & Pb-p at 5 TeV (S. Grigoryan)
 // 
 //-------------------------------------------------------------------------
 // How it works (for the given flavor and p-p energy):
@@ -172,6 +173,8 @@ AliGenCorrHF::AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy):
           fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/BeautyPbPb276PythiaMNR.root";
       else if (fEnergy == 4)
           fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/BeautyPbPb394PythiaMNR.root";
+      else if (fEnergy == 5 || fEnergy == -5)
+          fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/BeautyPPb5PythiaMNR.root";
       else if (fEnergy == 9 || fEnergy == -9)
           fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/BeautyPPb88PythiaMNR.root";
       else fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/BeautyPbPb394PythiaMNR.root";
@@ -188,6 +191,8 @@ AliGenCorrHF::AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy):
            fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/CharmPbPb276PythiaMNR.root";
       else if (fEnergy == 4)
            fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/CharmPbPb394PythiaMNR.root";
+      else if (fEnergy == 5 || fEnergy == -5)
+           fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/CharmPPb5PythiaMNR.root";
       else if (fEnergy == 9 || fEnergy == -9)
            fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/CharmPPb88PythiaMNR.root";
       else fFileName = "$ALICE_ROOT/EVGEN/dataCorrHF/CharmPbPb394PythiaMNR.root";
@@ -344,7 +349,8 @@ void AliGenCorrHF::Generate()
     
     GetHadronPair(fFile, fQuark, yq[0], yq[1], ptq[0], ptq[1], ihadron[0], ihadron[1], plh[0], plh[1], pth[0], pth[1]);
     
-    if (fEnergy == 9 || fEnergy == -9) {      // boost particles from c.m.s. to ALICE lab frame
+    // Boost particles from c.m.s. to ALICE lab frame for p-Pb & Pb-p collisions
+    if (fEnergy == 5 || fEnergy == -5 || fEnergy == 9 || fEnergy == -9) {
       Double_t dyBoost = 0.47;
       Double_t beta  = TMath::TanH(dyBoost);
       Double_t gamma = 1./TMath::Sqrt((1.-beta)*(1.+beta));
@@ -353,7 +359,7 @@ void AliGenCorrHF::Generate()
       yq[1] += dyBoost;
       plh[0] = gb * TMath::Sqrt(plh[0]*plh[0] + pth[0]*pth[0]) + gamma * plh[0];
       plh[1] = gb * TMath::Sqrt(plh[1]*plh[1] + pth[1]*pth[1]) + gamma * plh[1];
-      if (fEnergy == 9) {
+      if (fEnergy == 5 || fEnergy == 9) {
        yq[0] *= -1;
        yq[1] *= -1;
        plh[0] *= -1;
index e17f372c58495531d79596e7513912a980e4dd64..bcc6c7f2b6d05d43379bfbc4cf71de1d76c211c1 100644 (file)
 // https://indico.cern.ch/conferenceDisplay.py?confId=157367
 // - simplifications and bug fix in CreateCocktail() 
 // S. Grigoryan
+//-----------------------
+// 06/2012:
+// - added the cocktail for p-Pb & Pb-p @ 2.76, 4.4 & 5.03 TeV with 4 centrality 
+// bins, using the EPS09-LO shadowing computed for 5.03 TeV. Energies are set by
+// AliGenMUONCocktailpp::SetCMSEnergy(int CMSEnergyCode), CMSEnergy codes are
+// defined in AliGenMUONCocktailpp.h.
+// - added functions to scale x-section of JPsi, Charmonia, Bottomonia, CCbar & BBbar
+// in Config.C, e.g. AliGenMUONCocktailpp::ScaleJPsi(2.5), to manage the statistics.
+// S. Grigoryan
  
 #include <TObjArray.h>
 #include <TParticle.h>
@@ -90,6 +99,11 @@ AliGenMUONCocktailpp::AliGenMUONCocktailpp()
      fNSucceded(0),
      fNGenerated(0),
      fCentralityBin(0),
+     fScaleJPsi(1),
+     fScaleCharmonia(1),
+     fScaleBottomonia(1),
+     fScaleCCbar(1),
+     fScaleBBbar(1),
 
      fJpsiPol(0), 
      fChic1Pol(0), 
@@ -132,7 +146,7 @@ AliGenMUONCocktailpp::AliGenMUONCocktailpp()
 // gives 60 mub; so sigma_prompt = 54 mub, while Ref = R.Vogt_arXiv:1003.3497 (Table 2)
 // gives 35 mub. Below we use sigma_direct from the Ref scaled by the factor 54/35.
 // -bottomonia: 4pi integral of fit function for inclusive Upsilon1S dsigma/dy LHC data
-// gives 0.56 mub, sigmas for 2S & 3S obtained using CMS data for ratios 2S/1S & 3S/1S
+// gives 0.56 mub, sigmas for 2S & 3S obtained using LHCb data for ratios 2S/1S & 3S/1S
 // -ccbar & bbbar: NLO pQCD computations - http://www-alice.gsi.de/ana/MNR/results.html
     fCMSEnergyTeVArray[0] =   7.00;
     fSigmaReactionArray[0] =  0.070;
@@ -141,8 +155,8 @@ AliGenMUONCocktailpp::AliGenMUONCocktailpp()
     fSigmaChic2Array[0] =     53.8e-6;
     fSigmaPsiPArray[0] =       7.6e-6;
     fSigmaUpsilonArray[0] =   0.56e-6;
-    fSigmaUpsilonPArray[0] =  0.19e-6;
-    fSigmaUpsilonPPArray[0] = 0.09e-6;
+    fSigmaUpsilonPArray[0] =  0.18e-6;
+    fSigmaUpsilonPPArray[0] = 0.08e-6;
     fSigmaCCbarArray[0] =     6.91e-3;
     fSigmaBBbarArray[0] =     0.232e-3;
     
@@ -175,20 +189,20 @@ AliGenMUONCocktailpp::AliGenMUONCocktailpp()
     fSigmaCCbarArray[2] =     11.2e-3;
     fSigmaBBbarArray[2] =     0.445e-3;
 
-// x-sections for Min. Bias p-Pb & Pb-p @ 8.8 TeV: charmonia and bottomonia 
+// x-sections for Min. Bias p-Pb & Pb-p @ 2.76 TeV: charmonia and bottomonia 
 // from 7 TeV numbers scaled according to pQCD ccbar and bbbar x-sections
 // and with Glauber scaling
-    fCMSEnergyTeVArray[3] =   9.00;           // for 8.8 TeV
+    fCMSEnergyTeVArray[3] =   2.00;           // for 2.76 TeV
     fSigmaReactionArray[3] =  2.10;
-    fSigmaJPsiArray[3] =      8.19e-3;        // 208*1.172*33.6e-6
-    fSigmaChic1Array[3] =     7.95e-3;
-    fSigmaChic2Array[3] =     13.1e-3;
-    fSigmaPsiPArray[3] =      1.85e-3;
-    fSigmaUpsilonArray[3] =   0.146e-3;       // 208*1.25*0.56e-6
-    fSigmaUpsilonPArray[3] =  0.049e-3;
-    fSigmaUpsilonPPArray[3] = 0.023e-3;
-    fSigmaCCbarArray[3] =     1.68;           // 208*8.1e-3
-    fSigmaBBbarArray[3] =     0.061;          // 208*0.29e-3
+    fSigmaJPsiArray[3] =      3.54e-3;        // 208*0.507*33.6e-6
+    fSigmaChic1Array[3] =     3.44e-3;
+    fSigmaChic2Array[3] =     5.66e-3;
+    fSigmaPsiPArray[3] =      0.80e-3;
+    fSigmaUpsilonArray[3] =   0.045e-3;       // 208*0.384*0.56e-6
+    fSigmaUpsilonPArray[3] =  0.014e-3;
+    fSigmaUpsilonPPArray[3] = 0.006e-3;
+    fSigmaCCbarArray[3] =     0.73;           // 208*3.50e-3
+    fSigmaBBbarArray[3] =     0.019;          // 208*0.089e-3
 
     fCMSEnergyTeVArray[4] =  -fCMSEnergyTeVArray[3];
     fSigmaReactionArray[4] =  fSigmaReactionArray[3];
@@ -202,20 +216,101 @@ AliGenMUONCocktailpp::AliGenMUONCocktailpp()
     fSigmaCCbarArray[4] =     fSigmaCCbarArray[3];
     fSigmaBBbarArray[4] =     fSigmaBBbarArray[3];
 
+// x-sections for Min. Bias p-Pb & Pb-p @ 4.4 TeV: charmonia and bottomonia 
+// from 7 TeV numbers scaled according to pQCD ccbar and bbbar x-sections
+// and with Glauber scaling
+    fCMSEnergyTeVArray[5] =   4.00;           // for 4.4 TeV
+    fSigmaReactionArray[5] =  2.10;
+    fSigmaJPsiArray[5] =      5.00e-3;        // 208*0.715*33.6e-6
+    fSigmaChic1Array[5] =     4.86e-3;
+    fSigmaChic2Array[5] =     7.99e-3;
+    fSigmaPsiPArray[5] =      1.12e-3;
+    fSigmaUpsilonArray[5] =   0.074e-3;       // 208*0.629*0.56e-6
+    fSigmaUpsilonPArray[5] =  0.023e-3;
+    fSigmaUpsilonPPArray[5] = 0.010e-3;
+    fSigmaCCbarArray[5] =     1.03;           // 208*4.94e-3
+    fSigmaBBbarArray[5] =     0.030;          // 208*0.146e-3
+
+    fCMSEnergyTeVArray[6] =  -fCMSEnergyTeVArray[5];
+    fSigmaReactionArray[6] =  fSigmaReactionArray[5];
+    fSigmaJPsiArray[6] =      fSigmaJPsiArray[5];
+    fSigmaChic1Array[6] =     fSigmaChic1Array[5];
+    fSigmaChic2Array[6] =     fSigmaChic2Array[5];
+    fSigmaPsiPArray[6] =      fSigmaPsiPArray[5];
+    fSigmaUpsilonArray[6] =   fSigmaUpsilonArray[5];
+    fSigmaUpsilonPArray[6] =  fSigmaUpsilonPArray[5];
+    fSigmaUpsilonPPArray[6] = fSigmaUpsilonPPArray[5];
+    fSigmaCCbarArray[6] =     fSigmaCCbarArray[5];
+    fSigmaBBbarArray[6] =     fSigmaBBbarArray[5];
+
+// x-sections for Min. Bias p-Pb & Pb-p @ 5.03 TeV: charmonia and bottomonia 
+// from 7 TeV numbers scaled according to pQCD ccbar and bbbar x-sections
+// and with Glauber scaling
+    fCMSEnergyTeVArray[7] =   5.00;           // for 5.03 TeV
+    fSigmaReactionArray[7] =  2.10;
+    fSigmaJPsiArray[7] =      5.50e-3;        // 208*0.787*33.6e-6
+    fSigmaChic1Array[7] =     5.35e-3;
+    fSigmaChic2Array[7] =     8.79e-3;
+    fSigmaPsiPArray[7] =      1.23e-3;
+    fSigmaUpsilonArray[7] =   0.083e-3;       // 208*0.716*0.56e-6
+    fSigmaUpsilonPArray[7] =  0.026e-3;
+    fSigmaUpsilonPPArray[7] = 0.011e-3;
+    fSigmaCCbarArray[7] =     1.13;           // 208*5.44e-3
+    fSigmaBBbarArray[7] =     0.035;          // 208*0.166e-3
+
+    fCMSEnergyTeVArray[8] =  -fCMSEnergyTeVArray[7];
+    fSigmaReactionArray[8] =  fSigmaReactionArray[7];
+    fSigmaJPsiArray[8] =      fSigmaJPsiArray[7];
+    fSigmaChic1Array[8] =     fSigmaChic1Array[7];
+    fSigmaChic2Array[8] =     fSigmaChic2Array[7];
+    fSigmaPsiPArray[8] =      fSigmaPsiPArray[7];
+    fSigmaUpsilonArray[8] =   fSigmaUpsilonArray[7];
+    fSigmaUpsilonPArray[8] =  fSigmaUpsilonPArray[7];
+    fSigmaUpsilonPPArray[8] = fSigmaUpsilonPPArray[7];
+    fSigmaCCbarArray[8] =     fSigmaCCbarArray[7];
+    fSigmaBBbarArray[8] =     fSigmaBBbarArray[7];
+
+// x-sections for Min. Bias p-Pb & Pb-p @ 8.8 TeV: charmonia and bottomonia 
+// from 7 TeV numbers scaled according to pQCD ccbar and bbbar x-sections
+// and with Glauber scaling
+    fCMSEnergyTeVArray[9] =   9.00;           // for 8.8 TeV
+    fSigmaReactionArray[9] =  2.10;
+    fSigmaJPsiArray[9] =      8.19e-3;        // 208*1.172*33.6e-6
+    fSigmaChic1Array[9] =     7.95e-3;
+    fSigmaChic2Array[9] =     13.1e-3;
+    fSigmaPsiPArray[9] =      1.85e-3;
+    fSigmaUpsilonArray[9] =   0.146e-3;       // 208*1.25*0.56e-6
+    fSigmaUpsilonPArray[9] =  0.047e-3;
+    fSigmaUpsilonPPArray[9] = 0.021e-3;
+    fSigmaCCbarArray[9] =     1.68;           // 208*8.1e-3
+    fSigmaBBbarArray[9] =     0.061;          // 208*0.29e-3
+
+    fCMSEnergyTeVArray[10] =  -fCMSEnergyTeVArray[9];
+    fSigmaReactionArray[10] =  fSigmaReactionArray[9];
+    fSigmaJPsiArray[10] =      fSigmaJPsiArray[9];
+    fSigmaChic1Array[10] =     fSigmaChic1Array[9];
+    fSigmaChic2Array[10] =     fSigmaChic2Array[9];
+    fSigmaPsiPArray[10] =      fSigmaPsiPArray[9];
+    fSigmaUpsilonArray[10] =   fSigmaUpsilonArray[9];
+    fSigmaUpsilonPArray[10] =  fSigmaUpsilonPArray[9];
+    fSigmaUpsilonPPArray[10] = fSigmaUpsilonPPArray[9];
+    fSigmaCCbarArray[10] =     fSigmaCCbarArray[9];
+    fSigmaBBbarArray[10] =     fSigmaBBbarArray[9];
+
 // x-sections for Min. Bias Pb-Pb @ 2.76 TeV: charmonia and bottomonia 
 // from 7 TeV numbers scaled according to pQCD ccbar and bbbar x-sections
 // and with Glauber scaling
-    fCMSEnergyTeVArray[5] =   3.00;           // for 2.76 TeV
-    fSigmaReactionArray[5] =  7.65;
-    fSigmaJPsiArray[5] =      0.734;          // 208*208*0.505*33.6e-6
-    fSigmaChic1Array[5] =     0.712;
-    fSigmaChic2Array[5] =     1.175;
-    fSigmaPsiPArray[5] =      0.166;
-    fSigmaUpsilonArray[5] =   0.0092;         // 208*208*0.379*0.56e-6
-    fSigmaUpsilonPArray[5] =  0.0031;
-    fSigmaUpsilonPPArray[5] = 0.0015;
-    fSigmaCCbarArray[5] =     151.;           // 208*208*3.49e-3
-    fSigmaBBbarArray[5] =     3.8;            // 208*208*0.088e-3
+    fCMSEnergyTeVArray[11] =   3.00;           // for 2.76 TeV
+    fSigmaReactionArray[11] =  7.65;
+    fSigmaJPsiArray[11] =      0.737;          // 208*208*0.507*33.6e-6
+    fSigmaChic1Array[11] =     0.715;
+    fSigmaChic2Array[11] =     1.179;
+    fSigmaPsiPArray[11] =      0.166;
+    fSigmaUpsilonArray[11] =   0.0093;         // 208*208*0.384*0.56e-6
+    fSigmaUpsilonPArray[11] =  0.0030;
+    fSigmaUpsilonPPArray[11] = 0.0013;
+    fSigmaCCbarArray[11] =     151.;           // 208*208*3.50e-3
+    fSigmaBBbarArray[11] =     3.8;            // 208*208*0.089e-3
     
 }
 
@@ -279,6 +374,10 @@ void AliGenMUONCocktailpp::CreateCocktail()
 // create and add resonances and open HF to the coctail
     Int_t cmsEnergy = Int_t(fCMSEnergyTeV);
 
+    // For temporary use of p-Pb & Pb-p shadowing at 5.03 TeV for lower energies  
+    if (cmsEnergy == 2 || cmsEnergy == 4) cmsEnergy = 5;
+    if (cmsEnergy == -2 || cmsEnergy == -4) cmsEnergy = -5;
+
 // These limits are only used for renormalization of quarkonia cross section
 // Pythia events are generated in 4pi  
     Double_t ptMin  = fPtMin;
@@ -289,8 +388,7 @@ void AliGenMUONCocktailpp::CreateCocktail()
     Double_t phiMax = fPhiMax*180./TMath::Pi();
     AliInfo(Form("Ranges pT:%4.1f : %4.1f GeV/c, y:%4.2f : %4.2f, Phi:%5.1f : %5.1f degres",ptMin,ptMax,yMin,yMax,phiMin,phiMax));
     
-// Cross sections in barns (from PPR Vol. II p: 552) pp - 14 TeV and 
-// corrected from feed down of higher resonances 
+// Cross sections in barns
 
     Double_t sigmajpsi      = fSigmaJPsi;  
     Double_t sigmachic1     = fSigmaChic1;  
@@ -313,6 +411,18 @@ void AliGenMUONCocktailpp::CreateCocktail()
     if(TMath::Abs(fUpsPPol) > 1.e-30) {sigmaupsilonP  = fSigmaUpsilonP*0.0193;}
     if(TMath::Abs(fUpsPPPol) > 1.e-30) {sigmaupsilonPP = fSigmaUpsilonPP*0.0218;}
 
+// Cross sections scaled to manage the statistics
+
+    sigmajpsi      *= fScaleJPsi*fScaleCharmonia;  
+    sigmachic1     *= fScaleCharmonia;  
+    sigmachic2     *= fScaleCharmonia;  
+    sigmapsiP      *= fScaleCharmonia;  
+    sigmaupsilon   *= fScaleBottomonia;  
+    sigmaupsilonP  *= fScaleBottomonia;  
+    sigmaupsilonPP *= fScaleBottomonia;  
+    sigmaccbar     *= fScaleCCbar;  
+    sigmabbbar     *= fScaleBBbar;  
+
     AliInfo(Form("the parametrised resonances uses the decay mode %d",fDecayModeResonance));
 
 // Create and add resonances to the generator
@@ -345,6 +455,10 @@ void AliGenMUONCocktailpp::CreateCocktail()
     } else if (cmsEnergy == 14){snprintf(tname, 40, "CDF pp");
     } else if (cmsEnergy == 7) {snprintf(tname, 40, "pp 7");
       //    } else if (cmsEnergy == 2) {snprintf(tname, 40, "pp 2.76");
+    } else if (cmsEnergy == 5) {snprintf(tname, 40, "pPb 5.03");
+      if (fCentralityBin > 0) snprintf(tname, 40, "pPb 5.03c%d",fCentralityBin); 
+    } else if (cmsEnergy == -5){snprintf(tname, 40, "Pbp 5.03");
+      if (fCentralityBin > 0) snprintf(tname, 40, "Pbp 5.03c%d",fCentralityBin); 
     } else if (cmsEnergy == 9) {snprintf(tname, 40, "pPb 8.8");
       if (fCentralityBin > 0) snprintf(tname, 40, "pPb 8.8c%d",fCentralityBin); 
     } else if (cmsEnergy == -9){snprintf(tname, 40, "Pbp 8.8");
@@ -373,7 +487,19 @@ void AliGenMUONCocktailpp::CreateCocktail()
     chard[0] = 1;                 // 1st element for pp and min. bias (MB) collisions
     bhard[0] = 1;
 
-// 4 centrality bins for p-Pb & Pb-p: 0-20-40-60-100 % 
+// 4 centrality bins for p-Pb & Pb-p at 5.03 TeV: 0-20-40-60-100 % 
+    if (cmsEnergy == 5 || cmsEnergy == -5) {
+      const Int_t n5 = 5;         // 1st element for MB collisions
+      Double_t r5[n5] = {1, 1.936, 1.473, 0.914, 0.333};        // ratio of hard-over-geo fractions
+      Double_t cshad5[n5] = {0.806, 0.742, 0.796, 0.870, 0.955};// EPS09-LO shadowing factors
+      Double_t bshad5[n5] = {0.917, 0.889, 0.913, 0.944, 0.981};
+      for(i=0; i<n5; i++) {
+         chard[i] = cshad5[i]*r5[i];   
+         bhard[i] = bshad5[i]*r5[i];
+      }
+    }
+
+// 4 centrality bins for p-Pb & Pb-p at 8.8 TeV: 0-20-40-60-100 % 
     if (cmsEnergy == 9 || cmsEnergy == -9) {
       const Int_t n9 = 5;         // 1st element for MB collisions
       Double_t r9[n9] = {1, 1.936, 1.473, 0.914, 0.333};        // ratio of hard-over-geo fractions
@@ -385,7 +511,7 @@ void AliGenMUONCocktailpp::CreateCocktail()
       }
     }
 
-// 11 centrality bins for Pb-Pb: 0-5-10-20-30-40-50-60-70-80-90-100 % 
+// 11 centrality bins for Pb-Pb at 2.76 TeV: 0-5-10-20-30-40-50-60-70-80-90-100 % 
     if (cmsEnergy == 3) {
       const Int_t n3 = 12;        // 1st element for MB collisions
       Double_t r3[n3] = {1, 4.661, 3.647, 2.551, 1.544, 0.887, 0.474,
index c9b579ef96262a3041b915bc4dc4c6840859a23f..e518470d4dc8ba7afc1c33a6c5c5323c59ac5f15 100644 (file)
@@ -20,7 +20,7 @@ class AliGenMUONCocktailpp : public AliGenCocktail
  public:
 
     AliGenMUONCocktailpp();
-    enum CMSEnergyCode { kCMS07TeV, kCMS10TeV, kCMS14TeV, kCMS09TeVpPb, kCMS09TeVPbp, kCMS03TeVPbPb, kNCMSEs };    
+    enum CMSEnergyCode { kCMS07TeV, kCMS10TeV, kCMS14TeV, kCMS03TeVpPb, kCMS03TeVPbp, kCMS04TeVpPb, kCMS04TeVPbp, kCMS05TeVpPb, kCMS05TeVPbp, kCMS09TeVpPb, kCMS09TeVPbp, kCMS03TeVPbPb, kNCMSEs };    
 
     virtual ~AliGenMUONCocktailpp();    
     virtual void Init();
@@ -54,7 +54,13 @@ class AliGenMUONCocktailpp : public AliGenCocktail
 
     void    SetCMSEnergy(CMSEnergyCode cmsEnergy);
     void    SetSigmaSilent() { fSigmaSilent = kTRUE; }
-    
+
+    void    ScaleJPsi(Double_t sc) { fScaleJPsi = sc;}
+    void    ScaleCharmonia(Double_t sc) { fScaleCharmonia = sc;}
+    void    ScaleBottomonia(Double_t sc) { fScaleBottomonia = sc;}
+    void    ScaleCCbar(Double_t sc) { fScaleCCbar = sc;}
+    void    ScaleBBbar(Double_t sc) { fScaleBBbar = sc;}
+   
  protected:
 
     //
@@ -75,7 +81,12 @@ class AliGenMUONCocktailpp : public AliGenCocktail
     Float_t fMuonOriginCut; //use only muons whose "part->Vz()" value is larger than fMuonOrigin
     Int_t   fNSucceded;// Number of Succes in the (di)-muon generation in the acceptance
     Int_t   fNGenerated;// Number of generated cocktails
-    Int_t   fCentralityBin;// Collision centrality bin number
+    Int_t   fCentralityBin;                 // Collision centrality bin number
+    Double_t fScaleJPsi;                    // xsec scale factors for onia and HF
+    Double_t fScaleCharmonia;
+    Double_t fScaleBottomonia;
+    Double_t fScaleCCbar;
+    Double_t fScaleBBbar;
     Double_t fJpsiPol, fChic1Pol, fChic2Pol, fPsiPPol, fUpsPol, fUpsPPol, fUpsPPPol;//Resonances polarization parameters
     Int_t    fPolFrame;//Resonances polarization frame (Collins-Soper / Helicity)
 //    Int_t fCMSEnergy; // CMS beam energy
index 22413d364ff87da36909f4d518d2517e40ae510c..771c9c424f86ee34967ada626f56e803a30464b3 100644 (file)
@@ -23,9 +23,7 @@
 //
 // andreas.morsch@cern.ch
 //
-//Modified to take into account x-sections of Upsilon 1S, 2S and 3S in pp collisions at 7 TeV from LHCb paper CERN-PH-EP-2012-051 (Loic Manceau, 14/05/12)
 
 #include "TMath.h"
 #include "TRandom.h"
 #include "TDatabasePDG.h"
@@ -183,6 +181,22 @@ Double_t AliGenMUONlib::PtJpsiPP2760(const Double_t *px, const Double_t */*dummy
   return PtJpsiPPdummy(*px,2760);
 }
 
+Double_t AliGenMUONlib::PtJpsiPP4400(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi pT
+// pp 4.4 TeV
+//
+  return PtJpsiPPdummy(*px,4400);
+}
+
+Double_t AliGenMUONlib::PtJpsiPP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi pT
+// pp 5.03 TeV
+//
+  return PtJpsiPPdummy(*px,5030);
+}
+
 Double_t AliGenMUONlib::PtJpsiPP8800(const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi pT
@@ -316,6 +330,120 @@ Double_t AliGenMUONlib::PtJpsiPbPb2760c11(const Double_t *px, const Double_t *du
   return PtJpsiPbPb2760ShFdummy(*px, 11) * PtJpsiPP2760(px, dummy);
 }
 
+Double_t AliGenMUONlib::PtJpsiPPb5030ShFdummy(Double_t x, Int_t n)
+{
+// J/Psi shadowing factor vs pT for pPb min. bias and 4 centr. bins (in 2.5<y<4)
+//
+// pPb 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.81 in 4pi
+//
+  const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+  const Double_t c[7] = {6.675e-01, 1.808e-02, 2.721e-03,-7.793e-04, 7.504e-05,-3.884e-06, 5.759e-07}; 
+  Double_t y;
+  Int_t j;
+  y = c[j = 6];
+  while (j > 0) y  = y * x + c[--j];
+  y /= 1 + c[6]*TMath::Power(x,6);
+  //  
+  return 1 + (y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::PtJpsiPPb5030(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// pPb 5.03 TeV, minimum bias 0-100 %
+//
+  return PtJpsiPPb5030ShFdummy(*px, 0) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPPb5030c1(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// pPb 5.03 TeV, 1st centrality bin 0-20 %
+//
+  return PtJpsiPPb5030ShFdummy(*px, 1) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPPb5030c2(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// pPb 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  return PtJpsiPPb5030ShFdummy(*px, 2) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPPb5030c3(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// pPb 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  return PtJpsiPPb5030ShFdummy(*px, 3) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPPb5030c4(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// pPb 5.03 TeV, 4th centrality bin 60-100 %
+//
+  return PtJpsiPPb5030ShFdummy(*px, 4) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030ShFdummy(Double_t x, Int_t n)
+{
+// J/Psi shadowing factor vs pT for Pbp min. bias and 4 centr. bins (in 2.5<y<4)
+//
+// Pbp 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.81 in 4pi
+//
+  const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+  const Double_t c[7] = {8.966e-01, 3.498e-02, 6.637e-03,-1.765e-03, 1.240e-04,-2.086e-06, 4.062e-07};
+  Double_t y;
+  Int_t j;
+  y = c[j = 6];
+  while (j > 0) y  = y * x + c[--j];
+  y /= 1 + c[6]*TMath::Power(x,6);
+  //  
+  return 1 + (y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// Pbp 5.03 TeV, minimum bias 0-100 %
+//
+  return PtJpsiPbP5030ShFdummy(*px, 0) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030c1(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// Pbp 5.03 TeV, 1st centrality bin 0-20 %
+//
+  return PtJpsiPbP5030ShFdummy(*px, 1) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030c2(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// Pbp 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  return PtJpsiPbP5030ShFdummy(*px, 2) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030c3(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// Pbp 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  return PtJpsiPbP5030ShFdummy(*px, 3) * PtJpsiPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtJpsiPbP5030c4(const Double_t *px, const Double_t *dummy)
+{
+// J/Psi pT
+// Pbp 5.03 TeV, 4th centrality bin 60-100 %
+//
+  return PtJpsiPbP5030ShFdummy(*px, 4) * PtJpsiPP5030(px, dummy);
+}
+
 Double_t AliGenMUONlib::PtJpsiPPb8800ShFdummy(Double_t x, Int_t n)
 {
 // J/Psi shadowing factor vs pT for pPb min. bias and 4 centr. bins (in 2.5<y<4)
@@ -730,6 +858,22 @@ Double_t AliGenMUONlib::YJpsiPP2760(const Double_t *px, const Double_t */*dummy*
   return YJpsiPPdummy(*px, 2760);
 }
 
+Double_t AliGenMUONlib::YJpsiPP4400(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pp 4.4 TeV
+//
+  return YJpsiPPdummy(*px, 4400);
+}
+
+Double_t AliGenMUONlib::YJpsiPP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pp 5.03 TeV
+//
+  return YJpsiPPdummy(*px, 5030);
+}
+
 Double_t AliGenMUONlib::YJpsiPP8800(const Double_t *px, const Double_t */*dummy*/)
 {
 // J/Psi y
@@ -874,6 +1018,118 @@ Double_t AliGenMUONlib::YJpsiPbPb2760c11(const Double_t *px, const Double_t *dum
   return YJpsiPbPb2760ShFdummy(*px, 11) * YJpsiPP2760(px, dummy);
 }
 
+Double_t AliGenMUONlib::YJpsiPP5030dummy(Double_t px)
+{
+  return AliGenMUONlib::YJpsiPP5030(&px, (Double_t*) 0);
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030ShFdummy(Double_t x, Int_t n)
+{
+// J/Psi shadowing factor vs y for pPb min. bias and 4 centr. bins
+//
+// pPb 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.81 in 4pi
+//
+  const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+  const Double_t c[7] = {7.641e-01, 1.611e-02, 4.109e-03, 2.818e-03, 3.359e-04,-6.376e-05,-9.717e-06};
+  Double_t y;
+  Int_t j;
+  y = c[j = 6];
+  while (j > 0) y = y * x + c[--j];
+  if(y<0) y=0;
+  //
+  return 1 +(y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pPb 5.03 TeV, minimum bias 0-100 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 0) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030c1(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pPb 5.03 TeV, 1st centrality bin 0-20 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 1) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030c2(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pPb 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 2) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030c3(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pPb 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 3) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPPb5030c4(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// pPb 5.03 TeV, 4th centrality bin 60-100 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 4) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPbP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// Pbp 5.03 TeV, minimum bias 0-100 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 0) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPbP5030c1(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// Pbp 5.03 TeV, 1st centrality bin 0-20 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 1) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPbP5030c2(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// Pbp 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 2) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPbP5030c3(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// Pbp 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 3) * YJpsiPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YJpsiPbP5030c4(const Double_t *px, const Double_t */*dummy*/)
+{
+// J/Psi y
+// Pbp 5.03 TeV, 4th centrality bin 60-100 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YJpsiPPb5030ShFdummy(x, 4) * YJpsiPP5030dummy(x);
+}
+
 Double_t AliGenMUONlib::YJpsiPP8800dummy(Double_t px)
 {
     return AliGenMUONlib::YJpsiPP8800(&px, (Double_t*) 0);
@@ -1348,6 +1604,22 @@ Double_t AliGenMUONlib::PtUpsilonPP2760(const Double_t *px, const Double_t */*du
   return PtUpsilonPPdummy(*px,2760);
 }
 
+Double_t AliGenMUONlib::PtUpsilonPP4400(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon pT
+// pp 4.4 TeV
+//
+  return PtUpsilonPPdummy(*px,4400);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon pT
+// pp 5.03 TeV
+//
+  return PtUpsilonPPdummy(*px,5030);
+}
+
 Double_t AliGenMUONlib::PtUpsilonPP8800(const Double_t *px, const Double_t */*dummy*/)
 {
 // Upsilon pT
@@ -1479,6 +1751,120 @@ Double_t AliGenMUONlib::PtUpsilonPbPb2760c11(const Double_t *px, const Double_t
   return PtUpsilonPbPb2760ShFdummy(*px, 11) * PtUpsilonPP2760(px, dummy);
 }
 
+Double_t AliGenMUONlib::PtUpsilonPPb5030ShFdummy(Double_t x, Int_t n)
+{
+// Upsilon shadowing factor vs pT for pPb min. bias and 4 centr. bins (in 2.5<y<4)
+//
+// pPb 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.92 in 4pi
+//
+  const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+  const Double_t c[5] = {8.069e-01, 1.407e-04, 4.372e-04,-2.797e-05, 4.405e-06};
+  Double_t y;
+  Int_t j;
+  y = c[j = 4];
+  while (j > 0) y  = y * x + c[--j];
+  y /= 1 + c[4]*TMath::Power(x,4);
+  //  
+  return 1 + (y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::PtUpsilonPPb5030(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// pPb 5.03 TeV, minimum bias 0-100 %
+//
+  return PtUpsilonPPb5030ShFdummy(*px, 0) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPPb5030c1(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// pPb 5.03 TeV, 1st centrality bin 0-20 %
+//
+  return PtUpsilonPPb5030ShFdummy(*px, 1) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPPb5030c2(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// pPb 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  return PtUpsilonPPb5030ShFdummy(*px, 2) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPPb5030c3(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// pPb 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  return PtUpsilonPPb5030ShFdummy(*px, 3) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPPb5030c4(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// pPb 5.03 TeV, 4th centrality bin 60-100 %
+//
+  return PtUpsilonPPb5030ShFdummy(*px, 4) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030ShFdummy(Double_t x, Int_t n)
+{
+// Upsilon shadowing factor vs pT for Pbp min. bias and 4 centr. bins (in 2.5<y<4)
+//
+// Pbp 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.92 in 4pi
+//
+  const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+  const Double_t c[5] = {1.122, 2.565e-03,-3.025e-04, 4.113e-06, 6.140e-07};
+  Double_t y;
+  Int_t j;
+  y = c[j = 4];
+  while (j > 0) y  = y * x + c[--j];
+  y /= 1 + c[4]*TMath::Power(x,4);
+  //  
+  return 1 + (y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// Pbp 5.03 TeV, minimum bias 0-100 %
+//
+  return PtUpsilonPbP5030ShFdummy(*px, 0) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030c1(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// Pbp 5.03 TeV, 1st centrality bin 0-20 %
+//
+  return PtUpsilonPbP5030ShFdummy(*px, 1) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030c2(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// Pbp 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  return PtUpsilonPbP5030ShFdummy(*px, 2) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030c3(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// Pbp 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  return PtUpsilonPbP5030ShFdummy(*px, 3) * PtUpsilonPP5030(px, dummy);
+}
+
+Double_t AliGenMUONlib::PtUpsilonPbP5030c4(const Double_t *px, const Double_t *dummy)
+{
+// Upsilon pT
+// Pbp 5.03 TeV, 4th centrality bin 60-100 %
+//
+  return PtUpsilonPbP5030ShFdummy(*px, 4) * PtUpsilonPP5030(px, dummy);
+}
+
 Double_t AliGenMUONlib::PtUpsilonPPb8800ShFdummy(Double_t x, Int_t n)
 {
 // Upsilon shadowing factor vs pT for pPb min. bias and 4 centr. bins (in 2.5<y<4)
@@ -1850,6 +2236,22 @@ Double_t AliGenMUONlib::YUpsilonPP2760(const Double_t *px, const Double_t */*dum
   return YUpsilonPPdummy(*px, 2760);
 }
 
+Double_t AliGenMUONlib::YUpsilonPP4400(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pp 4.4 TeV
+//
+  return YUpsilonPPdummy(*px, 4400);
+}
+
+Double_t AliGenMUONlib::YUpsilonPP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pp 5.03 TeV
+//
+  return YUpsilonPPdummy(*px, 5030);
+}
+
 Double_t AliGenMUONlib::YUpsilonPP8800(const Double_t *px, const Double_t */*dummy*/)
 {
 // Upsilon y
@@ -1994,6 +2396,118 @@ Double_t AliGenMUONlib::YUpsilonPbPb2760c11(const Double_t *px, const Double_t *
   return YUpsilonPbPb2760ShFdummy(*px, 11) * YUpsilonPP2760(px, dummy);
 }
 
+Double_t AliGenMUONlib::YUpsilonPP5030dummy(Double_t px)
+{
+    return AliGenMUONlib::YUpsilonPP5030(&px, (Double_t*) 0);
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030ShFdummy(Double_t x, Int_t n)
+{
+// Upsilon shadowing factor vs y for pPb min. bias and 4 centr. bins
+//
+// pPb 5.03 TeV, for EPS09-LO, minimum bias shadowing factor = 0.92 in 4pi
+//
+    const Double_t f[5] = {1, 1.33, 1.05, 0.67, 0.23};
+    const Double_t c[7] = {8.885e-01, 4.620e-02, 1.158e-02, 4.959e-04,-4.422e-04,-5.345e-05, 0.};
+    Double_t y;
+    Int_t j;
+    y = c[j = 6];
+    while (j > 0) y = y * x + c[--j];
+    if(y<0) y=0;
+    //
+    return 1 +(y-1)*f[n];
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pPb 5.03 TeV, minimum bias 0-100 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 0) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030c1(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pPb 5.03 TeV, 1st centrality bin 0-20 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 1) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030c2(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pPb 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 2) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030c3(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pPb 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 3) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPPb5030c4(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// pPb 5.03 TeV, 4th centrality bin 60-100 %
+//
+  Double_t x = px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 4) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPbP5030(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// Pbp 5.03 TeV, minimum bias 0-100 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 0) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPbP5030c1(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// Pbp 5.03 TeV, 1st centrality bin 0-20 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 1) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPbP5030c2(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// Pbp 5.03 TeV, 2nd centrality bin 20-40 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 2) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPbP5030c3(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// Pbp 5.03 TeV, 3rd centrality bin 40-60 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 3) * YUpsilonPP5030dummy(x);
+}
+
+Double_t AliGenMUONlib::YUpsilonPbP5030c4(const Double_t *px, const Double_t */*dummy*/)
+{
+// Upsilon y
+// Pbp 5.03 TeV, 4th centrality bin 60-100 %
+//
+  Double_t x = -px[0] + 0.47;              // rapidity shift
+  return YUpsilonPPb5030ShFdummy(x, 4) * YUpsilonPP5030dummy(x);
+}
+
 Double_t AliGenMUONlib::YUpsilonPP8800dummy(Double_t px)
 {
     return AliGenMUONlib::YUpsilonPP8800(&px, (Double_t*) 0);
@@ -2334,18 +2848,15 @@ Int_t AliGenMUONlib::IpUpsilonPP(TRandom *)
 Int_t AliGenMUONlib::IpUpsilonFamily(TRandom *)
 {
 // y composition
+  // Using the LHCb pp data at 7 TeV: CERN-PH-EP-2012-051
+  // (L. Manceau, S. Grigoryan)
   Int_t ip;
-  Float_t r = gRandom->Rndm();
-
-  //tunning according to LHCb results in pp collisons at 7 TeV 
-  //ref.: CERN-PH-EP-2012-051 
-  //sigma_U(1S)/sigma_U(2S)=4.07 and sigma_U(1S)/sigma_U(3S)=8.09
-
-  if (r < 0.73029) {
-    //if (r < 0.712) {
+  Float_t r = gRandom->Rndm();  
+  if (r < 0.687) {
+    //  if (r < 0.712) {
     ip = 553;
-  } else if (r < 0.90973) {
-    // } else if (r < 0.896) {
+  } else if (r < 0.903) {
+    //  } else if (r < 0.896) {
     ip = 100553;
   } else {
     ip = 200553;
@@ -3350,6 +3861,16 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtJpsiPP7000;
        } else if (sname == "pp 2.76") {
            func=PtJpsiPP2760;
+       } else if (sname == "pp 4.4") {
+           func=PtJpsiPP4400;
+       } else if (sname == "pp 5.03") {
+           func=PtJpsiPP5030;          
+       } else if (sname == "pp 8.8") {
+           func=PtJpsiPP8800;
+       } else if (sname == "pp 7 poly") {
+           func=PtJpsiPP7000;
+       } else if (sname == "pp 2.76 poly") {
+           func=PtJpsiPP2760;
        } else if (sname == "PbPb 2.76") {
            func=PtJpsiPbPb2760;
        } else if (sname == "PbPb 2.76c1") {
@@ -3374,12 +3895,26 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtJpsiPbPb2760c10;
        } else if (sname == "PbPb 2.76c11") {
            func=PtJpsiPbPb2760c11;
-       } else if (sname == "pp 7 poly") {
-           func=PtJpsiPP7000;
-       } else if (sname == "pp 2.76 poly") {
-           func=PtJpsiPP2760;
-       } else if (sname == "pp 8.8") {
-           func=PtJpsiPP8800;
+       } else if (sname == "pPb 5.03") {
+           func=PtJpsiPPb5030;
+       } else if (sname == "pPb 5.03c1") {
+           func=PtJpsiPPb5030c1;
+       } else if (sname == "pPb 5.03c2") {
+           func=PtJpsiPPb5030c2;
+       } else if (sname == "pPb 5.03c3") {
+           func=PtJpsiPPb5030c3;
+       } else if (sname == "pPb 5.03c4") {
+           func=PtJpsiPPb5030c4;
+       } else if (sname == "Pbp 5.03") {
+           func=PtJpsiPbP5030;
+       } else if (sname == "Pbp 5.03c1") {
+           func=PtJpsiPbP5030c1;
+       } else if (sname == "Pbp 5.03c2") {
+           func=PtJpsiPbP5030c2;
+       } else if (sname == "Pbp 5.03c3") {
+           func=PtJpsiPbP5030c3;
+       } else if (sname == "Pbp 5.03c4") {
+           func=PtJpsiPbP5030c4;
        } else if (sname == "pPb 8.8") {
            func=PtJpsiPPb8800;
        } else if (sname == "pPb 8.8c1") {
@@ -3443,6 +3978,16 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtUpsilonPP7000;
        } else if (sname == "pp 2.76") {
            func=PtUpsilonPP2760;
+       } else if (sname == "pp 4.4") {
+           func=PtUpsilonPP4400;
+       } else if (sname == "pp 5.03") {
+           func=PtUpsilonPP5030;
+       } else if (sname == "pp 8.8") {
+           func=PtUpsilonPP8800;
+       } else if (sname == "pp 7 poly") {
+           func=PtUpsilonPP7000;
+       } else if (sname == "pp 2.76 poly") {
+           func=PtUpsilonPP2760;
        } else if (sname == "PbPb 2.76") {
            func=PtUpsilonPbPb2760;
        } else if (sname == "PbPb 2.76c1") {
@@ -3467,12 +4012,26 @@ GenFunc AliGenMUONlib::GetPt(Int_t param,  const char* tname) const
            func=PtUpsilonPbPb2760c10;
        } else if (sname == "PbPb 2.76c11") {
            func=PtUpsilonPbPb2760c11;
-       } else if (sname == "pp 7 poly") {
-           func=PtUpsilonPP7000;
-       } else if (sname == "pp 2.76 poly") {
-           func=PtUpsilonPP2760;
-       } else if (sname == "pp 8.8") {
-           func=PtUpsilonPP8800;
+       } else if (sname == "pPb 5.03") {
+           func=PtUpsilonPPb5030;
+       } else if (sname == "pPb 5.03c1") {
+           func=PtUpsilonPPb5030c1;
+       } else if (sname == "pPb 5.03c2") {
+           func=PtUpsilonPPb5030c2;
+       } else if (sname == "pPb 5.03c3") {
+           func=PtUpsilonPPb5030c3;
+       } else if (sname == "pPb 5.03c4") {
+           func=PtUpsilonPPb5030c4;
+       } else if (sname == "Pbp 5.03") {
+           func=PtUpsilonPbP5030;
+       } else if (sname == "Pbp 5.03c1") {
+           func=PtUpsilonPbP5030c1;
+       } else if (sname == "Pbp 5.03c2") {
+           func=PtUpsilonPbP5030c2;
+       } else if (sname == "Pbp 5.03c3") {
+           func=PtUpsilonPbP5030c3;
+       } else if (sname == "Pbp 5.03c4") {
+           func=PtUpsilonPbP5030c4;
        } else if (sname == "pPb 8.8") {
            func=PtUpsilonPPb8800;
        } else if (sname == "pPb 8.8c1") {
@@ -3637,6 +4196,16 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YJpsiPP7000;
        } else if (sname == "pp 2.76") {
            func=YJpsiPP2760;
+       } else if (sname == "pp 4.4") {
+           func=YJpsiPP4400;
+       } else if (sname == "pp 5.03") {
+           func=YJpsiPP5030;           
+       } else if (sname == "pp 8.8") {
+           func=YJpsiPP8800;
+       } else if (sname == "pp 7 poly") {
+           func=YJpsiPPpoly7000;
+       } else if (sname == "pp 2.76 poly") {
+           func=YJpsiPPpoly2760;
        } else if (sname == "PbPb 2.76") {
            func=YJpsiPbPb2760;
        } else if (sname == "PbPb 2.76c1") {
@@ -3661,12 +4230,26 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YJpsiPbPb2760c10;
        } else if (sname == "PbPb 2.76c11") {
            func=YJpsiPbPb2760c11;
-       } else if (sname == "pp 7 poly") {
-           func=YJpsiPPpoly7000;
-       } else if (sname == "pp 2.76 poly") {
-           func=YJpsiPPpoly2760;
-       } else if (sname == "pp 8.8") {
-           func=YJpsiPP8800;
+       } else if (sname == "pPb 5.03") {
+           func=YJpsiPPb5030;
+       } else if (sname == "pPb 5.03c1") {
+           func=YJpsiPPb5030c1;
+       } else if (sname == "pPb 5.03c2") {
+           func=YJpsiPPb5030c2;
+       } else if (sname == "pPb 5.03c3") {
+           func=YJpsiPPb5030c3;
+       } else if (sname == "pPb 5.03c4") {
+           func=YJpsiPPb5030c4;
+       } else if (sname == "Pbp 5.03") {
+           func=YJpsiPbP5030;
+       } else if (sname == "Pbp 5.03c1") {
+           func=YJpsiPbP5030c1;
+       } else if (sname == "Pbp 5.03c2") {
+           func=YJpsiPbP5030c2;
+       } else if (sname == "Pbp 5.03c3") {
+           func=YJpsiPbP5030c3;
+       } else if (sname == "Pbp 5.03c4") {
+           func=YJpsiPbP5030c4;
        } else if (sname == "pPb 8.8") {
            func=YJpsiPPb8800;
        } else if (sname == "pPb 8.8c1") {
@@ -3730,6 +4313,16 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YUpsilonPP7000;
        } else if (sname == "pp 2.76") {
            func=YUpsilonPP2760;
+       } else if (sname == "pp 4.4") {
+           func=YUpsilonPP4400;
+       } else if (sname == "pp 5.03") {
+           func=YUpsilonPP5030;
+       } else if (sname == "pp 8.8") {
+           func=YUpsilonPP8800;
+       } else if (sname == "pp 7 poly") {
+           func=YUpsilonPPpoly7000;
+       } else if (sname == "pp 2.76 poly") {
+           func=YUpsilonPPpoly2760;
        } else if (sname == "PbPb 2.76") {
            func=YUpsilonPbPb2760;
        } else if (sname == "PbPb 2.76c1") {
@@ -3754,12 +4347,26 @@ GenFunc AliGenMUONlib::GetY(Int_t param, const char* tname) const
            func=YUpsilonPbPb2760c10;
        } else if (sname == "PbPb 2.76c11") {
            func=YUpsilonPbPb2760c11;
-       } else if (sname == "pp 7 poly") {
-           func=YUpsilonPPpoly7000;
-       } else if (sname == "pp 2.76 poly") {
-           func=YUpsilonPPpoly2760;
-       } else if (sname == "pp 8.8") {
-           func=YUpsilonPP8800;
+       } else if (sname == "pPb 5.03") {
+           func=YUpsilonPPb5030;
+       } else if (sname == "pPb 5.03c1") {
+           func=YUpsilonPPb5030c1;
+       } else if (sname == "pPb 5.03c2") {
+           func=YUpsilonPPb5030c2;
+       } else if (sname == "pPb 5.03c3") {
+           func=YUpsilonPPb5030c3;
+       } else if (sname == "pPb 5.03c4") {
+           func=YUpsilonPPb5030c4;
+       } else if (sname == "Pbp 5.03") {
+           func=YUpsilonPbP5030;
+       } else if (sname == "Pbp 5.03c1") {
+           func=YUpsilonPbP5030c1;
+       } else if (sname == "Pbp 5.03c2") {
+           func=YUpsilonPbP5030c2;
+       } else if (sname == "Pbp 5.03c3") {
+           func=YUpsilonPbP5030c3;
+       } else if (sname == "Pbp 5.03c4") {
+           func=YUpsilonPbP5030c4;
        } else if (sname == "pPb 8.8") {
            func=YUpsilonPPb8800;
        } else if (sname == "pPb 8.8c1") {
@@ -4266,4 +4873,4 @@ Int_t AliGenMUONlib::IpKaonNeg(TRandom *)
 {
 // neg Kaons 
     return -321;
-}
\ No newline at end of file
+}
index c8f1a922840dd1433019de90a3ab0f42acf32cec..466dd4a5dc53fc162a29ed19dd777c81270721ae 100644 (file)
@@ -60,6 +60,8 @@ class AliGenMUONlib :
     static Double_t PtJpsiPPdummy(Double_t px, Double_t en);
     static Double_t PtJpsiPP7000(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPP2760(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPP4400(const Double_t *px, const Double_t *dummy);   
+    static Double_t PtJpsiPP5030(const Double_t *px, const Double_t *dummy);   
     static Double_t PtJpsiPP8800(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPbPb2760ShFdummy(Double_t px, Int_t n);
     static Double_t PtJpsiPbPb2760(const Double_t *px, const Double_t *dummy);
@@ -74,6 +76,18 @@ class AliGenMUONlib :
     static Double_t PtJpsiPbPb2760c9(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPbPb2760c10(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPbPb2760c11(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPPb5030ShFdummy(Double_t px, Int_t n);
+    static Double_t PtJpsiPPb5030(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPPb5030c1(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPPb5030c2(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPPb5030c3(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPPb5030c4(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPbP5030ShFdummy(Double_t px, Int_t n);
+    static Double_t PtJpsiPbP5030(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPbP5030c1(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPbP5030c2(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPbP5030c3(const Double_t *px, const Double_t *dummy);
+    static Double_t PtJpsiPbP5030c4(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPPb8800ShFdummy(Double_t px, Int_t n);
     static Double_t PtJpsiPPb8800(const Double_t *px, const Double_t *dummy);
     static Double_t PtJpsiPPb8800c1(const Double_t *px, const Double_t *dummy);
@@ -108,6 +122,8 @@ class AliGenMUONlib :
     static Double_t YJpsiPP2760(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPPpoly7000(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPPpoly2760(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPP4400(const Double_t *px, const Double_t *dummy);    
+    static Double_t YJpsiPP5030(const Double_t *px, const Double_t *dummy);    
     static Double_t YJpsiPP8800(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPbPb2760ShFdummy(Double_t px, Int_t n);
     static Double_t YJpsiPbPb2760(const Double_t *px, const Double_t *dummy);
@@ -122,6 +138,18 @@ class AliGenMUONlib :
     static Double_t YJpsiPbPb2760c9(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPbPb2760c10(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPbPb2760c11(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPP5030dummy(Double_t px);
+    static Double_t YJpsiPPb5030ShFdummy(Double_t px, Int_t n);
+    static Double_t YJpsiPPb5030(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPPb5030c1(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPPb5030c2(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPPb5030c3(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPPb5030c4(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPbP5030(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPbP5030c1(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPbP5030c2(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPbP5030c3(const Double_t *px, const Double_t *dummy);
+    static Double_t YJpsiPbP5030c4(const Double_t *px, const Double_t *dummy);
     static Double_t YJpsiPP8800dummy(Double_t px);
     static Double_t YJpsiPPb8800ShFdummy(Double_t px, Int_t n);
     static Double_t YJpsiPPb8800(const Double_t *px, const Double_t *dummy);
@@ -160,6 +188,8 @@ class AliGenMUONlib :
     static Double_t PtUpsilonPPdummy(Double_t px, Double_t en);
     static Double_t PtUpsilonPP7000(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPP2760(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPP4400(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPP5030(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPP8800(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPbPb2760ShFdummy(Double_t px, Int_t n);
     static Double_t PtUpsilonPbPb2760(const Double_t *px, const Double_t *dummy );
@@ -174,6 +204,18 @@ class AliGenMUONlib :
     static Double_t PtUpsilonPbPb2760c9(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPbPb2760c10(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPbPb2760c11(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPPb5030ShFdummy(Double_t px, Int_t n);
+    static Double_t PtUpsilonPPb5030(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPPb5030c1(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPPb5030c2(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPPb5030c3(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPPb5030c4(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPbP5030ShFdummy(Double_t px, Int_t n);
+    static Double_t PtUpsilonPbP5030(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPbP5030c1(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPbP5030c2(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPbP5030c3(const Double_t *px, const Double_t *dummy );
+    static Double_t PtUpsilonPbP5030c4(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPPb8800ShFdummy(Double_t px, Int_t n);
     static Double_t PtUpsilonPPb8800(const Double_t *px, const Double_t *dummy );
     static Double_t PtUpsilonPPb8800c1(const Double_t *px, const Double_t *dummy );
@@ -203,6 +245,8 @@ class AliGenMUONlib :
     static Double_t YUpsilonPP2760(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPPpoly7000(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPPpoly2760(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPP4400(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPP5030(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPP8800(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPbPb2760ShFdummy(Double_t px, Int_t n);
     static Double_t YUpsilonPbPb2760(const Double_t *px, const Double_t *dummy );
@@ -217,6 +261,18 @@ class AliGenMUONlib :
     static Double_t YUpsilonPbPb2760c9(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPbPb2760c10(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPbPb2760c11(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPP5030dummy(Double_t px);
+    static Double_t YUpsilonPPb5030ShFdummy(Double_t px, Int_t n);
+    static Double_t YUpsilonPPb5030(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPPb5030c1(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPPb5030c2(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPPb5030c3(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPPb5030c4(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPbP5030(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPbP5030c1(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPbP5030c2(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPbP5030c3(const Double_t *px, const Double_t *dummy );
+    static Double_t YUpsilonPbP5030c4(const Double_t *px, const Double_t *dummy );
     static Double_t YUpsilonPP8800dummy(Double_t px);
     static Double_t YUpsilonPPb8800ShFdummy(Double_t px, Int_t n);
     static Double_t YUpsilonPPb8800(const Double_t *px, const Double_t *dummy );
diff --git a/EVGEN/dataCorrHF/BeautyPPb5PythiaMNR.root b/EVGEN/dataCorrHF/BeautyPPb5PythiaMNR.root
new file mode 100644 (file)
index 0000000..3e820ed
Binary files /dev/null and b/EVGEN/dataCorrHF/BeautyPPb5PythiaMNR.root differ
diff --git a/EVGEN/dataCorrHF/CharmPPb5PythiaMNR.root b/EVGEN/dataCorrHF/CharmPPb5PythiaMNR.root
new file mode 100644 (file)
index 0000000..e698c42
Binary files /dev/null and b/EVGEN/dataCorrHF/CharmPPb5PythiaMNR.root differ