// 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>
fNSucceded(0),
fNGenerated(0),
fCentralityBin(0),
+ fScaleJPsi(1),
+ fScaleCharmonia(1),
+ fScaleBottomonia(1),
+ fScaleCCbar(1),
+ fScaleBBbar(1),
fJpsiPol(0),
fChic1Pol(0),
// 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;
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;
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];
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
}
// 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;
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;
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
} 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");
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
}
}
-// 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,
//
// 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"
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
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)
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
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);
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
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)
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
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);
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;
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") {
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") {
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") {
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") {
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") {
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") {
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") {
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") {
{
// neg Kaons
return -321;
-}
\ No newline at end of file
+}
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);
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);
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);
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);
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 );
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 );
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 );
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 );