fast pQCD calculations for hadron-induced processes
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
fastNLOReader Class Referenceabstract
Inheritance diagram for fastNLOReader:
fastNLOTable fastNLOPDFLinearCombinations fastNLODiffReader fastNLOExtern fastNLOLHAPDF fastNLODiffUser fastNLOAlphas fastNLOCRunDec fastNLOHoppet fastNLOQCDNUMAS fastNLOHoppetAs

Public Types

typedef double(* mu_func) (double, double)
 

Public Member Functions

 fastNLOReader (std::string filename)
 
 fastNLOReader (const fastNLOTable &)
 
 fastNLOReader (const fastNLOReader &)
 
void SetFilename (std::string filename)
 
void InitScalevariation ()
 
void SetUnits (fastNLO::EUnits Unit)
 
bool SetContributionON (fastNLO::ESMCalculation eCalc, unsigned int Id, bool SetOn=true)
 Set contribution Id On/Off. Check for Id of a particular contribution with ContrId(...) or use ActivateContribution(...). More...
 
bool ActivateContribution (fastNLO::ESMCalculation eCalc, fastNLO::ESMOrder eOrd, bool SetOn=true)
 Activate first found contribution of type eCalc and order eOrd.
 
int ContrId (const fastNLO::ESMCalculation eCalc, const fastNLO::ESMOrder eOrder) const
 Find Id in table of contribution of type eCalc and order eOrd.
 
void SetCoefficientUsageDefault ()
 Switch on LO and NLO contributions, deactivate other contributions. More...
 
bool GetIsFlexibleScaleTable (fastNLOCoeffAddBase *ctest=NULL) const
 Get, if this table is a 'flexible-scale' table or not.
 
void SetMuRFunctionalForm (fastNLO::EScaleFunctionalForm func)
 Set the functional form of Mu_R.
 
void SetMuFFunctionalForm (fastNLO::EScaleFunctionalForm func)
 Set the functional form of Mu_F.
 
void SetFunctionalForm (fastNLO::EScaleFunctionalForm func, fastNLO::EMuX kMuX)
 Set functional form of MuX. More...
 
bool SetScaleFactorsMuRMuF (double xmur, double xmuf)
 Set scale factors for MuR and MuF. More...
 
void SetExternalFuncForMuR (mu_func)
 Set external function for scale calculation (optional)
 
void SetExternalFuncForMuF (mu_func)
 Set external function for scale calculation (optional)
 
void SetExternalConstantForMuR (double MuR)
 Set value for mu_r if mu_r is chosen to be a constant value (i.e. m_t, or m_Z) More...
 
void SetExternalConstantForMuF (double MuF)
 Set value for mu_f if mu_f is chosen to be a constant value (i.e. m_t, or m_Z) More...
 
void UseHoppetScaleVariations (bool)
 
void FillPDFCache (double chksum=0., bool lForce=false)
 Prepare for recalculation of cross section with 'new'/updated pdf. More...
 
virtual std::vector< double > GetXFX (double x, double muf) const =0
 
virtual bool InitPDF ()=0
 
virtual double EvolveAlphas (double Q) const =0
 
void FillAlphasCache (bool lForce=false)
 prepare for recalculation of cross section with new alpha_s value. More...
 
void ResetCache ()
 
void CalcCrossSection ()
 
double RescaleCrossSectionUnits (double binsize, int xunits)
 
std::vector< double > GetCrossSection ()
 Return vector with all cross section values.
 
std::vector< double > GetCrossSection (bool lNorm)
 Return vector with all cross section values, normalize on request.
 
std::vector< double > GetNormCrossSection ()
 Return vector with all normalized cross section values.
 
std::vector< std::map< double, double > > GetCrossSection_vs_x1 ()
 
std::vector< std::map< double, double > > GetCrossSection_vs_x2 ()
 Cross section vs. x1 ( XSection_vsX1[bin][<x,xs>] )
 
std::vector< double > GetReferenceCrossSection ()
 Cross section vs. x2 ( XSection_vsX1[bin][<x,xs>] )
 
std::vector< double > GetKFactors ()
 DEPRECATED.
 
