fast pQCD calculations for hadron-induced processes
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
fastNLOCRunDec Class Reference
Inheritance diagram for fastNLOCRunDec:
fastNLOLHAPDF fastNLOReader fastNLOTable fastNLOPDFLinearCombinations

Public Member Functions

 fastNLOCRunDec (std::string name)
 
 fastNLOCRunDec (std::string name, std::string LHAPDFFile, int PDFSet)
 
void SetMz (double Mz)
 
void SetNFlavor (int nflavor)
 
void SetNLoop (int nloop)
 
void SetQMass (int pdgid, double qmass)
 
void SetAlphasMz (double AlphasMz, bool ReCalcCrossSection)
 
void SetLHAPDFValues ()
 
void SetPDGValues ()
 
double GetMz () const
 
double GetQMass (int pdgid) const
 
int GetNFlavor () const
 
int GetNLoop () const
 
double GetAlphasMz () const
 
- Public Member Functions inherited from fastNLOLHAPDF
 fastNLOLHAPDF (std::string name)
 
 fastNLOLHAPDF (const fastNLOTable &)
 
 fastNLOLHAPDF (std::string name, std::string LHAPDFfile, int PDFSet=0)
 
 fastNLOLHAPDF (const fastNLOTable &, std::string LHAPDFfile, int PDFSet=0)
 
virtual void InitEvolveAlphas ()
 
void SetLHAPDFFilename (std::string filename)
 
void SetLHAPDFMember (int set)
 
std::string GetLHAPDFFilename () const
 
int GetIPDFMember () const
 
int GetNPDFMembers () const
 
int GetNPDFMaxMember () const
 
void PrintPDFInformation () const
 
int GetNLoop () const
 
int GetNFlavor () const
 
double GetAlphasMz () const
 
XsUncertainty GetAsUncertainty (const fastNLO::EAsUncertaintyStyle eAsUnc)
 Return struct with vectors containing the cross section values and the selected a_s(M_Z) uncertainty.
 
XsUncertainty GetAsUncertainty (const fastNLO::EAsUncertaintyStyle eAsUnc, bool lNorm)
 
std::vector< std::vector< double > > GetAsUncertaintyVec (const fastNLO::EAsUncertaintyStyle eAsUnc)
 Function for use with pyext (TODO: Clean this up)
 
XsUncertainty GetPDFUncertainty (const fastNLO::EPDFUncertaintyStyle ePDFUnc)
 Return struct with vectors containing the cross section values and the selected scale uncertainty.
 
XsUncertainty GetPDFUncertainty (const fastNLO::EPDFUncertaintyStyle ePDFUnc, bool lNorm)
 
std::vector< std::vector< double > > GetPDFUncertaintyVec (fastNLO::EPDFUncertaintyStyle)
 
virtual bool InitPDF ()
 
virtual std::vector< double > GetXFX (double xp, double muf) const
 
- Public Member Functions inherited from fastNLOReader
 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...
 
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
 

Protected Member Functions

double EvolveAlphas (double Q) const
 
void InitCRunDec ()
 
- Protected Member Functions inherited from fastNLOReader
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

CRunDeccrundec
 
double fAlphasMz
 
double fMz
 
int fnFlavor
 
int fnLoop
 
double QMass [6]
 
- Protected Attributes inherited from fastNLOLHAPDF
std::string fLHAPDFFilename
 
int fnPDFs
 
int fiPDFMember
 
double fchksum
 
- Protected Attributes inherited from fastNLOReader
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

- Public Types inherited from fastNLOReader
typedef double(* mu_func) (double, double)
 
- Public Attributes inherited from fastNLOReader
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.
 
- Static Protected Attributes inherited from fastNLOTable
static bool fWelcomeOnce = false
 

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