PYTHIA
8.312
|
Equivalent photon approximation for sampling with external photon flux. More...
#include <PartonDistributions.h>
Public Member Functions | |
EPAexternal (int idBeamIn, double m2In, PDFPtr gammaFluxPtrIn, PDFPtr gammaPDFPtrIn, Info *infoPtrIn, Logger *loggerPtrIn=0) | |
Constructor. | |
void | xfUpdate (int, double x, double Q2) override |
Update PDFs. More... | |
double | xfFlux (int id, double x, double Q2=1.) override |
External flux and photon PDFs, and approximated flux for sampling. More... | |
double | xfGamma (int id, double x, double Q2) override |
Photon PDFs used for the convolution with the flux. More... | |
double | xfApprox (int id, double x, double Q2) override |
The approximated photon flux x*f^{gamma}(x,Q2). More... | |
double | intFluxApprox () override |
bool | hasApproxGammaFlux () override |
This derived class use approximated flux for sampling. | |
double | getXmin () override |
Kinematics. | |
double | getXhadr () override |
double | sampleXgamma (double xMinIn) override |
Sampling of the x and Q2 according to differential flux. More... | |
double | sampleQ2gamma (double Q2minIn) override |
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 | 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 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 |
Equivalent photon approximation for sampling with external photon flux.
|
overridevirtual |
Return integrated over-estimate for photon flux to approximate soft cross sections.
Check the used approximation and return the integral.
Reimplemented from PDF.
|
overridevirtual |
Sample the virtuality for the photon, either based on the estimate to be corrected later, or for integrated flux (accepted events) where oversampling has already been corrected.
Sample value for the intermediate photon according to the flux. If externally generated (LHE) event, use the approximation. Notice that in the former case sample from the whole phase space but in the latter start with lower limit provided as an argument.
Sample from 1./Q^2 to start with, correct for actual Q2 dependence.
Check first that a finite value obtained, then check whether value to be accepted and exit.
Check number of tries.
Reimplemented from PDF.
|
overridevirtual |
Sampling of the x and Q2 according to differential flux.
Sample the x_gamma value according to given photon flux approximation.
Sample with lepton-type flux.
Sample with photon flux for nuclei.
Calculate the integrals of over estimates, either only above the cut value or with both contributions.
Select the sampling region.
Sample x value according to the selected approximation region.
Return zero for undefined cases.
Reimplemented from PDF.
|
overridevirtual |
The approximated photon flux x*f^{gamma}(x,Q2).
Differential in Q2 for leptons.
Piece-wise approximation for heavy ions.
Reimplemented from PDF.
|
overridevirtual |
External flux and photon PDFs, and approximated flux for sampling.
Accurate flux, provided externally.
The external flux, check that pointer exists.
Reimplemented from PDF.
|
overridevirtual |
|
overridevirtual |
Update PDFs.
Approximate the differential photon flux with alphaEM/PI/x/Q2. Derived from EPA for leptons but provides leading (small-x) behaviour for hadrons as well.
Calculate (Q2-integrated) approximation for xfGamma.
Integrated in Q2, to be used for direct process sampling.
Approximate the convolution with photon PDFs.
To preserve x/xGamma < 1.
Integrals for the overestimates.
Multiply the approximated flux with PDFs.
idSav = 9 to indicate that all flavours reset.
Implements PDF.