PDFxTMDLib  1.0.0
Namespaces | Macros | Enumerations | Functions | Variables
PartonUtils.h File Reference
#include <algorithm>
#include <array>
#include <cmath>
#include <exception>
#include <filesystem>
#include <map>
#include <optional>
#include <sstream>
#include <string>
#include <vector>
#include "PDFxTMDLib/Common/LibraryBanner.h"
Include dependency graph for PartonUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 PDFxTMD
 

Macros

#define FOLDER_SEP   "/"
 
#define STD_PDF_INFO_EXTENSION   ".info"
 
#define STD_PDF_DATA_EXTENSION   ".dat"
 
#define DEFAULT_TOTAL_PDFS   13
 
#define DEFULT_NUM_FLAVORS   5
 
#define DOWN_DEFAULT_MASS   0.005
 
#define UP_DEFAULT_MASS   0.002
 
#define STRANGE_DEFAULT_MASS   0.10
 
#define CHARM_DEFAULT_MASS   1.29
 
#define BOTTOM_DEFAULT_MASS   4.19
 
#define TOP_DEFAULT_MASS   172.9
 
#define SQR(x)   ((x) * (x))
 
#define NO_REQUESTED_CONFIDENCE_LEVEL   -1
 

Enumerations

enum class  PDFxTMD::PhaseSpaceComponent { PDFxTMD::X , PDFxTMD::Kt2 , PDFxTMD::Q2 }
 
enum class  PDFxTMD::ErrorType { PDFxTMD::None , PDFxTMD::CONFIG_KeyNotFound , PDFxTMD::CONFIG_ConversionFailed , PDFxTMD::FILE_NOT_FOUND = 10 }
 
enum class  PDFxTMD::OrderQCD {
  PDFxTMD::LO , PDFxTMD::NLO , PDFxTMD::N2LO , PDFxTMD::N3LO ,
  PDFxTMD::N4LO
}
 
enum  PDFxTMD::PartonFlavor {
  PDFxTMD::tbar = -6 , PDFxTMD::bbar = -5 , PDFxTMD::cbar = -4 , PDFxTMD::sbar = -3 ,
  PDFxTMD::dbar = -1 , PDFxTMD::ubar = -2 , PDFxTMD::gNS = 0 , PDFxTMD::u = 2 ,
  PDFxTMD::d = 1 , PDFxTMD::s = 3 , PDFxTMD::c = 4 , PDFxTMD::b = 5 ,
  PDFxTMD::t = 6 , PDFxTMD::g = 21 , PDFxTMD::photon = 22 , PDFxTMD::z0 = 100 ,
  PDFxTMD::wplus , PDFxTMD::wminus , PDFxTMD::higgs
}
 

Functions

template<typename... Args>
bool PDFxTMD::all (Args... args)
 
std::vector< std::string > PDFxTMD::splitPaths (const std::string &paths)
 
bool PDFxTMD::hasWriteAccess (const std::string &path)
 
double PDFxTMD::_extrapolateLinear (double x, double xl, double xh, double yl, double yh)
 
std::string PDFxTMD::StandardPDFNaming (const std::string &pdfName, int set)
 
std::vector< std::string > PDFxTMD::GetPDFxTMDPathsAsVector ()
 
std::vector< std::string > PDFxTMD::GetPDFxTMDPathsFromYaml ()
 
bool PDFxTMD::AddPathToEnvironment (const std::string &newPath)
 
std::vector< std::string > PDFxTMD::split (const std::string &str, char delimiter)
 
std::string PDFxTMD::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 > PDFxTMD::StandardInfoFilePath (const std::string &pdfSetName)
 
std::pair< std::optional< std::string >, ErrorType > PDFxTMD::StandardPDFSetPath (const std::string &pdfSetName, int set)
 
size_t PDFxTMD::indexbelow (double value, const std::vector< double > &knots)
 
int PDFxTMD::in_range (double x, double low, double high)
 Check if a number is in a range (closed-open) (from lhapdf) More...
 

Variables

constexpr std::array< PartonFlavor, DEFAULT_TOTAL_PDFSPDFxTMD::standardPartonFlavors
 

Macro Definition Documentation

◆ BOTTOM_DEFAULT_MASS

#define BOTTOM_DEFAULT_MASS   4.19

◆ CHARM_DEFAULT_MASS

#define CHARM_DEFAULT_MASS   1.29

◆ DEFAULT_TOTAL_PDFS

#define DEFAULT_TOTAL_PDFS   13

◆ DEFULT_NUM_FLAVORS

#define DEFULT_NUM_FLAVORS   5

◆ DOWN_DEFAULT_MASS

#define DOWN_DEFAULT_MASS   0.005

◆ FOLDER_SEP

#define FOLDER_SEP   "/"

◆ NO_REQUESTED_CONFIDENCE_LEVEL

#define NO_REQUESTED_CONFIDENCE_LEVEL   -1

◆ SQR

#define SQR (   x)    ((x) * (x))

◆ STD_PDF_DATA_EXTENSION

#define STD_PDF_DATA_EXTENSION   ".dat"

◆ STD_PDF_INFO_EXTENSION

#define STD_PDF_INFO_EXTENSION   ".info"

◆ STRANGE_DEFAULT_MASS

#define STRANGE_DEFAULT_MASS   0.10

◆ TOP_DEFAULT_MASS

#define TOP_DEFAULT_MASS   172.9

◆ UP_DEFAULT_MASS

#define UP_DEFAULT_MASS   0.002