|
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). |