lhapdf is hosted by Hepforge, IPPP Durham
LHAPDF  6.3.0
LHAPDF Namespace Reference

Namespace for all LHAPDF functions and classes. More...

Classes

class  AlphaS
 Calculator interface for computing alpha_s(Q2) in various ways. More...
 
class  AlphaS_Analytic
 Calculate alpha_s(Q2) by an analytic approximation. More...
 
class  AlphaS_Ipol
 
class  AlphaS_ODE
 Solve the differential equation in alphaS using an implementation of RK4. More...
 
class  AlphaSArray
 Internal storage class for alpha_s interpolation grids. More...
 
class  AlphaSError
 Error for general AlphaS computation problems. More...
 
struct  bad_lexical_cast
 When lexical_cast goes bad. More...
 
class  BicubicInterpolator
 Implementation of bicubic interpolation. More...
 
class  BilinearInterpolator
 Implementation of bilinear interpolation. More...
 
class  Config
 Class for PDF set metadata and manipulation. More...
 
class  ContinuationExtrapolator
 
class  ErrExtrapolator
 Extrapolates using the closest point on the Grid. More...
 
class  Exception
 Generic unspecialised LHAPDF runtime error. More...
 
class  Extrapolator
 The general interface for extrapolating beyond grid boundaries. More...
 
class  FactoryError
 Error to be raised by object factories given invalid requests. More...
 
class  File
 MPI-safe file I/O interface. More...
 
class  FlavorError
 Error for requests for unsupported/invalid flavour PIDs. More...
 
class  GridError
 Error for general PDF grid problems. More...
 
class  GridPDF
 A PDF defined via an interpolation grid. More...
 
class  IndexError
 Error to be raised when a LHAPDF ID indexing fails. More...
 
class  Info
 Metadata base class for PDFs, PDF sets, or global configuration. More...
 
class  Interpolator
 The general interface for interpolating between grid points. More...
 
class  KnotArray1F
 Internal storage class for PDF data point grids. More...
 
class  KnotArrayNF
 A collection of {KnotArray1F}s accessed by PID code. More...
 
class  LogBicubicInterpolator
 Implementation of bicubic interpolation. More...
 
class  LogBilinearInterpolator
 Implementation of bilinear interpolation. More...
 
class  LogicError
 Error for places where it should not have been possible to get to! More...
 
class  MetadataError
 Error for unfound or broken metadata entries. More...
 
class  NearestPointExtrapolator
 Extrapolates using the closest point on the Grid. More...
 
class  NotImplementedError
 This feature doesn't exist yet. More...
 
class  PDF
 PDF is the general interface for access to parton density information. More...
 
class  PDFInfo
 Metadata class for PDF members. More...
 
class  PDFSet
 Class for PDF set metadata and manipulation. More...
 
struct  PDFUncertainty
 Structure for storage of uncertainty info calculated over a PDF error set. More...
 
class  RangeError
 Error to be thrown when out of the valid range of a PDF. More...
 
class  ReadError
 Error for file reading errors. More...
 
class  UserError
 Problem exists between keyboard and chair. More...
 
class  VersionError
 Error to be raised when a newer LHAPDF version is needed. More...
 

Functions

int verbosity ()
 
void setVerbosity (int v)
 
PDFmkPDF (const std::string &setname, int member)
 
PDFmkPDF (int lhaid)
 
PDFmkPDF (const std::string &setname_nmem)
 
PDFSetgetPDFSet (const std::string &setname)
 
void mkPDFs (const std::string &setname, std::vector< PDF *> &pdfs)
 Get all PDFs in a named set (return by filling the supplied vector).
 
std::vector< PDF * > mkPDFs (const std::string &setname)
 Get all PDFs in a named set (return by a new vector).
 
template<typename PTR >
void mkPDFs (const std::string &setname, std::vector< PTR > &pdfs)
 
InfogetConfig ()
 
PDFInfomkPDFInfo (const std::string &setname, int member)
 
PDFInfomkPDFInfo (int lhaid)
 
InterpolatormkInterpolator (const std::string &name)
 
ExtrapolatormkExtrapolator (const std::string &name)
 