std::vector< double > GetQScales ()
 Order (power of alpha_s) rel. to LO: 0 –> LO, 1 –> NLO.
 
std::vector< std::vector< double > > GetCrossSection2Dim ()
 
XsUncertainty GetScaleUncertainty (const fastNLO::EScaleUncertaintyStyle eScaleUnc)
 Return struct with vectors containing the cross section values and the selected scale uncertainty.
 
XsUncertainty GetScaleUncertainty (const fastNLO::EScaleUncertaintyStyle eScaleUnc, bool lNorm)
 
std::vector< std::vector< double > > GetScaleUncertaintyVec (const fastNLO::EScaleUncertaintyStyle eScaleUnc)
 Function for use with pyext (TODO: Clean this up)
 
fastNLO::EScaleFunctionalForm GetMuRFunctionalForm () const
 
fastNLO::EScaleFunctionalForm GetMuFFunctionalForm () const
 
fastNLO::EUnits GetUnits () const
 
mu_func GetExternalFuncForMuR ()
 
mu_func GetExternalFuncForMuF ()
 
double GetScaleFactorMuR () const
 
double GetScaleFactorMuF () const
 
int GetScaleVariation () const
 
std::string GetScaleDescription (const fastNLO::ESMOrder eOrder, int iScale=0) const
 
double GetNevt (const fastNLO::ESMOrder eOrder) const
 
int GetNScaleVariations () const
 Get number of available scale variations.
 
std::vector< double > GetScaleFactors () const
 Get list of available scale factors.
 
void Print (int iprint) const
 Print basic info about fastNLO table and its contributions. More...
 
void PrintContributionSummary (int iprint) const
 
void PrintCrossSections () const
 Print cross sections (optimized for double-differential tables) More...
 
void PrintCrossSectionsWithReference ()
 
void PrintTableInfo (const int iprint=0) const
 
void PrintFastNLOTableConstants (const int iprint=2) const
 
void PrintCrossSectionsData () const
 DEPRECATED.
 
void PrintCrossSectionsDefault (std::vector< double > kthc=std::vector< double >()) const
 DEPRECATED.
 
void RunFastNLODemo ()
 DEPRECATED.
 
bool TestXFX ()
 Test if XFX reasonable values.
 
bool TestAlphas ()
 Test if EvolvaAlphas returns a reasonable value. More...
 
- Public Member Functions inherited from fastNLOTable
 fastNLOTable (std::string filename)
 
 fastNLOTable (const fastNLOTable &)
 
virtual void ReadTable ()
 
virtual void WriteTable ()
 
virtual void WriteTable (std::string filename)
 
bool IsCompatible (const fastNLOTable &other) const
 
bool IsCompatibleScenario (const fastNLOTable &other) const
 
bool IsCatenable (const fastNLOTable &other) const
 
bool IsCatenableScenario (const fastNLOTable &other) const
 
void PrintHeader (int iprint) const
 Print header variables (BlockA1) to screen.
 
bool IsCompatibleHeader (const fastNLOTable &other) const
 Compare header with header of another table.
 
bool IsCatenableHeader (const fastNLOTable &other) const
 Compare header with header of another table.
 
std::string GetFilename () const
 
void SetFilename (std::string name)
 
int GetItabversion () const
 
void SetItabversion (int version)
 
std::string GetScenName () const
 
void SetScenName (std::string name)
 
int GetNmult () const
 
int GetNcontrib () const
 
int GetNdata () const
 
int GetOutputPrecision () const
 
void SetOutputPrecision (int precision)
 
unsigned int GetNumDiffBin () const
 Get dimensionality of calculation: single-, double-, or triple-differential. More...
 
double GetObsBinLoBound (unsigned int iObs, unsigned int iDim) const
 Getters for linear array of observable bins "ObsBin" running from 0->(NObsBin-1) More...
 
double GetObsBinUpBound (unsigned int iObs, unsigned int iDim) const
 Return upper bin bound for obs. bin iObs in dim. iDim.
 
std::vector< double > GetObsBinsLoBounds (unsigned int iDim) const
 Return std::vector of lower bin bounds in dim. iDim for all obs. bins.
 
