![]() |
fast pQCD calculations for hadron-induced processes
|
Classes | |
struct | fnloStats |
Public Member Functions | |
fastNLOCreate (const std::string &steerfile, std::string warmupfile="", bool shouldReadSteeringFile=true) | |
fastNLOCreate (const std::string &steerfile, const fastNLO::GeneratorConstants &GenConsts, const fastNLO::ProcessConstants &ProcConsts) | |
fastNLOCreate (const std::string &warmupfile, const fastNLO::GeneratorConstants &GenConsts, const fastNLO::ProcessConstants &ProcConsts, const fastNLO::ScenarioConstants &ScenConsts) | |
fastNLOCreate (const fastNLO::GeneratorConstants &GenConsts, const fastNLO::ProcessConstants &ProcConsts, const fastNLO::ScenarioConstants &ScenConsts, const fastNLO::WarmupConstants &WarmConsts) | |
void | SetOrderOfAlphasOfCalculation (unsigned int ord) |
set absolute order of alpha_s More... | |
void | SetScenario (const fnloScenario scen) |
set the member fScenario, which will be used when calling Fill() | |
void | SetEvent (const fnloEvent ev) |
set the member fEvent, which will be used when calling Fill() | |
void | SetNumberOfEvents (double n) |
void | SetLoOrder (int LOOrd) |
set number of events. This is only mandatory, before calling WriteTable(). More... | |
fastNLOReader * | SetIsReferenceTable (fastNLOReader *fnloread=NULL) |
set this table/contribution to become a reference contribution More... | |
void | SetGenConstsDefaults () |
set defaults for generator constants More... | |
void | SetProcConstsDefaults () |
set defaults for process constants More... | |
bool | CheckProcConsts () |
check process constants to be different from defaults More... | |
void | Fill (int scalevar=0) |
fill event quantities in fastNLO table. Call it for every subprocess. More... | |
void | FillOneSubprocess (const fnloEvent &event, const fnloScenario &scen, int scalevar=0) |
same function as 'Fill()', but uses content of member fScenario and fEvent | |
void | FillAllSubprocesses (const std::vector< fnloEvent > &events, const fnloScenario &scen, int scalevar=0) |
Fill a selection (std::vector) of events/processes/channels, which all have the identic scenario. | |
void | FillAllSubprocesses (const std::vector< std::vector< fnloEvent > > &events, const fnloScenario &scen) |
Fill a list of subprocesses for various scale-variations into a fixed-scale table. | |
int | GetNSubprocesses () const |
The number of subprocesses (channels) | |
const std::vector< double > & | GetScaleVariations () const |
Get list of scale variations. | |
void | WriteTable (std::string filename) |
Write fastNLO table to file filename. | |
void | WriteTable () |
Write fastNLO table to disk. More... | |
void | WriteTable (double nEvents) |
void | WriteWarmupTable () |
Write fastNLO table to disk and set number of events. More... | |
void | MultiplyCoefficientsByBinSize () |
Multiply all coefficients by bin size. More... | |
void | DivideCoefficientsByBinSize () |
Divide all coefficients by bin size. More... | |
void | MultiplyCoefficientsByConstant (double c) |
Multiply all coefficients with a constant factor c. More... | |
void | NormalizeCoefficients (double wgt=1) |
Set number of events to wgt and adjust coefficients accordingly. More... | |
void | NormalizeCoefficients (const std::vector< std::vector< double > > &wgtProcBin) |
Set number of events to wgt (with wgt differently for each subproc. and bin) resulting Nevt will become 1. More... | |
void | PrintWarmupValues () |
Print the warmup values to the screen. | |
std::string | GetWarmupTableFilename () |
Get the filename, which is used for storage of the warmup-table. | |
void | SetWarmupTableFilename (std::string) |
Set the filename, which is used for storage of the warmup-table (otherwise a default is used) | |
bool | GetIsWarmup () const |
bool | GetIsFlexibleScale () const |
Get flag for warmup table. More... | |
void | SetWarmupXSafetyMargin (int margin=4) |
Set margin for x-value: First digit in 'e' notation (e.g. margin=4: x=6.6e-3 -> 6.2e-3) | |
void | SetWarmupNDigitMu1 (int rnd=1) |
Round warmup values for scale 1. | |
void | SetWarmupNDigitMu2 (int rnd=2) |
Round warmup values for scale 2. | |
fastNLOCoeffAddBase * | GetTheCoeffTable () const |
Getter for the one (and only) coefficient table. | |
bool | TestParameterInSteering (const std::string &label) const |
Test on existence of user-defined parameter name in steering card. More... | |
bool | GetParameterFromSteering (const std::string &label, bool &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, int &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, double &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::string &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::vector< int > &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::vector< double > &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::vector< std::string > &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::vector< std::vector< int > > &val) const |
Get user-defined parameter from steering file. | |
bool | GetParameterFromSteering (const std::string &label, std::vector< std::vector< double > > &val) const |
Get user-defined parameter from steering file. | |
void | AdjustWarmupValues () |
Round warmup values to more likely values. More... | |
void | PrintAllSteeringValues () const |
void | Clear () |
Print all steering values obtained from steering files (of all fastNLOCreate instances);. | |
void | PrintStats () const |
Clear coefficient table. More... | |
void | SetGlobalVerbosity (std::string sverb) |
Set GlobalVerbosity using std::string variable. | |
void | SetCacheSize (int MaxCache) |
Set maximum number of events in cache. Set to 0 to deactivate caching. | |
int | GetCacheSize () const |
Get max cache size. | |
![]() | |
fastNLOTable (std::string filename) | |
fastNLOTable (const fastNLOTable &) | |
virtual void | ReadTable () |
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 |
virtual void | Print (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) |
Public Attributes | |
fnloEvent | fEvent |
Structure, which holds all relevant variables related to event observables. | |
fnloScenario | fScenario |
Structure, which holds perturbative (wilson) coefficients/weights and x-values. | |
Protected Member Functions | |
fastNLOCreate () | |
don't use the default constructor. fastNLOCreate is only reasonable with input steering. | |
void | Instantiate () |
int | CreateCoeffTable () |
Create the one (and only) coefficient table. | |
void | ApplyPDFWeight (std::vector< std::pair< int, double > > &nodes, const double x, const std::vector< double > *grid) const |
double | CalcPDFReweight (double x) const |
void | FillContribution (int scalevar=0) |
fill contribution into table More... | |
void | FillContributionFlexHHC (fastNLOCoeffAddFlex *c, int ObsBin) |
fill flexible scale contribution in pp/ppbar More... | |
void | FillContributionFlexDIS (fastNLOCoeffAddFlex *c, int ObsBin) |
fill flexible scale contribution in DIS More... | |
void | FillContributionFixHHC (fastNLOCoeffAddFix *c, int ObsBin, int scalevar) |
fill fixed scale table in pp/ppbar More... | |
void | FillContributionFixDIS (fastNLOCoeffAddFix *c, int ObsBin, int scalevar) |
fill fixed scale contribution in DIS More... | |
void | FillRefContribution (int scalevar=0) |
fill contribution if this is a reference table More... | |
void | ReadSteering (std::string steerfile, std::string steeringNameSpace="", bool shouldReadSteeringFile=true) |
read steering file More... | |
void | ReadGenAndProcConstsFromSteering () |
void | ReadScenarioConstsFromSteering () |
Read steering values into fScenConsts. | |
void | ReadBinning () |
void | ReadBinningFromScenarioConsts () |
void | ReadBinSize () |
void | SetBinning1D (std::vector< double > bgrid, std::string label, unsigned int idiff) |
void | SetBinning1D (std::vector< double > bgrid, std::string label, unsigned int idiff, double norm) |
void | SetBinning1D (std::vector< double > bgrid, std::string label, unsigned int idiff, std::vector< double > vnorm) |
void | SetBinning1D (std::vector< double > blow, std::vector< double > bupp, std::string label, unsigned int idiff) |
void | SetBinning1D (std::vector< double > blow, std::vector< double > bupp, std::string label, unsigned int idiff, double norm) |
void | SetBinning1D (std::vector< double > blow, std::vector< double > bupp, std::string label, unsigned int idiff, std::vector< double > vnorm) |
void | SetBinningND (std::vector< double > bgrid, unsigned int ndim, std::vector< int > idiff) |
void | SetBinningND (std::vector< std::vector< double > > bgrid, unsigned int ndim, std::vector< int > idiff) |
void | ReadCoefficientSpecificVariables () |
void | ReadScaleFactors () |
void | InitVariablesInCoefficientTable () |
void | InitCoeffTable () |
void | InitInterpolationKernels () |
fastNLOInterpolBase * | MakeInterpolationKernels (std::string KernelName, double xdn, double xup) |
void | InitGrids () |
void | GetWarmupValues () |
bool | CheckWarmupConsistency () |
Check consistency of warmup bin-grid and variables with steering values. More... | |
void | UseBinGridFromWarmup () |
Use bin grid as given in the warmup table. More... | |
int | CheckWarmupValuesIdenticalWithBinGrid (std::vector< std::pair< double, double > > &wrmmu) |
Check if warmup values are possibly identical with bin grid. More... | |
void | RoundValues (std::vector< std::pair< double, double > > &wrmmu, int nth) |
Round values to closes value by at most 1%. More... | |
int | GetNthRelevantDigit (double val, int n) |
std::vector< std::vector< std::pair< int, int > > > | ReadPartonCombinations (int ord, const std::vector< std::vector< int > > &PartonCombinations) |
Read PDFCoeff from steering. More... | |
int | GetBin () |
get bin number from 'scenario' observables More... | |
int | GetXIndex (const int &Obsbin, const int &x1bin, const int &x2bin) const |
get x-index in case of two hadrons. More... | |
int | GetNxmax (const std::vector< double > *xGrid1, const std::vector< double > *xGrid2) |
get maximum x-index | |
bool | CheckWeightIsFinite () |
Check if weight is reasonable. More... | |
void | HalfMatrixCheck (double x1, double x2, int &xmin, int &xmax, int &subproc) const |
check x-values in case of half-matrix notation (pp,ppbar), and exchange if necessary. More... | |
void | UpdateWarmupArrays () |
void | InitWarmupArrays () |
void | OutWarmup (std::ostream &=std::cout) |
std::vector< double > | GetColumnFromTable (const std::vector< std::vector< double > > &table, int iCol) |
Get a column from a table. More... | |
std::string | GetWarmupHeader (int iScale, std::string minmax) |
void | FillWeightCache (int scalevar) |
Fill weight into cache, merge weights for identical phase space points. More... | |
void | FlushCache () |
Fill weights from cache into table. | |
![]() | |
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) |
Protected Attributes | |
std::string | fWarmupFilename |
File name of the warmup table. | |
bool | fIsWarmup |
is it a warmup run? | |
int | fWarmupXMargin |
margin for x-value: First digit in 'e' notation (e.g. margin=4: x=6.6e-3 -> 6.2e-3) | |
int | fWarmupNDigitMu1 |
Digits of warmup values for scale 1. | |
int | fWarmupNDigitMu2 |
Digits of warmup values for scale 2. | |
int | fIOrd |
order of alpha_s of run | |
bool | fIsFlexibleScale |
is it a flexible scale table? | |
bool | fApplyPDFReweight |
shall the PDF reweight be applied. | |
std::string | fSteerfile |
filename of steering file. | |
int | fObsBin |
ObsBin from 'last' 'Fill()'-call. | |
fnloScenario | fLastScen |
keep information of scenario from last 'Fill()'-call | |
fastNLOReader * | fReader |
PDF and alpha_s interface for reference tables. | |
fastNLO::GeneratorConstants | fGenConsts |
Generator specific constants. | |
fastNLO::ProcessConstants | fProcConsts |
Process specific constants. | |
fastNLO::ScenarioConstants | fScenConsts |
Scenario specific constants. | |
fastNLO::WarmupConstants | fWarmupConsts |
Warmup specific constants. | |
std::vector< int > | fSymProc |
necessary for half-matrix notation | |
std::vector< double > | fScaleFac |
Scale factors. Needed for fixed-scale tables. | |
std::vector< fastNLOInterpolBase * > | fKernX1 |
Interpolation kernel for x-interpolation. | |
std::vector< fastNLOInterpolBase * > | fKernX2 |
Interpolation kernel for x-interpolation. | |
std::vector< fastNLOInterpolBase * > | fKernMu1 |
Interpolation kernel for mu1-interpolation. | |
std::vector< fastNLOInterpolBase * > | fKernMu2 |
Interpolation kernel for mu2-interpolation. | |
std::vector< std::vector< fastNLOInterpolBase * > > | fKernMuS |
Interpolation kernels for each scale var for fixed-scale tables. | |
std::vector< std::pair< double, double > > | fWMu1 |
array of warmup-up values | |
std::vector< std::pair< double, double > > | fWMu2 |
array of warmup-values | |
std::vector< std::pair< double, double > > | fWx |
array of warmup-values | |
std::vector< std::pair< double, double > > | fWMu1Rnd |
copy of warm-up array for rounding | |
std::vector< std::pair< double, double > > | fWMu2Rnd |
copy of warm-up array for rounding | |
std::vector< std::pair< double, double > > | fWxRnd |
copy of warm-up array for rounding | |
int | fCacheMax |
std::vector< std::pair< fnloScenario, fnloEvent > > | fWeightCache |
cache for fill-weights | |
struct fastNLOCreate::fnloStats | fStats |
![]() | |
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 |
fastNLOCreate::fastNLOCreate | ( | const std::string & | steerfile, |
std::string | warmupfile = "" , |
||
bool | shouldReadSteeringFile = true |
||
) |
fastNLOCreate. A class for creating a fastNLO Table which contains exactly one table of coefficients.
Member variables are initialized by reading in a steering file.
Following information has to be obtained from the generator and is NOT obtained from steering:
fastNLOCreate::fastNLOCreate | ( | const fastNLO::GeneratorConstants & | GenConsts, |
const fastNLO::ProcessConstants & | ProcConsts, | ||
const fastNLO::ScenarioConstants & | ScenConsts, | ||
const fastNLO::WarmupConstants & | WarmConsts | ||
) |
Constructor of fastNLOCreate
Pass all needed steering paramters through GeneratorConstants, ProcessConstants, ScenarioConstants and WarmupConstants (see GeneratorConstants.h file for details)
No steering or warmup file is read in
Set constants from arguments
No WarmupFile required, a pseudo-WarmupFilename is defined here
void fastNLOCreate::AdjustWarmupValues | ( | ) |
Round warmup values to more likely values.
Adjust warmup-values found to supposedly more reasonable values.
Do this ONLY ONCE on COPY of actual values just before writing out to the warm-up table.
bool fastNLOCreate::CheckProcConsts | ( | ) |
check process constants to be different from defaults
Check that reasonable values different from the defaults have been set
|
protected |
Check consistency of warmup bin-grid and variables with steering values.
check if warmup values are consistent with steering card check if number of bins is consistent
|
protected |
Check if warmup values are possibly identical with bin grid.
Check, where scale variable is identical with measured variable and hence warmu-values should be identical with bin grid.
returns idim, if identity was found returns -1 else.
If more than 70% of all bins are closer than 4% to the bin boundary, then identity is assumed
|
protected |
Check if weight is reasonable.
check if weights are finite
void fastNLOCreate::DivideCoefficientsByBinSize | ( | ) |
Divide all coefficients by bin size.
Divide all coefficients by binsize
void fastNLOCreate::Fill | ( | int | scalevar = 0 | ) |
fill event quantities in fastNLO table. Call it for every subprocess.
Fill values, which are stored in 'Event' and 'Scenario' into fastNLO table.
|
protected |
fill contribution into table
read information from 'Event' and 'Scenario' do the interpolation and fill into the tables.
|
protected |
fill fixed scale contribution in DIS
read information from 'Event' and 'Scenario' do the interpolation and fill into the tables.
|
protected |
fill fixed scale table in pp/ppbar
read informatio from 'Event' and 'Scenario' do the interpolation and fill into the tables.
|
protected |
fill flexible scale contribution in DIS
read information from 'Event' and 'Scenario' do the interpolation and fill into the tables.
|
protected |
fill flexible scale contribution in pp/ppbar
read informatio from 'Event' and 'Scenario' do the interpolation and fill into the tables.
|
protected |
fill contribution if this is a reference table
This is a reference table. Fill contribution as it would be a cross section
|
protected |
Fill weight into cache, merge weights for identical phase space points.
fill event into cache
|
protected |
get bin number from 'scenario' observables
get bin number, using observables from Scenario
|
protected |
Get a column from a table.
Get a column from a table
|
inline |
Get flag for warmup table.
Get if flexible-scale table is requested
|
protected |
GetWarmupValues. Checks if warmup-table exists and initialized member variable fIsWarmup
Check if warmup values already set by user
Try to get warmup values from steering
|
inlineprotected |
get x-index in case of two hadrons.
get index if 1 or two hadrons are involved
|
inlineprotected |
check x-values in case of half-matrix notation (pp,ppbar), and exchange if necessary.
check if half-matrix notation if half-matrix notation, and xmin-node is larger than xmax-node exchange suprocesses according to fSymProc and adjust x-nodes.
|
protected |
create a coeff table
set 'usual' variables for perturbative calculations
read in process specific variables
|
protected |
initialize members for interpolation
|
protected |
initialize arrays to store and determine warm-up values including copy for later rounding and write out initialize with reasonable values
|
protected |
Instantiate all internal members and prepare for filling
|
protected |
This function identifies the string-identifier and creates the corresponding fastNLO Interpolation kernel
void fastNLOCreate::MultiplyCoefficientsByBinSize | ( | ) |
Multiply all coefficients by bin size.
Multiply all coefficients by binsize
void fastNLOCreate::MultiplyCoefficientsByConstant | ( | double | c | ) |
Multiply all coefficients with a constant factor c.
Divide all coefficients by binsize
void fastNLOCreate::NormalizeCoefficients | ( | double | wgt = 1 | ) |
Set number of events to wgt and adjust coefficients accordingly.
Set number of events to wgt (default=1) and weight coefficients in sigmatilde accordingly This means, that the information about the number of events is essentially lost (now remained stored in fWgt)
void fastNLOCreate::NormalizeCoefficients | ( | const std::vector< std::vector< double > > & | wgtProcBin | ) |
Set number of events to wgt (with wgt differently for each subproc. and bin) resulting Nevt will become 1.
Set number of events to wgtProcBin[iProc][iBin] sigmatilde is weighted accordingly.
|
inline |
Clear coefficient table.
Print statistics
|
protected |
read in binning from ScenConsts
|
protected |
initialize BinSize either from steering or from fScenConsts
|
protected |
ReadGenAndProcConstsFromSteering() If generator and process constants have not been set in the constructor, then obtain these values from the steering file.
|
protected |
Read PDFCoeff from steering.
Read PDF linear combinations from steering file and convert to internal format
|
protected |
read scale factors from steering and init member fScaleFac
|
protected |
read steering file
read in steering file The filename of the steering file is used as the 'namespace' of keys in read_steer if there is no steeringNameSpace given explicitly
Remove extension from steerfile to define default steering namespace
Set verbosity from steering or to default WARNING
Set WarmupFilename from steering
|
protected |
Round values to closes value by at most 1%.
Round warmup values up (down) if third relevant digit is a 9 (0) lower values are only rounded down, upper values are only rounded up
void fastNLOCreate::SetGenConstsDefaults | ( | ) |
set defaults for generator constants
Set default values for generator constants
< X section units of coefficients passed to fastNLO (neg. power of 10: pb->12, fb->15)
fastNLOReader * fastNLOCreate::SetIsReferenceTable | ( | fastNLOReader * | fnloread = NULL | ) |
set this table/contribution to become a reference contribution
set this table/contribution to become a reference contribution If fnloread is set to NULL, the weights are assumed to be already multiplied by PDF and alpha_s values. If fnloread is provided, then it is assumed that the weights have the same units and format as for the filling of default tables and those need to be multiplied by PDF and alpha_s values.
Function returns the input pointer without changes.
void fastNLOCreate::SetLoOrder | ( | int | LOOrd | ) |
set number of events. This is only mandatory, before calling WriteTable().
set order of alpha_s for leading order process.
void fastNLOCreate::SetOrderOfAlphasOfCalculation | ( | unsigned int | ord | ) |
set absolute order of alpha_s
set order of alpha_s of this calculation it must be: iLeadingOrder + iHigherOrder ; for instance: 3-jet-production in NLO = 4!
void fastNLOCreate::SetProcConstsDefaults | ( | ) |
set defaults for process constants
Set default values for process constants
< Order in alpha_s of leading order process
< No. of PDFs involved
< No. of LO subprocesses
< No. of NLO subprocesses
< No. of NNLO subprocesses
< Flag 1 to define PDF linear combinations of partonic subprocesses (e.g. hh –> jets: 3)
< Flag 2 to define PDF linear combinations (dep. on IPDFdef1; for 3 e.g. 1 for jet specific LCs, 121 for generic 11x11 matrix)
< Flag 3 to define PDF LCs at LO (dep. on IPDFdef1, IPDFdef2; for 3, 1 e.g. 6 subprocesses, ignored for IPDFdef2==121)
< Flag 3 to define PDF LCs at NLO (dep. on IPDFdef1, IPDFdef2; for 3, 1 e.g. 7 subprocesses, ignored for IPDFdef2==121)
< Flag 3 to define PDF LCs at NNLO (dep. on IPDFdef1, IPDFdef2; for 3, 1 e.g. 7 subprocesses, ignored for IPDFdef2==121)
< Define internal storage mode for PDF LCs (dep. on NPDF; e.g. for 1: 0 for linear, for 2: 1 for half- or 2 for full-matrix)
bool fastNLOCreate::TestParameterInSteering | ( | const std::string & | label | ) | const |
Test on existence of user-defined parameter name in steering card.
Get flag if parameter exists in steering card
|
protected |
Update the warmup-arrays fWMu1, fWx und fWMu2
|
protected |
Use bin grid as given in the warmup table.
initialialize all binning related variables with values stored in the warmup file.
|
virtual |
void fastNLOCreate::WriteWarmupTable | ( | ) |
Write fastNLO table to disk and set number of events.
Write the warmup table to disk.