AlphaSmkAlphaS (const Info &info)
 Make an AlphaS object from an Info object. More...
 
AlphaSmkAlphaS (const std::string &setname)
 Make an AlphaS object for the named PDF set. More...
 
AlphaSmkAlphaS (const std::string &setname, int member)
 Make an AlphaS object for the specified PDF. More...
 
AlphaSmkAlphaS (int lhaid)
 Make an AlphaS object for the specified PDF. More...
 
AlphaSmkBareAlphaS (const std::string &type)
 Make an AlphaS object of the requested type without a PDF reference. More...
 
void flushFileCache ()
 Global function to flush the MPI-safe file cache.
 
std::map< int, std::string > & getPDFIndex ()
 Get the singleton LHAPDF set ID -> PDF index map.
 
std::pair< std::string, int > lookupPDF (int lhaid)
 
std::pair< std::string, int > lookupPDF (const std::string &pdfstr)
 Decode a single PDF member ID string into a setname,memid pair. More...
 
int lookupLHAPDFID (const std::string &setname, int nmem)
 
int lookupLHAPDFID (const std::string &setname_nmem)
 Look up the member's LHAPDF index from a setname/member string.
 
std::string version ()
 Get the LHAPDF library version code (as a string)
 
Search path handling functions
std::vector< std::string > paths ()
 Get the ordered list of search paths, from $LHAPDF_DATA_PATH and the install location. More...
 
void setPaths (const std::string &pathstr)
 Set the search paths list as a colon-separated string.
 
void setPaths (std::vector< string > paths)
 Set the search paths list.
 
void pathsPrepend (const std::string &p)
 Prepend to the search paths list.
 
void pathsAppend (const std::string &p)
 Append to the search paths list.
 
std::string findFile (const std::string &target)
 
PDF-specific path functions
std::string pdfmempath (const std::string &setname, int member)
 
std::string findpdfmempath (const std::string &setname, int member)
 
std::string pdfsetinfopath (const std::string &setname)
 
std::string findpdfsetinfopath (const std::string &setname)
 
const std::vector< std::string > & availablePDFSets ()
 Get the names of all available PDF sets in the search path. More...
 
