PDFxTMDLib
1.0.0
|
Manages a set of Parton Distribution Functions (PDFs), providing tools for uncertainty and correlation analysis. More...
#include <PDFSet.h>
Public Types | |
using | PDF_t = typename PDFType< Tag >::type |
The specific PDF interface type (ITMD or ICPDF) determined by the Tag. More... | |
Public Member Functions | |
PDFSet (std::string pdfSetName, bool alternativeReplicaUncertainty=false) | |
Constructs a PDFSet for a given PDF name. More... | |
PDFSet () | |
Default constructor. More... | |
double | alphasQ (double q) const |
Get the strong coupling constant alpha_s at a given scale Q. More... | |
double | alphasQ2 (double q2) const |
Get the strong coupling constant alpha_s at a given squared scale Q^2. More... | |
PDF_t * | operator[] (int member) |
Access a specific PDF member from the set. More... | |
PDF_t * | operator[] (int member) const |
Access a specific PDF member from the set (const version). More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, TMDPDFTag>>> | |
void | Uncertainty (PartonFlavor flavor, double x, double kt2, double mu2, double cl, PDFUncertainty &resUncertainty) |
Calculate the TMD uncertainty. More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, CollinearPDFTag>>> | |
void | Uncertainty (PartonFlavor flavor, double x, double mu2, double cl, PDFUncertainty &resUncertainty) |
Calculate the collinear PDF uncertainty. More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, TMDPDFTag>>> | |
PDFUncertainty | Uncertainty (PartonFlavor flavor, double x, double kt2, double mu2, double cl=NO_REQUESTED_CONFIDENCE_LEVEL) |
Calculate the TMD uncertainty and return the result. More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, CollinearPDFTag>>> | |
PDFUncertainty | Uncertainty (PartonFlavor flavor, double x, double mu2, double cl=NO_REQUESTED_CONFIDENCE_LEVEL) |
Calculate the collinear PDF uncertainty and return the result. More... | |
void | Uncertainty (const std::vector< double > &values, double cl, PDFUncertainty &resUncertainty) |
Calculate uncertainty from a pre-computed vector of PDF values. More... | |
PDFUncertainty | Uncertainty (const std::vector< double > &values, double cl=NO_REQUESTED_CONFIDENCE_LEVEL) |
Calculate uncertainty from a pre-computed vector of PDF values and return the result. More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, CollinearPDFTag>>> | |
double | Correlation (PartonFlavor flavorA, double xA, double mu2A, PartonFlavor flavorB, double xB, double mu2B) |
Calculate the correlation for collinear PDFs. More... | |
template<typename T = Tag, typename = std::enable_if_t<std::is_same_v<T, TMDPDFTag>>> | |
double | Correlation (PartonFlavor flavorA, double xA, double kt2A, double mu2A, PartonFlavor flavorB, double xB, double kt2B, double mu2B) |
Calculate the correlation for TMDs. More... | |
double | Correlation (const std::vector< double > &valuesA, const std::vector< double > &valuesB) const |
Calculate correlation from two pre-computed vectors of PDF values. More... | |
void | CreatePDFSet (unsigned int setMember) |
Explicitly creates a single PDF member. More... | |
void | CreateAllPDFSets () |
Pre-loads all PDF members in the set. More... | |
void | InitailizePDFSetName (std::string pdfSetName) |
Re-initializes the PDFSet with a new PDF set name. More... | |
size_t | size () const |
Get the total number of members in this PDF set. More... | |
YamlStandardTMDInfo | getStdPDFInfo () const |
Get the standard metadata for the PDF set. More... | |
YamlErrorInfo | getPDFErrorInfo () const |
Get the error metadata for the PDF set. More... | |
ConfigWrapper | info () |
Get the full configuration metadata object for the set. More... | |
PDFSet (const PDFSet &)=delete | |
PDFSet & | operator= (const PDFSet &)=delete |
PDFSet (PDFSet &&)=default | |
PDFSet & | operator= (PDFSet &&)=default |
Manages a set of Parton Distribution Functions (PDFs), providing tools for uncertainty and correlation analysis.
This class acts as a container for all members of a specific PDF set (e.g., CT18, PB-NLO). It handles the loading of PDF data, calculation of uncertainties using various methods (replicas, Hessian), and evaluation of correlations between PDF values. It is a templated class that can be specialized for either TMD or Collinear PDFs.
Tag | A tag to specify the PDF type (TMDPDFTag or CollinearPDFTag). |
using PDFxTMD::PDFSet< Tag >::PDF_t = typename PDFType<Tag>::type |
|
inlineexplicit |
Constructs a PDFSet for a given PDF name.
pdfSetName | The name of the PDF set to load. |
alternativeReplicaUncertainty | If true, use percentile strategy for replica uncertainties; otherwise, use standard deviation. |
|
inline |
Default constructor.
|
delete |
|
default |
|
inline |
Get the strong coupling constant alpha_s at a given scale Q.
q | The momentum transfer scale Q in GeV. |
|
inline |
Get the strong coupling constant alpha_s at a given squared scale Q^2.
q2 | The squared momentum transfer scale Q^2 in GeV^2. |
|
inline |
Calculate correlation from two pre-computed vectors of PDF values.
valuesA | A vector of PDF values for the first observable. |
valuesB | A vector of PDF values for the second observable. |
|
inline |
Calculate the correlation for TMDs.
(Enabled only for TMDPDFTag)
flavorA | The parton flavor for the first TMD. |
xA | The momentum fraction 'x' for the first TMD. |
kt2A | The transverse momentum 'kt2' for the first TMD. |
mu2A | The scale 'mu2' for the first TMD. |
flavorB | The parton flavor for the second TMD. |
xB | The momentum fraction 'x' for the second TMD. |
kt2B | The transverse momentum 'kt2' for the second TMD. |
mu2B | The scale 'mu2' for the second TMD. |
|
inline |
Calculate the correlation for collinear PDFs.
(Enabled only for CollinearPDFTag)
flavorA | The parton flavor for the first observable. |
xA | The momentum fraction 'x' for the first observable. |
mu2A | The scale 'mu2' for the first observable. |
flavorB | The parton flavor for the second observable. |
xB | The momentum fraction 'x' for the second observable. |
mu2B | The scale 'mu2' for the second observable. |
|
inline |
Pre-loads all PDF members in the set.
|
inline |
Explicitly creates a single PDF member.
setMember | The index of the PDF member to create. |
|
inline |
Get the error metadata for the PDF set.
|
inline |
Get the standard metadata for the PDF set.
|
inline |
Get the full configuration metadata object for the set.
|
inline |
Re-initializes the PDFSet with a new PDF set name.
pdfSetName | The name of the new PDF set. |
|
delete |
|
default |
|
inline |
Access a specific PDF member from the set.
member | The member index (0 is the central value). |
|
inline |
Access a specific PDF member from the set (const version).
member | The member index. |
|
inline |
Get the total number of members in this PDF set.
|
inline |
Calculate uncertainty from a pre-computed vector of PDF values.
values | A vector of PDF values from all members of the set. |
cl | The desired confidence level in percent. |
resUncertainty | The output PDFUncertainty object. |
|
inline |
Calculate uncertainty from a pre-computed vector of PDF values and return the result.
values | A vector of PDF values from all members of the set. |
cl | The desired confidence level in percent (default is the set's native CL). |
|
inline |
Calculate the TMD uncertainty.
(Enabled only for TMDPDFTag)
flavor | The parton flavor. |
x | The momentum fraction. |
kt2 | The squared transverse momentum. |
mu2 | The squared factorization scale. |
cl | The desired confidence level in percent. |
resUncertainty | The output PDFUncertainty object. |
|
inline |
Calculate the TMD uncertainty and return the result.
(Enabled only for TMDPDFTag)
flavor | The parton flavor. |
x | The momentum fraction. |
kt2 | The squared transverse momentum. |
mu2 | The squared factorization scale. |
cl | The desired confidence level in percent (default is the set's native CL). |
|
inline |
Calculate the collinear PDF uncertainty.
(Enabled only for CollinearPDFTag)
flavor | The parton flavor. |
x | The momentum fraction. |
mu2 | The squared factorization scale. |
cl | The desired confidence level in percent. |
resUncertainty | The output PDFUncertainty object. |
|
inline |
Calculate the collinear PDF uncertainty and return the result.
(Enabled only for CollinearPDFTag)
flavor | The parton flavor. |
x | The momentum fraction. |
mu2 | The squared factorization scale. |
cl | The desired confidence level in percent (default is the set's native CL). |