std::vector< double > GetObsBinsUpBounds (unsigned int iDim) const
 Return std::vector of upper bin bounds in dim. iDim for all obs. bins.
 
double GetObsBinsLoBoundsMin (unsigned int iDim) const
 Return minimum value of all lower bin bounds for dim. iDim. More...
 
double GetObsBinsUpBoundsMax (unsigned int iDim) const
 Return maximum value of all upper bin bounds for dim. iDim. More...
 
std::vector< std::pair< double, double > > GetObsBinsBounds (unsigned int iDim) const
 Return std::vector of pairs with lower and upper bin bounds in dim. iDim for all obs. bins.
 
int GetObsBinNumber (const std::vector< double > &vobs) const
 Return observable bin no. for std::vector of values obs0=var0,obs1=var1,...; -1 if outside range.
 
int GetObsBinNumber (double var0) const
 Return observable bin no. for obs0=var0 in 1D binning; -1 if outside range. More...
 
int GetObsBinNumber (double var0, double var1) const
 Return observable bin no. for obs0=var0,obs1=var1 in 2D binning; -1 if outside range. More...
 
int GetObsBinNumber (double var0, double var1, double var2) const
 Return observable bin no. for obs0=var0,obs1=var1,obs2=var2 in 3D binning; -1 if outside range. More...
 
std::vector< std::pair< double, double > > GetDim0BinBounds () const
 Getters for multidimensional binning, here called DimBins. More...
 
std::vector< std::pair< double, double > > GetDim1BinBounds (unsigned int iDim0Bin) const
 Return std::vector of pairs with unique bin bounds of 2nd dim. for 'iDim0Bin' of 1st dim.
 
std::vector< std::pair< double, double > > GetDim2BinBounds (unsigned int iDim0Bin, unsigned int iDim1Bin) const
 Return std::vector of pairs with unique bin bounds of 3rd dim. for 'iDim0Bin' and 'iDim1Bin' of 1st two dim.
 
std::vector< std::pair< double, double > > GetObsBinDimBounds (unsigned int iObs) const
 Return std::vector of pairs with lower and upper bin bounds for all dimensions for a given obs. bin.
 
std::pair< double, double > GetObsBinDimBounds (unsigned int iObs, unsigned int iDim) const
 Return pair with lower and upper bin bounds for given obs. bin and dim. iDim.
 
unsigned int GetIDim0Bin (unsigned int iObs) const
 Return bin no. in 1st dim. for obs. bin iObs. More...
 
unsigned int GetIDim1Bin (unsigned int iObs) const
 Return bin no. in 2nd dim. for obs. bin iObs. More...
 
unsigned int GetIDim2Bin (unsigned int iObs) const
 Return bin no. in 3rd dim. for obs. bin iObs. More...
 
unsigned int GetNDim0Bins () const
 Return no. of bins in 1st dimension. More...
 
unsigned int GetNDim1Bins (unsigned int iDim0Bin) const
 Return no. of bins in 2nd dimension for given bin in 1st dim. More...
 
unsigned int GetNDim2Bins (unsigned int iDim0Bin, unsigned int iDim1Bin) const
 Return no. of bins in 3rd dimension for given bins in 1st and 2nd dim. More...
 
int GetODim0Bin (double var0) const
 Return bin no. in 1st dim. for obs0=var0; -1 if outside range.
 
int GetODim1Bin (double var0, double var1) const
 Return bin no. in 2nd dim. for obs0=var0,obs1=var1; -1 if outside range.
 
int GetODim2Bin (double var0, double var1, double var2) const
 Return bin no. in 3rd dim. for obs0=var0,obs1=var1,obs2=var2; -1 if outside range.
 
int GetIDiffBin (int bin) const
 Get if dimension is 'truly differential' or bin-integrated (divided by bin width or not) More...
 
double GetBinSize (int bin) const
 Get BinSize for bin = BinSizeDim1 < * BinSizeDim2 >
 
std::vector< std::string > GetDimLabels () const
 Get vector of dimensions labels.
 
std::string GetDimLabel (int iDim) const
 Get dimension label for dimension iDim.
 
int GetINormFlag () const
 
bool IsNorm () const
 Get normalization logical (def=false)
 
