PDFxTMDLib
1.0.0
|
Classes | |
struct | DefaultAllFlavorShape |
struct | DefaultAllFlavorTMDShape |
class | ConfigWrapper |
class | PDFxTMDException |
class | FileLoadException |
class | OutOfRangeExcecption |
class | PolicyExeption |
class | InvalidFormatException |
class | InvalidInfoFile |
class | InitializationError |
class | InvalidInputError |
class | NotSupportError |
class | NotImplementedError |
class | MetadataError |
class | AlphaQCDError |
class | FileUtils |
class | CRTPBase |
class | KeyValueStore |
class | LibraryBanner |
class | Logger |
class | NumParser |
struct | PDFErrInfo |
Structure encoding the structure of the PDF error-set (Taken from LHAPDF library code) More... | |
struct | PDFUncertainty |
Structure for storage of uncertainty info calculated over a PDF error set. More... | |
struct | YamlCouplingInfo |
struct | YamlErrorInfo |
struct | YamlImpelemntationInfo |
struct | YamlStandardPDFInfo |
struct | YamlStandardTMDInfo |
class | CouplingFactory |
Factory class for creating QCD coupling objects. More... | |
class | GenericTMDFactory |
Factory class for creating TMD (Transverse Momentum Dependent) PDF objects. More... | |
class | GenericCPDFFactory |
Factory class for creating collinear PDF objects. More... | |
struct | TMDPDFTag |
struct | CollinearPDFTag |
struct | DefaultPDFImplementations |
Tag types for PDF implementations. More... | |
struct | DefaultPDFImplementations< TMDPDFTag > |
struct | DefaultPDFImplementations< CollinearPDFTag > |
class | GenericPDF |
class | AnalyticQCDCoupling |
class | InterpolateQCDCoupling |
class | YamlCouplingInterp |
class | NullQCDCoupling |
null uncertainty for pdf set that do not impelement uncertainty. More... | |
class | ODEQCDCoupling |
class | CContinuationExtrapolator |
class | CErrExtrapolator |
class | CNearestPointExtrapolator |
class | TErrExtrapolator |
class | TZeroExtrapolator |
class | CLHAPDFBicubicInterpolator |
class | CLHAPDFBilinearInterpolator |
class | TTrilinearInterpolator |
class | TTrilinearTMDLibInterpolator |
class | CDefaultLHAPDFFileReader |
class | TDefaultAllFlavorReader |
class | TDefaultLHAPDF_TMDReader |
class | ICPDF |
Interface for Collinear Parton Distribution Functions (CPDFs). More... | |
class | IExtrapolator |
class | IAdvancedExtrapolator |
class | IcPDFExtrapolator |
class | IcAdvancedPDFExtrapolator |
class | ITMDExtrapolator |
class | ITMDAdvancedTMDExtrapolator |
class | IInterpolator |
class | IcPDFInterpolator |
class | ITMDInterpolator |
class | IQCDCoupling |
class | IReader |
class | ITMD |
Interface for Transverse Momentum Dependent (TMD) parton distribution functions. More... | |
class | IUncertainty |
struct | PDFType |
A type trait to map a tag to a specific PDF interface type. More... | |
struct | PDFType< TMDPDFTag > |
Specialization of PDFType for Transverse Momentum Dependent (TMD) PDFs. More... | |
struct | PDFType< CollinearPDFTag > |
Specialization of PDFType for Collinear PDFs. More... | |
class | PDFSet |
Manages a set of Parton Distribution Functions (PDFs), providing tools for uncertainty and correlation analysis. More... | |
class | HessianStrategy |
Strategy interface for calculating Hessian uncertainties. More... | |
class | NullUncertaintyStrategy |
null uncertainty for pdf set that do not impelement uncertainty. More... | |
class | ReplicasPercentileStrategy |
Strategy interface for calculating uncertainties using replicas and percentiles. More... | |
class | ReplicasStdDevStrategy |
Strategy interface for calculating replica uncertainties. More... | |
class | SymmHessianStrategy |
Strategy interface for calculating symmetric Hessian uncertainties. More... | |
Typedefs | |
using | StandardType = std::variant< int, float, std::string > |
using | StandardTypeMap = std::map< std::string, StandardType > |
using | TMDPDF = GenericPDF< TMDPDFTag > |
using | CollinearPDF = GenericPDF< CollinearPDFTag > |
Enumerations | |
enum class | Types { Int , Float , String } |
enum class | PhaseSpaceComponent { X , Kt2 , Q2 } |
enum class | ErrorType { None , CONFIG_KeyNotFound , CONFIG_ConversionFailed , FILE_NOT_FOUND = 10 } |
enum class | OrderQCD { LO , NLO , N2LO , N3LO , N4LO } |
enum | PartonFlavor { tbar = -6 , bbar = -5 , cbar = -4 , sbar = -3 , dbar = -1 , ubar = -2 , gNS = 0 , u = 2 , d = 1 , s = 3 , c = 4 , b = 5 , t = 6 , g = 21 , photon = 22 , z0 = 100 , wplus , wminus , higgs } |
enum class | AlphasType { None , ipol , analytic , ode } |
enum class | AlphasFlavorScheme { fixed , variable } |
Functions | |
bool | isBlockSeparator (std::string &line) |
bool | isComment (const std::string &line) |
int | findPidInPids (int pid, const std::vector< int > &pids) |
double | igamc (double a, double x) |
Incomplete gamma function (complement integral) More... | |
double | igam (double a, double x) |
Left tail of incomplete gamma function. More... | |
double | norm_quantile (double p) |
Compute quantiles for standard normal distribution N(0, 1) at probability p. More... | |
double | chisquared_quantile (double p, double ndf) |
Compute quantiles of the chi-squared probability distribution function. More... | |
template<typename N > | |
int | sgn (N val) |
Get the sign of a number. More... | |
template<typename... Args> | |
bool | all (Args... args) |
std::vector< std::string > | splitPaths (const std::string &paths) |
bool | hasWriteAccess (const std::string &path) |
double | _extrapolateLinear (double x, double xl, double xh, double yl, double yh) |
std::string | StandardPDFNaming (const std::string &pdfName, int set) |
std::vector< std::string > | GetPDFxTMDPathsAsVector () |
std::vector< std::string > | GetPDFxTMDPathsFromYaml () |
bool | AddPathToEnvironment (const std::string &newPath) |
std::vector< std::string > | split (const std::string &str, char delimiter) |
std::string | to_str_zeropad (int val, size_t nchars=4) |
Format an integer val as a zero-padded string of length nchars. More... | |
std::pair< std::optional< std::string >, ErrorType > | StandardInfoFilePath (const std::string &pdfSetName) |
std::pair< std::optional< std::string >, ErrorType > | StandardPDFSetPath (const std::string &pdfSetName, int set) |
size_t | indexbelow (double value, const std::vector< double > &knots) |
int | in_range (double x, double low, double high) |
Check if a number is in a range (closed-open) (from lhapdf) More... | |
template<typename Reader > | |
bool | isInRangeX (const Reader &reader, double x) |
template<typename Reader > | |
bool | isInRangeQ2 (const Reader &reader, double q2) |
template<typename Reader > | |
bool | isInRangeKt2 (const Reader &reader, double kt2) |
template<typename Reader > | |
bool | isInRange (const Reader &reader, double x, double mu2) |
template<typename Reader > | |
bool | isInRange (const Reader &reader, double x, double kt2, double mu2) |
void | ltrim (std::string &s) |
void | rtrim (std::string &s) |
void | trim (std::string &s) |
std::string | ltrim_copy (std::string s) |
std::string | rtrim_copy (std::string s) |
std::string | trim_copy (std::string s) |
std::string | ToLower (const std::string &str) |
std::string | ToUpper (const std::string &str) |
bool | StartsWith (const std::string &str, const std::string &prefix) |
std::pair< std::optional< YamlCouplingInfo >, ErrorType > | YamlCouplingInfoReader (const std::string &yamlInfoPath) |
int | numFlavorsQ2 (double q2, const YamlCouplingInfo &couplingInfo, int nfMin=-1, int nfMax=-1) |
double | beta (OrderQCD qcdOrder, int nf) |
std::vector< double > | betas (int nf) |
std::pair< std::optional< YamlErrorInfo >, ErrorType > | YamlErrorInfoReader (const std::string &yamlInfoPath) |
std::pair< std::optional< YamlImpelemntationInfo >, ErrorType > | YamlImpelemntationInfoReader (const std::string &yamlInfoPath) |
std::pair< std::optional< YamlStandardTMDInfo >, ErrorType > | YamlStandardPDFInfoReader (const std::string &yamlInfoPath) |
double | _findClosestMatch (const std::vector< double > &cands, double target) |
Variables | |
constexpr std::array< PartonFlavor, DEFAULT_TOTAL_PDFS > | standardPartonFlavors |
const PDFUncertainty | NULL_PDF_UNCERTAINTY |
using PDFxTMD::CollinearPDF = typedef GenericPDF<CollinearPDFTag> |
using PDFxTMD::StandardType = typedef std::variant<int, float, std::string> |
using PDFxTMD::StandardTypeMap = typedef std::map<std::string, StandardType> |
using PDFxTMD::TMDPDF = typedef GenericPDF<TMDPDFTag> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
double PDFxTMD::_extrapolateLinear | ( | double | x, |
double | xl, | ||
double | xh, | ||
double | yl, | ||
double | yh | ||
) |
|
inline |
bool PDFxTMD::AddPathToEnvironment | ( | const std::string & | newPath | ) |
bool PDFxTMD::all | ( | Args... | args | ) |
double PDFxTMD::beta | ( | OrderQCD | qcdOrder, |
int | nf | ||
) |
std::vector<double> PDFxTMD::betas | ( | int | nf | ) |
double PDFxTMD::chisquared_quantile | ( | double | p, |
double | ndf | ||
) |
Compute quantiles of the chi-squared probability distribution function.
Algorithm AS 91 Appl. Statist. (1975) Vol.24, P.35 implemented by Anna Kreshuk. Incorporates the suggested changes in AS R85 (vol.40(1), pp.233-5, 1991) Parameters:
int PDFxTMD::findPidInPids | ( | int | pid, |
const std::vector< int > & | pids | ||
) |
std::vector<std::string> PDFxTMD::GetPDFxTMDPathsAsVector | ( | ) |
std::vector<std::string> PDFxTMD::GetPDFxTMDPathsFromYaml | ( | ) |
bool PDFxTMD::hasWriteAccess | ( | const std::string & | path | ) |
double PDFxTMD::igam | ( | double | a, |
double | x | ||
) |
Left tail of incomplete gamma function.
double PDFxTMD::igamc | ( | double | a, |
double | x | ||
) |
Incomplete gamma function (complement integral)
In this implementation both arguments must be positive. The integral is evaluated by either a power series or continued fraction expansion, depending on the relative values of a and x.
|
inline |
Check if a number is in a range (closed-open) (from lhapdf)
|
inline |
|
inline |
|
inline |
bool PDFxTMD::isInRange | ( | const Reader & | reader, |
double | x, | ||
double | kt2, | ||
double | mu2 | ||
) |
|
inline |
bool PDFxTMD::isInRangeKt2 | ( | const Reader & | reader, |
double | kt2 | ||
) |
bool PDFxTMD::isInRangeQ2 | ( | const Reader & | reader, |
double | q2 | ||
) |
bool PDFxTMD::isInRangeX | ( | const Reader & | reader, |
double | x | ||
) |
|
inline |
|
inline |
double PDFxTMD::norm_quantile | ( | double | p | ) |
Compute quantiles for standard normal distribution N(0, 1) at probability p.
ALGORITHM AS241 APPL. STATIST. (1988) VOL. 37, NO. 3, 477-484.
int PDFxTMD::numFlavorsQ2 | ( | double | q2, |
const YamlCouplingInfo & | couplingInfo, | ||
int | nfMin = -1 , |
||
int | nfMax = -1 |
||
) |
|
inline |
|
inline |
|
inline |
Get the sign of a number.
std::vector<std::string> PDFxTMD::split | ( | const std::string & | str, |
char | delimiter | ||
) |
std::vector<std::string> PDFxTMD::splitPaths | ( | const std::string & | paths | ) |
std::pair<std::optional<std::string>, ErrorType> PDFxTMD::StandardInfoFilePath | ( | const std::string & | pdfSetName | ) |
std::string PDFxTMD::StandardPDFNaming | ( | const std::string & | pdfName, |
int | set | ||
) |
std::pair<std::optional<std::string>, ErrorType> PDFxTMD::StandardPDFSetPath | ( | const std::string & | pdfSetName, |
int | set | ||
) |
|
inline |
std::string PDFxTMD::to_str_zeropad | ( | int | val, |
size_t | nchars = 4 |
||
) |
Format an integer val as a zero-padded string of length nchars.
|
inline |
|
inline |
|
inline |
|
inline |
std::pair<std::optional<YamlCouplingInfo>, ErrorType> PDFxTMD::YamlCouplingInfoReader | ( | const std::string & | yamlInfoPath | ) |
std::pair<std::optional<YamlErrorInfo>, ErrorType> PDFxTMD::YamlErrorInfoReader | ( | const std::string & | yamlInfoPath | ) |
std::pair<std::optional<YamlImpelemntationInfo>, ErrorType> PDFxTMD::YamlImpelemntationInfoReader | ( | const std::string & | yamlInfoPath | ) |
std::pair<std::optional<YamlStandardTMDInfo>, ErrorType> PDFxTMD::YamlStandardPDFInfoReader | ( | const std::string & | yamlInfoPath | ) |
const PDFUncertainty PDFxTMD::NULL_PDF_UNCERTAINTY |
|
constexpr |