Single-beam reweighting functions
double weightxQ2 (int id, double x, double Q2, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxQ2 (int id, double x, double Q2, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
double weightxQ (int id, double x, double Q, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxQ (int id, double x, double Q, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
Two-beam reweighting functions
double weightxxQ2 (int id1, int id2, double x1, double x2, double Q2, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxxQ2 (int id1, int id2, double x1, double x2, double Q2, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
double weightxxQ (int id1, int id2, double x1, double x2, double Q, const PDF &basepdf, const PDF &newpdf, double aschk=5e-2)
 
template<typename PDFPTR >
double weightxxQ (int id1, int id2, double x1, double x2, double Q, const PDFPTR basepdf, const PDFPTR newpdf, double aschk=5e-2)
 
String handling utility functions
template<typename T , typename U >
lexical_cast (const U &in)
 Convert between types via stringstream.
 
template<typename T >
std::string to_str (const T &val)
 Make a string representation of val.
 
template<typename T >
std::string to_str (const std::vector< T > &vec)
 Make a string representation of a vector vec.
 
std::string to_str_zeropad (int val, size_t nchars=4)
 Format an integer val as a zero-padded string of length nchars.
 
std::string join (const std::vector< std::string > &svec, const std::string &sep)
 Concatenate strings with separator strings between each element.
 
std::vector< std::string > split (const std::string &s, const std::string &sep)
 Split a string by a given separator.
 
bool contains (const std::string &s, const std::string &sub)
 Does a string s contain the sub substring?
 
bool startswith (const std::string &s, const std::string &sub)
 Does a string s start with the sub substring?
 
bool endswith (const std::string &s, const std::string &sub)
 Does a string s end with the sub substring?
 
size_t countchar (const std::string &s, const char c)
 How many times does a string s contain the character c?
 
std::string trim (const std::string &s)
 Strip leading and trailing spaces (not in-place)
 
std::string to_lower (const std::string &s)
 Convert a string to lower-case (not in-place)
 
std::string to_upper (const std::string &s)
 Convert a string to upper-case (not in-place)
 
Filesystem utils
bool path_exists (const std::string &p, int mode=0)
 Check if a path p (either file or dir) exists.
 
bool file_exists (const std::string &p, int mode=0)
 Check if a file p exists.
 
bool dir_exists (const std::string &p, int mode=0)
 Check if a dir p exists.
 
std::string operator/ (const std::string &a, const std::string &b)
 Operator for joining strings a and b with filesystem separators.
 
std::string basename (const std::string &p)
 Get the basename (i.e. terminal file name) from a path p.
 
std::string dirname (const std::string &p)
 Get the dirname (i.e. path to the penultimate directory) from a path p.
 
std::string file_stem (const std::string &f)
 Get the stem (i.e. part without a file extension) from a filename f.
 
std::string file_extn (const std::string &f)
 Get the file extension from a filename f.
 
Math functions
Todo:
Add an abspath(p) function
template<typename N >
sqr (const N &x)
 Convenience function for squaring (of any type)
 
template<typename N >
int sgn (N val)
 Get the sign of a number.
 
int in_range (double x, double low, double high)
 Check if a number is in a range (closed-open)
 
int in_closed_range (double x, double low, double high)
 Check if a number is in a range (closed-closed)
 
int in_open_range (double x, double low, double high)
 Check if a number is in a range (open-open)
 
double norm_quantile (double p)
 Quantiles of the standard normal probability distribution function. More...
 
double chisquared_quantile (double p, double ndf)
 Quantiles of the chi-squared probability distribution function.
 
Container utils
template<typename T >
bool contains (const std::vector< T > &container, const T &item)
 Does the vector<T> container contain item?
 
template<typename K , typename T >
bool has_key (const std::map< K, T > &container, const K &key)
 Does the map<K,T> container have a key K key?
 

Detailed Description

Namespace for all LHAPDF functions and classes.

Function Documentation

◆ weightxQ() [1/2]

double LHAPDF::weightxQ ( int  id,
double  x,
double  Q,
const PDF basepdf,
const PDF newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for a beam with id,x,Q parameters, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxQ() [2/2]

template<typename PDFPTR >
double LHAPDF::weightxQ ( int  id,
double  x,
double  Q,
const PDFPTR  basepdf,
const PDFPTR  newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for a beam with id,x,Q parameters, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxQ2() [1/2]

double LHAPDF::weightxQ2 ( int  id,
double  x,
double  Q2,
const PDF basepdf,
const PDF newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for a beam with id,x,Q parameters, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxQ2() [2/2]

template<typename PDFPTR >
double LHAPDF::weightxQ2 ( int  id,
double  x,
double  Q2,
const PDFPTR  basepdf,
const PDFPTR  newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for a beam with id,x,Q parameters, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxxQ() [1/2]

double LHAPDF::weightxxQ ( int  id1,
int  id2,
double  x1,
double  x2,
double  Q,
const PDF basepdf,
const PDF newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for two beams, one with id1,x1 and the other with id2,x2, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxxQ() [2/2]

template<typename PDFPTR >
double LHAPDF::weightxxQ ( int  id1,
int  id2,
double  x1,
double  x2,
double  Q,
const PDFPTR  basepdf,
const PDFPTR  newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for two beams, one with id1,x1 and the other with id2,x2, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxxQ2() [1/2]

double LHAPDF::weightxxQ2 ( int  id1,
int  id2,
double  x1,
double  x2,
double  Q2,
const PDF basepdf,
const PDF newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for two beams, one with id1,x1 and the other with id2,x2, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.

◆ weightxxQ2() [2/2]

template<typename PDFPTR >
double LHAPDF::weightxxQ2 ( int  id1,
int  id2,
double  x1,
double  x2,
double  Q2,
const PDFPTR  basepdf,
const PDFPTR  newpdf,
double  aschk = 5e-2 
)
inline

Get the PDF reweighting factor for two beams, one with id1,x1 and the other with id2,x2, from basepdf to newpdf

Note
For NLO calculations, in general different PDF values enter for each counterterm: be careful.