std::string GetDenomTable () const
 Get filename of normalization table for INormFlag<0.
 
std::vector< std::string > GetScDescr () const
 get/set scenario description More...
 
void SetScDescr (std::vector< std::string > ScDescr)
 
int GetIpublunits () const
 get/set cross section units of published results (pb = 12, fb = 15, ...)
 
void SetIpublunits (int unit)
 
double GetEcms () const
 get/set center-of-mass energy in units of GeV
 
void SetEcms (double E)
 
int GetLoOrder () const
 get/set power of alpha_s for LO process
 
void SetLoOrder (int LOOrd)
 
unsigned int GetNObsBin () const
 get/set no. of observable bins
 
void SetNObsBin (int NObs)
 
std::vector< std::vector< std::pair< double, double > > > GetBins () const
 get/set Bin vector
 
void SetBins (std::vector< std::vector< std::pair< double, double > > >)
 
std::vector< double > GetBinSize () const
 get/set BinSize vector
 
void SetBinSize (std::vector< double >)
 
void EraseBinFromTable (unsigned int iObsIdx)
 
template<typename T >
void EraseBin (std::vector< T > &v, unsigned int idx)
 
void MultiplyBinInTable (unsigned int iObsIdx, double fact)
 
void MultiplyBinSize (unsigned int iObsIdx, double fact)
 
template<typename T >
void MultiplyBin (std::vector< T > &v, unsigned int idx, double fact)
 
void CatBinToTable (const fastNLOTable &other, unsigned int iObsIdx, unsigned int table_count)
 
void CatBin (const fastNLOTable &other, unsigned int iObsIdx, unsigned int table_count)
 
std::string GetRivetId () const
 
std::string GetXSDescr () const
 Get cross section from analysis description.
 
void SetDimLabel (std::string label, unsigned int iDim, bool IsDiff=true)
 
void SetNumDiffBin (int iDiff)
 
void PrintTableInfo (const int iprint=0) const
 Print basic info about fastNLO table and its contributions. More...
 
void PrintContributionSummary (int iprint) const
 
void PrintFastNLOTableConstants (const int iprint=0) const
 Print (technical) constants of fastNLO table (use iprint) for level of details.
 
void PrintScenario (int iprint) const
 
void MergeTable (const fastNLOTable &rhs, fastNLO::EMerge option=fastNLO::kMerge)
 'merge' More...
 
void MergeTables (const std::vector< fastNLOTable *> &tables, fastNLO::EMerge option=fastNLO::kMerge, double cutRMS=0)
 'merge' (also supports 'median' and 'mean') More...
 
void AddTable (const fastNLOTable &rhs, fastNLO::EMerge option=fastNLO::kMerge)
 'merge'
 
void DeleteAllCoeffTable ()
 Handle coefficient tables.
 
int CreateCoeffTable (int no, fastNLOCoeffBase *newcoeff)
 
void CatenateTable (const fastNLOTable &other)
 
fastNLOCoeffBaseGetCoeffTable (int no) const
 
fastNLOCoeffDataGetDataTable () const
 Returns pointer to data table if available, else returns NULL pointer.
 
fastNLOCoeffAddBaseGetReferenceTable (fastNLO::ESMOrder eOrder) const
 Returns pointer to reference table if available, else returns NULL pointer.
 
template<typename T >
void EraseBin (vector< T > &v, unsigned int idx)
 
template<typename T >
void MultiplyBin (vector< T > &v, unsigned int idx, double fact)
 
- Public Member Functions inherited from fastNLOPDFLinearCombinations
std::vector< double > CalcPDFLinearCombination (const fastNLOCoeffAddBase *c, const std::vector< double > &pdfx1=std::vector< double >(), const std::vector< double > &pdfx2=std::vector< double >(), bool pdf2IsAntiParticle=false) const
 

Public Attributes

double fConst_MuR
 Constant value for the renormalization scale. Used only for flexible-scale tables and if requested.
 
double fConst_MuF
 Constant value for the factorization scale. Used only for flexible-scale tables and if requested.
 

Protected Member Functions

void OrderCoefficients ()
 
void StripWhitespace (std::string *s)
 
void PrintScaleSettings (fastNLO::EMuX kMuX=fastNLO::kMuR)
 
void FillBlockBPDFLCsDISv20 (fastNLOCoeffAddFix *B)
 
void FillBlockBPDFLCsDISv21 (fastNLOCoeffAddFlex *B, fastNLOCoeffAddFlex *B0=NULL)
 
void FillBlockBPDFLCsHHCv20 (fastNLOCoeffAddFix *B)
 
void FillBlockBPDFLCsHHCv21 (fastNLOCoeffAddFlex *B)
 
void CalcAposterioriScaleVariationMuR ()
 
void CalcAposterioriScaleVariationMuF ()
 
void FillAlphasCacheInBlockBv20 (fastNLOCoeffAddFix *B)
 
void FillAlphasCacheInBlockBv21 (fastNLOCoeffAddFlex *B)
 
double CalcAlphas (double Q)
 
double CalcReferenceAlphas ()
 
double CalcNewPDFChecksum ()
 
double CalcChecksum (double mu)
 
bool PrepareCache ()
 
void CalcReferenceCrossSection ()
 
double CalcMu (fastNLO::EMuX kMuX, double scale1, double scale2, double scalefactor)
 
double FuncMixedOver1 (double scale1, double scale2)
 
double FuncMixedOver2 (double scale1, double scale2)
 
double FuncMixedOver4 (double scale1, double scale2)
 
double FuncMixed2s2Ov2 (double scale1, double scale2)
 
double FuncMixed2s2Ov4 (double scale1, double scale2)
 
double FuncPow4Sum (double scale1, double scale2)
 
double FuncWgtAvg (double scale1, double scale2)
 
double FuncLinearMean (double scale1, double scale2)
 
double FuncLinearSum (double scale1, double scale2)
 
double FuncMax (double scale1, double scale2)
 
double FuncMin (double scale1, double scale2)
 
double FuncProd (double scale1, double scale2)
 
double FuncExpProd2 (double scale1, double scale2)
 
void CalcCrossSectionv20 (fastNLOCoeffAddFix *B)
 
void CalcCrossSectionv21 (fastNLOCoeffAddFlex *B)
 
fastNLOCoeffAddBaseB_LO () const
 
fastNLOCoeffAddBaseB_NLO () const
 
fastNLOCoeffAddBaseB_NNLO () const
 
fastNLOCoeffBaseB_ThC (int n=0)
 
fastNLOCoeffAddBaseB_Any () const
 
bool SetScaleVariation (int scalevar)
 Choose the MuF scale variation table. More...
 
- Protected Member Functions inherited from fastNLOTable
void PrintWelcomeMessage ()
 Say hello to fastNLO user.
 
std::ostream * OpenFileWrite (bool compress=false)
 open std::ofstream for writing tables to ffilename More...
 
std::istream * OpenFileRead ()
 open std::ifstream for reading table More...
 
void WriteHeader (std::ostream &table)
 write (or cout) hader using std::ostream
 
int ReadHeader (std::istream &table)
 read header of table (BlockA1) More...
 
void CloseFileWrite (std::ostream &table)
 
void CloseFileRead (std::istream &table)
 
void WriteScenario (std::ostream &table)
 
void ReadScenario (std::istream &table)
 
void ReadCoeffTables (std::istream &table, int nCoeff)
 
fastNLOCoeffBaseReadRestOfCoeffTable (const fastNLOCoeffBase &cB, std::istream &table)
 
- Protected Member Functions inherited from fastNLOPDFLinearCombinations
std::vector< double > MakeAntiHadron (const std::vector< double > &hadron) const
 

Protected Attributes

std::string ffilename
 
int fScalevar
 
double fScaleFacMuR
 
double fScaleFacMuF
 
fastNLO::EScaleFunctionalForm fMuRFunc
 
fastNLO::EScaleFunctionalForm fMuFFunc
 
fastNLO::EUnits fUnits
 
bool fPDFSuccess
 
double fPDFCached
 
double fAlphasCached
 
mu_func Fct_MuR
 Function, if you define your functional form for your scale external.
 
mu_func Fct_MuF
 Function, if you define your functional form for your scale external.
 
std::vector< std::vector< bool > > bUseSMCalc
 switch calculations ON/OFF
 
bool fUseHoppet
 
std::vector< std::vector< fastNLOCoeffBase *> > BBlocksSMCalc
 BlockB's for SM corrections.
 
std::vector< double > XSection_LO
 
std::vector< double > XSection
 
std::vector< double > kFactor
 
std::vector< double > QScale_LO
 
std::vector< double > QScale
 
std::vector< std::map< double, double > > fXSection_vsX1
 
std::vector< std::map< double, double > > fXSection_vsX2
 Cross section vs. x ( XSection_vsX1[bin][<x,xs>] )
 
std::vector< double > XSectionRef
 
std::vector< double > XSectionRefMixed
 
std::vector< double > XSectionRef_s1
 
std::vector< double > XSectionRef_s2
 
- Protected Attributes inherited from fastNLOTable
std::string ffilename
 
int fPrecision
 
int Itabversion
 
std::string ScenName
 
PrimalScream logger
 
std::vector< fastNLOCoeffBase *> fCoeff
 
double Ecms
 
int ILOord
 
int Ipublunits
 
std::vector< std::string > ScDescript
 
unsigned int NObsBin
 
unsigned int NDim
 
std::vector< std::string > DimLabel
 
std::vector< int > IDiffBin
 
std::vector< std::vector< std::pair< double, double > > > Bin
 
std::vector< double > BinSize
 
int INormFlag
 
std::string DenomTable
 
std::vector< int > IDivLoPointer
 
std::vector< int > IDivUpPointer
 

Additional Inherited Members

- Static Protected Attributes inherited from fastNLOTable
static bool fWelcomeOnce = false
 

Member Typedef Documentation

◆ mu_func

typedef double(* fastNLOReader::mu_func) (double, double)

fastNLOReader. Abstract base class for evaluation of fastNLO tables. Instantiatians must implement functions for PDF and alpha_s access.

Constructor & Destructor Documentation

◆ fastNLOReader()

fastNLOReader::fastNLOReader ( const fastNLOReader other)

Copy constructor

Member Function Documentation

◆ CalcAlphas()

double fastNLOReader::CalcAlphas ( double  Q)
protected

Internal method for calculating the alpha_s(mu)

◆ CalcChecksum()

double fastNLOReader::CalcChecksum ( double  mu)
protected

caculate a checksum from the PDF in order to check if the PDF has changed. This is mandatory since the old LHAPDF code is written in fortran and PDFs may change without any notice.

◆ CalcCrossSection()

void fastNLOReader::CalcCrossSection ( )

Calculate cross section for all active additive and multiplicative contributions

xs = { sum(all active pert. add. contr.) + sum(all other active add. contr.) } * prod(all active multipl. contr.)

◆ CalcCrossSectionv20()

void fastNLOReader::CalcCrossSectionv20 ( fastNLOCoeffAddFix B)
protected

Cross section calculation in v2.0 format

Test that alpha_s cache is filled with non-zero values for this contribution

Test that PDF cache is filled with non-zero values for this contribution

◆ CalcCrossSectionv21()

void fastNLOReader::CalcCrossSectionv21 ( fastNLOCoeffAddFlex B)
protected

Cross section calculation for DIS and HHC tables in v2.1 format

◆ CalcMu()

double fastNLOReader::CalcMu ( fastNLO::EMuX  kMuX,
double  scale1,
double  scale2,
double  scalefactor 
)
protected

Calculate the scales with the defined function and the corresponding prefactor.

◆ CalcNewPDFChecksum()

double fastNLOReader::CalcNewPDFChecksum ( )
protected

calculate a PDF checksum to decide, whether PDF cache has to be refilled

◆ CalcReferenceCrossSection()

void fastNLOReader::CalcReferenceCrossSection ( )
protected

Initialize the internal arrays for the reference cross sections with the information from the FastNLO file

◆ FillAlphasCache()

void fastNLOReader::FillAlphasCache ( bool  lForce = false)

prepare for recalculation of cross section with new alpha_s value.

Fill the internal alpha_s cache. This is usally called automatically. Only if you make use of ReFillCache==false options, you have to take care of this filling by yourself.

◆ FillAlphasCacheInBlockBv20()

void fastNLOReader::FillAlphasCacheInBlockBv20 ( fastNLOCoeffAddFix B)
protected

Internal method for filling alpha_s cache

◆ FillAlphasCacheInBlockBv21()

void fastNLOReader::FillAlphasCacheInBlockBv21 ( fastNLOCoeffAddFlex B)
protected

Internal method for filling alpha_s cache

◆ FillBlockBPDFLCsDISv20()

void fastNLOReader::FillBlockBPDFLCsDISv20 ( fastNLOCoeffAddFix B)
protected

Fill member variables in fastNLOCoeffAddFix with PDFCache

◆ FillBlockBPDFLCsDISv21()

void fastNLOReader::FillBlockBPDFLCsDISv21 ( fastNLOCoeffAddFlex B,
fastNLOCoeffAddFlex B0 = NULL 
)
protected

Fill member variables in fastNLOCoeffAddFlex with PDFCache

◆ FillBlockBPDFLCsHHCv20()

void fastNLOReader::FillBlockBPDFLCsHHCv20 ( fastNLOCoeffAddFix B)
protected

Fill member variables in fastNLOCoeffAddFix with PDFCache

◆ FillBlockBPDFLCsHHCv21()

void fastNLOReader::FillBlockBPDFLCsHHCv21 ( fastNLOCoeffAddFlex B)
protected

Fill member variables in fastNLOCoeffAddFlex with PDFCache The calculation is improved, if the factorization scale is calculated from only one scale variable (i.e. kScale1 or kScale2)

◆ FillPDFCache()

void fastNLOReader::FillPDFCache ( double  chksum = 0.,
bool  lForce = false 
)

Prepare for recalculation of cross section with 'new'/updated pdf.

Fill the internal pdf cache. This function has to be called by the user, since the pdf parameters and evolutions are calculated externally.

◆ GetCrossSection2Dim()

vector< vector< double > > fastNLOReader::GetCrossSection2Dim ( )

Get cross section as 2-dimensional vector according to defined binning

◆ GetNevt()

double fastNLOReader::GetNevt ( const fastNLO::ESMOrder  eOrder) const

Get label of scale iScale for order eOrder of the fixed order calculation.

◆ GetScaleDescription()

string fastNLOReader::GetScaleDescription ( const fastNLO::ESMOrder  eOrder,
int  iScale = 0 
) const

Get label of scale iScale for order eOrder of the fixed order calculation.

◆ GetScaleUncertainty()

XsUncertainty fastNLOReader::GetScaleUncertainty ( const fastNLO::EScaleUncertaintyStyle  eScaleUnc,
bool  lNorm 
)

Cross section and absolute uncertainties

Divide by cross section != 0 to give relative uncertainties

◆ InitScalevariation()

void fastNLOReader::InitScalevariation ( )

Initialize to scale factors of (MuR,MuF) = (1,1)

◆ Print()

void fastNLOReader::Print ( int  iprint) const
virtual

Print basic info about fastNLO table and its contributions.

this function is inherited from fastNLOTable.

Reimplemented from fastNLOTable.

◆ PrintContributionSummary()

void fastNLOReader::PrintContributionSummary ( int  iprint) const

this function is inherited from fastNLOTable.

◆ PrintCrossSections()

void fastNLOReader::PrintCrossSections ( ) const

Print cross sections (optimized for double-differential tables)

Print Cross sections in NLO, k-factors and Reference table cross sections

◆ PrintCrossSectionsWithReference()

void fastNLOReader::PrintCrossSectionsWithReference ( )

Print Cross sections in NLO, k-factors and Reference table cross sections

Please mention, that the reference cross section can be easily deviating more than 20% (scales, pdfs, alpha_s, etc...). This does not mean that the table is wrong!

◆ RescaleCrossSectionUnits()

double fastNLOReader::RescaleCrossSectionUnits ( double  binsize,
int  xunits 
)

This method rescales the stored cross section units according to the chosen Ipublunits and settings for [kAbsoluteUnits | kPublicationUNits].

◆ SetCoefficientUsageDefault()

void fastNLOReader::SetCoefficientUsageDefault ( )

Switch on LO and NLO contributions, deactivate other contributions.

Switch on LO, NLO, and NNLO contribution. Deactivate all other contributions

◆ SetContributionON()

bool fastNLOReader::SetContributionON ( fastNLO::ESMCalculation  eCalc,
unsigned int  Id,
bool  SetOn = true 
)

Set contribution Id On/Off. Check for Id of a particular contribution with ContrId(...) or use ActivateContribution(...).

Enable or disable a contribution to be considered in the cross section calculation

  • Use SetOn=true, to switch contribution ON,
  • Use SetOn=false, to switch a contribution off

Each contribution is identified by an ESMCalculation and by a universal Id. For all available contributions in your table, call PrintContributionSummary().

The LO contribution can be e.g. addressed by (eCalc=fastNLO::kFixedOrder, Id=0); The NLO contribution can be e.g. addressed by (eCalc=fastNLO::kFixedOrder, Id=1);

If an additional additive contribution is switched on, then the PDFCache and AlphasCache are refilled.

◆ SetExternalConstantForMuF()

void fastNLOReader::SetExternalConstantForMuF ( double  MuF)

Set value for mu_f if mu_f is chosen to be a constant value (i.e. m_t, or m_Z)

Set value for mu_r if mu_r is chosen to be constant EScaleFunctionalForm == kConst

◆ SetExternalConstantForMuR()

void fastNLOReader::SetExternalConstantForMuR ( double  MuR)

Set value for mu_r if mu_r is chosen to be a constant value (i.e. m_t, or m_Z)

Set value for mu_r if mu_r is chosen to be constant EScaleFunctionalForm == kConst

◆ SetFunctionalForm()

void fastNLOReader::SetFunctionalForm ( fastNLO::EScaleFunctionalForm  func,
fastNLO::EMuX  kMuX 
)

Set functional form of MuX.

For MuVar tables this method sets the functional form of the renormalization or the factorization scale. func: Choose a pre-defined function kMuX: is it for mu_r or for mu_f ?

◆ SetScaleFactorsMuRMuF()

bool fastNLOReader::SetScaleFactorsMuRMuF ( double  xmur,
double  xmuf 
)

Set scale factors for MuR and MuF.

Set renormalization and factorization scale factors simultaneously for scale variations in all v2 tables. You have to ReFill your cache! This is done automatically, but if you want to do it by yourself set ReFillCache = false.

The function aborts the whole program if non-sensical scale factors < 1.E-6 are requested. The function returns true if the requested scale factors can be used with the available table:

If it is NOT a flexibleScaleTable and there is no NLO scalevar table for xmuf, xmur and xmuf are unchanged, a warning is printed and the function returns false! If threshold corrections are selected, then

  • only symmetric scale variations, i.e. xmur / xmuf = 1., are allowed,
  • the scale variations for xmuf must be stored in IDENTICAL order for the NLO and the threshold corrections (there is only one fScalevar!) If either is not the case, xmur and xmuf are unchanged, a warning is printed and the function returns false!

◆ SetScaleVariation()

bool fastNLOReader::SetScaleVariation ( int  scalevar)
protected

Choose the MuF scale variation table.


NEVER call this setter directly, only via the method SetScaleFactorsMuRMuF!

Set the scale variation table to correspond to the selected MuF factor if possible. Usually, v2.0 tables are stored for multiple MuF settings like factors of 0.5, 1.0 and 2.0 times the nominal scale, e.g. scalevar -> scalefactor '0' -> 1.0 '1' -> 0.5 '2' -> 2.0 If tables for multiple MuF factors are present, then they MUST correspond to exactly the same factors in the SAME order for all such contrbutions, e.g. NLO plus 2-loop threshold corrections!

This method returns true if the chosen 'scalevar' table exists for all selected

contributions with extra scale tables.

◆ TestAlphas()

bool fastNLOReader::TestAlphas ( )

Test if EvolvaAlphas returns a reasonable value.

Test if the alpha_s evolution provided by the user yields realistic results.


The documentation for this class was generated from the following files: