PYTHIA
8.312
|
Nuclear modifications from EPPS16 fit. More...
#include <PartonDistributions.h>
Public Member Functions | |
EPPS16 (int idBeamIn=2212, int iSetIn=1, string pdfdataPath="../share/Pythia8/pdfdata/", PDFPtr protonPDFPtrIn=0, Logger *loggerPtrIn=0) | |
Constructor. | |
void | rUpdate (int id, double x, double Q2) override |
Update parton densities. More... | |
void | setErrorSet (int iSetIn) |
Use other than central set to study uncertainties. | |
Public Member Functions inherited from nPDF | |
nPDF (int idBeamIn=2212, PDFPtr protonPDFPtrIn=0) | |
Constructor. | |
void | xfUpdate (int id, double x, double Q2) override |
Update parton densities. More... | |
void | initNPDF (int idBeamIn, PDFPtr protonPDFPtrIn=0) |
Initialize the nPDF-related members. More... | |
int | getA () |
Return the number of protons and nucleons. | |
int | getZ () |
void | setMode (double zaIn) |
void | resetMode () |
Public Member Functions inherited from PDF | |
PDF (int idBeamIn=2212) | |
Constructor. | |
virtual | ~PDF () |
Virtual destructor. | |
virtual bool | init (int, string, int, Logger *) |
bool | isSetup () |
Confirm that PDF has been set up (important for LHAPDF and H1 Pomeron). | |
virtual void | setBeamID (int idBeamIn) |
Switch to new beam particle identities; for similar hadrons only. | |
void | resetValenceContent () |
Set valence content. More... | |
void | setValenceContent (int idVal1In, int idVal2In, int idVal3In) |
virtual void | setExtrapolate (bool) |
Allow extrapolation beyond boundaries. This is optional. | |
double | xf (int id, double x, double Q2) |
Read out parton density. More... | |
double | xfVal (int id, double x, double Q2) |
Read out valence and sea part of parton densities. More... | |
double | xfSea (int id, double x, double Q2) |
Only sea part of parton densities. More... | |
virtual bool | insideBounds (double, double) |
Check whether x and Q2 values fall inside the fit bounds (LHAPDF6 only). | |
virtual double | alphaS (double) |
Access the running alpha_s of a PDF set (LHAPDF6 only). | |
virtual double | mQuarkPDF (int) |
Return quark masses used in the PDF fit (LHAPDF6 only). | |
virtual int | nMembers () |
Return number of members of this PDF family (LHAPDF6 only). | |
virtual void | calcPDFEnvelope (int, double, double, int) |
Calculate PDF envelope. | |
virtual void | calcPDFEnvelope (pair< int, int >, pair< double, double >, double, int) |
virtual PDFEnvelope | getPDFEnvelope () |
virtual double | gammaPDFxDependence (int, double) |
Approximate photon PDFs by decoupling the scale and x-dependence. | |
virtual double | gammaPDFRefScale (int) |
Provide the reference scale for logarithmic Q^2 evolution for photons. | |
virtual int | sampleGammaValFlavor (double) |
Sample the valence content for photons. | |
virtual double | xfIntegratedTotal (double) |
The total x-integrated PDFs. Relevant for MPIs with photon beams. | |
virtual double | xGamma () |
Return the sampled value for x_gamma. | |
virtual void | xPom (double=-1.0) |
Keep track of pomeron momentum fraction. | |
virtual double | xfFlux (int, double, double) |
Return accurate and approximated photon fluxes and PDFs. | |
virtual double | xfApprox (int, double, double) |
virtual double | xfGamma (int, double, double) |
virtual double | intFluxApprox () |
virtual bool | hasApproxGammaFlux () |
virtual double | getXmin () |
Return the kinematical limits and sample Q2 and x. | |
virtual double | getXhadr () |
virtual double | sampleXgamma (double) |
virtual double | sampleQ2gamma (double) |
virtual double | fluxQ2dependence (double) |
virtual double | xfMax (int id, double x, double Q2) |
Normal PDFs unless gamma inside lepton -> an overestimate for sampling. | |
virtual double | xfSame (int id, double x, double Q2) |
Normal PDFs unless gamma inside lepton -> Do not sample x_gamma. | |
virtual void | setVMDscale (double=1.) |
Allow for new scaling factor for VMD PDFs. | |
bool | sSymmetric () const |
Return if s/sbar, c/cbar, and b/bbar PDFs are symmetric. | |
bool | cSymmetric () const |
bool | bSymmetric () const |
void | sSymmetric (bool sSymmetricIn) |
Set s/sbar, c/cbar, and b/bbar PDFs symmetric. | |
void | cSymmetric (bool cSymmetricIn) |
void | bSymmetric (bool bSymmetricIn) |
Additional Inherited Members | |
Protected Member Functions inherited from PDF | |
void | printErr (string loc, string errMsg, Logger *loggerPtr=nullptr) |
Small routine for error printout, depending on loggerPtr existing or not. | |
double | xfRaw (int id) const |
Get the raw stored value for the quark variable corresponding to the id. More... | |
bool | isValence (int id) const |
Check whether the specified id is a valence quark. | |
Protected Attributes inherited from nPDF | |
double | ruv |
double | rdv |
double | ru |
double | rd |
double | rs |
double | rc |
double | rb |
double | rg |
Protected Attributes inherited from PDF | |
int | idBeam |
Store relevant quantities. | |
int | idBeamAbs |
int | idSav |
int | idVal1 |
int | idVal2 |
int | idVal3 |
double | xSav |
double | Q2Sav |
double | xu |
Stored quantities. | |
double | xd |
double | xs |
double | xubar |
double | xdbar |
double | xsbar |
double | xc |
double | xb |
double | xcbar |
double | xbbar |
double | xg |
double | xlepton |
double | xgamma |
bool | isSet |
bool | isInit |
int | beamType |
bool | hasGammaInLepton |
True if a photon beam inside a lepton beam, otherwise set false. | |
bool | sSymmetricSave = false |
Whether to treat flavoured PDFs as symmetric, for efficiency. | |
bool | cSymmetricSave = true |
bool | bSymmetricSave = true |
Nuclear modifications from EPPS16 fit.
|
overridevirtual |
Update parton densities.
Interpolation from the grid.
Freeze the x and Q2 values if outside the grid.
Do not use the points at mass threshold for interpolation.
Calculate the position in log(log Q^2) grid.
Set the Q2 index to interval [1,...,28].
Calculate the position in x grid.
Set the x-index interval.
Interpolate the grid values.
Do not use the last grid points for interpolation.
Calculate the four nearest points in x grid.
Reject point Q=1.3 GeV from interpoilation for charm.
Reject points Q<4.75 GeV from interpoilation for bottom.
Calculate the three nearest points in log(log Q^2) grid.
Grid points used for interpolation.
Read in the relevant values from table and interpolate in x.
Interpolate in Q2.
Save the values, for b non-zero only above the mass threshold.
Revert back to original interpolation points.
Implements nPDF.