![]() |
fast pQCD calculations for hadron-induced processes
|
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... | |
![]() | |
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) |
fastNLOCoeffBase * | GetCoeffTable (int no) const |
fastNLOCoeffData * | GetDataTable () const |
Returns pointer to data table if available, else returns NULL pointer. | |
fastNLOCoeffAddBase * | GetReferenceTable (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) |
![]() | |
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) |
fastNLOCoeffAddBase * | B_LO () const |
fastNLOCoeffAddBase * | B_NLO () const |
fastNLOCoeffAddBase * | B_NNLO () const |
fastNLOCoeffBase * | B_ThC (int n=0) |
fastNLOCoeffAddBase * | B_Any () const |
bool | SetScaleVariation (int scalevar) |
Choose the MuF scale variation table. More... | |
![]() | |
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) |
fastNLOCoeffBase * | ReadRestOfCoeffTable (const fastNLOCoeffBase &cB, std::istream &table) |
![]() | |
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 |
![]() | |
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 bool | fWelcomeOnce = false |
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.
fastNLOReader::fastNLOReader | ( | const fastNLOReader & | other | ) |
Copy constructor
|
protected |
Internal method for calculating the alpha_s(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.
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.)
|
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
|
protected |
Cross section calculation for DIS and HHC tables in v2.1 format
|
protected |
Calculate the scales with the defined function and the corresponding prefactor.
|
protected |
calculate a PDF checksum to decide, whether PDF cache has to be refilled
|
protected |
Initialize the internal arrays for the reference cross sections with the information from the FastNLO file
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.
|
protected |
Internal method for filling alpha_s cache
|
protected |
Internal method for filling alpha_s cache
|
protected |
Fill member variables in fastNLOCoeffAddFix with PDFCache
|
protected |
Fill member variables in fastNLOCoeffAddFlex with PDFCache
|
protected |
Fill member variables in fastNLOCoeffAddFix with PDFCache
|
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)
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.
vector< vector< double > > fastNLOReader::GetCrossSection2Dim | ( | ) |
Get cross section as 2-dimensional vector according to defined binning
double fastNLOReader::GetNevt | ( | const fastNLO::ESMOrder | eOrder | ) | const |
Get label of scale iScale for order eOrder of the fixed order calculation.
string fastNLOReader::GetScaleDescription | ( | const fastNLO::ESMOrder | eOrder, |
int | iScale = 0 |
||
) | const |
Get label of scale iScale for order eOrder of the fixed order calculation.
XsUncertainty fastNLOReader::GetScaleUncertainty | ( | const fastNLO::EScaleUncertaintyStyle | eScaleUnc, |
bool | lNorm | ||
) |
Cross section and absolute uncertainties
Divide by cross section != 0 to give relative uncertainties
void fastNLOReader::InitScalevariation | ( | ) |
Initialize to scale factors of (MuR,MuF) = (1,1)
|
virtual |
Print basic info about fastNLO table and its contributions.
this function is inherited from fastNLOTable.
Reimplemented from fastNLOTable.
void fastNLOReader::PrintContributionSummary | ( | int | iprint | ) | const |
this function is inherited from fastNLOTable.
void fastNLOReader::PrintCrossSections | ( | ) | const |
Print cross sections (optimized for double-differential tables)
Print Cross sections in NLO, k-factors and Reference table cross sections
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!
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].
void fastNLOReader::SetCoefficientUsageDefault | ( | ) |
Switch on LO and NLO contributions, deactivate other contributions.
Switch on LO, NLO, and NNLO contribution. Deactivate all other contributions
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
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.
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
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
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 ?
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
|
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
bool fastNLOReader::TestAlphas | ( | ) |
Test if EvolvaAlphas returns a reasonable value.
Test if the alpha_s evolution provided by the user yields realistic results.