PYTHIA  8.311
Public Member Functions | Protected Attributes | List of all members
nPDF Class Referenceabstract

A derived class for nuclear PDFs. Needs a pointer for (free) proton PDFs. More...

#include <PartonDistributions.h>

Inheritance diagram for nPDF:
PDF EPPS16 EPS09 Isospin

Public Member Functions

 nPDF (int idBeamIn=2212, PDFPtr protonPDFPtrIn=0)
 Constructor.
 
void xfUpdate (int id, double x, double Q2) override
 Update parton densities. More...
 
virtual void rUpdate (int, double, double)=0
 Update nuclear modifications.
 
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)
 

Protected Attributes

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
 

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.
 

Detailed Description

A derived class for nuclear PDFs. Needs a pointer for (free) proton PDFs.

Member Function Documentation

void initNPDF ( int  idBeamIn,
PDFPtr  protonPDFPtrIn = 0 
)

Initialize the nPDF-related members.

Inherited class for nuclear PDFs. Needs a proton PDF as a baseline.

Derive mass number and number of protons.

Normalized number of protons and neutrons in nuclei.

Initialize proton PDF pointer.

No modifications yet.

void setMode ( double  zaIn)
inline

Set (and reset) the ratio of protons to nucleons to study nuclear modifications of protons (= 1.0) and neutrons (= 0.0). By default Z/A.

void xfUpdate ( int  id,
double  x,
double  Q2 
)
overridevirtual

Update parton densities.

Updates the nPDF using provided proton PDF and nuclear modification.

Update the proton PDFs and nuclear modifications.

u(bar) and d(bar) pdfs for proton.

Neutron nPDFs using isospin symmetry.

idSav = 9 to indicate that all flavours reset.

Implements PDF.

Member Data Documentation

double ruv
protected

The nuclear modifications for each flavour, modified by derived nPDF classes.


The documentation for this class was generated from the following files: