#include <BCIntegrate.h>
Definition at line 48 of file BCIntegrate.h.
Member functions (miscellaneous methods) | |
double | CubaIntegrate () |
double | CubaIntegrate (int method, std::vector< double > parameters_double, std::vector< double > parameters_int) |
void | DeleteVarList () |
virtual double | Eval (std::vector< double > x) |
double | EvalPrint (std::vector< double > x) |
virtual double | EvalSampling (std::vector< double > x) |
void | FindModeMCMC () |
void | FindModeMinuit () |
void | FindModeSA () |
virtual double | FitFunction (std::vector< double > x, std::vector< double > parameters) |
TH1D * | GetH1D (int parIndex) |
TH2D * | GetH2D (int parIndex1, int parIndex2) |
int | GetH2DIndex (int parIndex1, int parIndex2) |
void | InitMetro () |
double | IntegralImportance (std::vector< double > x) |
double | IntegralMC (std::vector< double > x) |
double | IntegralMC (std::vector< double > x, int *varlist) |
double | IntegralMetro (std::vector< double > x) |
double | Integrate () |
virtual double | LogEval (std::vector< double > x) |
double | LogEvalSampling (std::vector< double > x) |
TH2D * | Marginalize (BCParameter *parameter1, BCParameter *parameter2) |
TH1D * | Marginalize (BCParameter *parameter) |
int | MarginalizeAllByMetro (const char *name) |
TH2D * | MarginalizeByIntegrate (BCParameter *parameter1, BCParameter *parameter2) |
TH1D * | MarginalizeByIntegrate (BCParameter *parameter) |
TH2D * | MarginalizeByMetro (BCParameter *parameter1, BCParameter *parameter2) |
TH1D * | MarginalizeByMetro (BCParameter *parameter) |
void | ResetVarlist (int v) |
void | UnsetVar (int index) |
static void | CubaIntegrand (const int *ndim, const double xx[], const int *ncomp, double ff[]) |
static void | FCNLikelihood (int &npar, double *grad, double &fval, double *par, int flag) |
Public Types | |
Enumerators | |
enum | BCIntegrationMethod { kIntMonteCarlo, kIntImportance, kIntMetropolis, kIntCuba } |
enum | BCMarginalizationMethod { kMargMonteCarlo, kMargMetropolis } |
enum | BCOptimizationMethod { kOptSimulatedAnnealing, kOptMetropolis, kOptMinuit } |
Public Member Functions | |
Constructors and destructors | |
BCIntegrate (BCParameterSet *par) | |
BCIntegrate () | |
virtual | ~BCIntegrate () |
Member functions (get) | |
double | GetError () |
BCIntegrate::BCIntegrationMethod | GetIntegrationMethod () |
BCIntegrate::BCMarginalizationMethod | GetMarginalizationMethod () |
std::vector< double > * | GetMarkovChainPoint () |
TTree * | GetMarkovChainTree () |
double * | GetMarkovChainValue () |
int * | GetMCMCIteration () |
TMinuit * | GetMinuit () |
int | GetMinuitErrorFlag () |
int | GetNbins () |
int | GetNIterations () |
int | GetNIterationsMax () |
int | GetNiterationsPerDimension () |
int | GetNSamplesPer2DBin () |
int | GetNvar () |
BCIntegrate::BCOptimizationMethod | GetOptimizationMethod () |
double | GetRandomPoint (std::vector< double > &x) |
double | GetRandomPointImportance (std::vector< double > &x) |
void | GetRandomPointMetro (std::vector< double > &x) |
void | GetRandomPointSA (std::vector< double > &x, double T, double step) |
void | GetRandomPointSamplingMetro (std::vector< double > &x) |
void | GetRandomVector (std::vector< double > &x) |
virtual void | GetRandomVectorMetro (std::vector< double > &x) |
double | GetRelativePrecision () |
Member functions (set) | |
void | SetDataPointLowerBoundaries (BCDataPoint *datasetlowerboundaries) |
void | SetDataPointLowerBoundary (int index, double lowerboundary) |
void | SetDataPointUpperBoundaries (BCDataPoint *datasetupperboundaries) |
void | SetDataPointUpperBoundary (int index, double upperboundary) |
void | SetErrorBandHisto (TH2D *h) |
void | SetFitFunctionIndexX (int index) |
void | SetFitFunctionIndexY (int index) |
void | SetFitFunctionIndices (int indexx, int indexy) |
void | SetIntegrationMethod (BCIntegrate::BCIntegrationMethod method) |
void | SetMarginalizationMethod (BCIntegrate::BCMarginalizationMethod method) |
void | SetMarkovChainAutoN (bool flag) |
void | SetMarkovChainInitialPosition (std::vector< double > position) |
void | SetMarkovChainNIterations (int niterations) |
void | SetMarkovChainStepSize (double stepsize) |
void | SetMarkovChainTree (TTree *tree) |
void | SetMinuitArlist (double *arglist) |
void | SetMode (std::vector< double > mode) |
void | SetNbins (int n) |
void | SetNbinsX (int n) |
void | SetNbinsY (int n) |
void | SetNIterationsMax (int niterations) |
void | SetNiterationsPerDimension (int niterations) |
void | SetNSamplesPer2DBin (int n) |
void | SetOptimizationMethod (BCIntegrate::BCOptimizationMethod method) |
void | SetParameters (BCParameterSet *par) |
void | SetRelativePrecision (double relprecision) |
void | SetVar (int index) |
void | SetVarList (int *varlist) |
void | WriteMarkovChain (bool flag) |
Protected Attributes | |
std::vector< double > | fBestFitParameters |
std::vector< double > | fBestFitParametersMarginalized |
std::vector< bool > | fDataFixedValues |
BCDataPoint * | fDataPointLowerBoundaries |
BCDataPoint * | fDataPointUpperBoundaries |
bool | fErrorBandContinuous |
int | fErrorBandNbinsX |
int | fErrorBandNbinsY |
std::vector< double > | fErrorBandX |
TH2D * | fErrorBandXY |
int | fFitFunctionIndexX |
int | fFitFunctionIndexY |
bool | fFlagWriteMarkovChain |
std::vector< TH1D * > | fHProb1D |
std::vector< TH2D * > | fHProb2D |
bool | fMarkovChainAutoN |
int | fMarkovChainNIterations |
double | fMarkovChainStepSize |
TTree * | fMarkovChainTree |
int | fMCMCIteration |
TMinuit * | fMinuit |
double | fMinuitArglist [2] |
int | fMinuitErrorFlag |
int | fNbins |
int | fNSamplesPer2DBin |
int | fNvar |
TRandom3 * | fRandom |
Private Member Functions | |
void | MCMCUpdateFunctionFitting () |
Private Attributes | |
double | fError |
BCIntegrate::BCIntegrationMethod | fIntegrationMethod |
BCIntegrate::BCMarginalizationMethod | fMarginalizationMethod |
double | fMarkovChainValue |
double * | fMax |
double * | fMin |
int | fNacceptedMCMC |
int | fNIterations |
int | fNIterationsMax |
int | fNiterPerDimension |
int | fNmetro |
BCIntegrate::BCOptimizationMethod | fOptimizationMethod |
double | fRelativePrecision |
int * | fVarlist |
BCParameterSet * | fx |
std::vector< double > | fXmetro0 |
std::vector< double > | fXmetro1 |
An enumerator for the integration algorithm
Definition at line 59 of file BCIntegrate.h.
An enumerator for the marginalization algorithm
Definition at line 64 of file BCIntegrate.h.
An enumerator for the mode finding algorithm
Definition at line 69 of file BCIntegrate.h.
BCIntegrate::BCIntegrate | ( | ) |
The default constructor
Definition at line 22 of file BCIntegrate.cxx.
BCIntegrate::BCIntegrate | ( | BCParameterSet * | par | ) |
A constructor
Definition at line 63 of file BCIntegrate.cxx.
BCIntegrate::~BCIntegrate | ( | ) | [virtual] |
The default destructor
Definition at line 99 of file BCIntegrate.cxx.
void BCIntegrate::CubaIntegrand | ( | const int * | ndim, | |
const double | xx[], | |||
const int * | ncomp, | |||
double | ff[] | |||
) | [static] |
Integrand for the Cuba library.
ndim | The number of dimensions to integrate over | |
xx | The point in parameter space to integrate over (scaled to 0 - 1 per dimension) | |
ncomp | The number of components of the integrand (usually 1) | |
ff | The function value |
Definition at line 1615 of file BCIntegrate.cxx.
double BCIntegrate::CubaIntegrate | ( | ) |
Definition at line 1648 of file BCIntegrate.cxx.
double BCIntegrate::CubaIntegrate | ( | int | method, | |
std::vector< double > | parameters_double, | |||
std::vector< double > | parameters_int | |||
) |
Calculate integral using the Cuba library. For details see documentation.
method | A short cut for the method | |
parameters_double | A vector of parameters (double) | |
parameters_int | A vector of parameters (int) |
Definition at line 1674 of file BCIntegrate.cxx.
void BCIntegrate::DeleteVarList | ( | ) |
Frees the memory for integration variables
Definition at line 179 of file BCIntegrate.cxx.
double BCIntegrate::Eval | ( | std::vector< double > | x | ) | [virtual] |
Evaluate the un-normalized probability at a point in parameter space. Method needs to be overloaded by the user.
x | The point in parameter space |
Reimplemented in BCModel.
Definition at line 251 of file BCIntegrate.cxx.
double BCIntegrate::EvalPrint | ( | std::vector< double > | x | ) |
Evaluate the un-normalized probability at a point in parameter space and prints the result to the log.
x | The point in parameter space |
Definition at line 278 of file BCIntegrate.cxx.
double BCIntegrate::EvalSampling | ( | std::vector< double > | x | ) | [virtual] |
Evaluate the sampling function at a point in parameter space. Method needs to be overloaded by the user.
x | The point in parameter space |
Reimplemented in BCModel.
Definition at line 265 of file BCIntegrate.cxx.
void BCIntegrate::FCNLikelihood | ( | int & | npar, | |
double * | grad, | |||
double & | fval, | |||
double * | par, | |||
int | flag | |||
) | [static] |
Definition at line 1371 of file BCIntegrate.cxx.
void BCIntegrate::FindModeMCMC | ( | ) |
Does the mode finding using Markov Chain Monte Carlo
Definition at line 1532 of file BCIntegrate.cxx.
void BCIntegrate::FindModeMinuit | ( | ) |
Does the mode finding using Minuit
Definition at line 1296 of file BCIntegrate.cxx.
void BCIntegrate::FindModeSA | ( | ) |
Does the mode finding Does the mode finding using Simulated Annealing (SA) algorithm
Definition at line 1390 of file BCIntegrate.cxx.
virtual double BCIntegrate::FitFunction | ( | std::vector< double > | x, | |
std::vector< double > | parameters | |||
) | [inline, virtual] |
Defines a fit function.
parameters | A set of parameter values | |
x | A vector of x-values |
Definition at line 481 of file BCIntegrate.h.
double BCIntegrate::GetError | ( | ) | [inline] |
Definition at line 191 of file BCIntegrate.h.
TH1D * BCIntegrate::GetH1D | ( | int | parIndex | ) |
parIndex1 | Index of parameter |
Definition at line 958 of file BCIntegrate.cxx.
TH2D * BCIntegrate::GetH2D | ( | int | parIndex1, | |
int | parIndex2 | |||
) |
parIndex1 | Index of first parameter | |
parIndex2 | Index of second parameter, with parIndex2>parIndex1 |
Definition at line 1024 of file BCIntegrate.cxx.
int BCIntegrate::GetH2DIndex | ( | int | parIndex1, | |
int | parIndex2 | |||
) |
parIndex1 | Index of first parameter | |
parIndex2 | Index of second parameter, with parIndex2>parIndex1 |
Definition at line 978 of file BCIntegrate.cxx.
BCIntegrate::BCIntegrationMethod BCIntegrate::GetIntegrationMethod | ( | ) | [inline] |
BCIntegrate::BCMarginalizationMethod BCIntegrate::GetMarginalizationMethod | ( | ) | [inline] |
std::vector<double>* BCIntegrate::GetMarkovChainPoint | ( | ) | [inline] |
Returns the actual point in the markov chain
Definition at line 227 of file BCIntegrate.h.
TTree* BCIntegrate::GetMarkovChainTree | ( | ) | [inline] |
double* BCIntegrate::GetMarkovChainValue | ( | ) | [inline] |
Returns the value of the loglikelihood at the point fXmetro1
Definition at line 239 of file BCIntegrate.h.
int* BCIntegrate::GetMCMCIteration | ( | ) | [inline] |
Returns the iteration of the MCMC
Definition at line 233 of file BCIntegrate.h.
TMinuit * BCIntegrate::GetMinuit | ( | ) |
int BCIntegrate::GetMinuitErrorFlag | ( | ) | [inline] |
Definition at line 205 of file BCIntegrate.h.
int BCIntegrate::GetNbins | ( | ) | [inline] |
Definition at line 197 of file BCIntegrate.h.
int BCIntegrate::GetNIterations | ( | ) | [inline] |
Definition at line 179 of file BCIntegrate.h.
int BCIntegrate::GetNIterationsMax | ( | ) | [inline] |
Definition at line 173 of file BCIntegrate.h.
int BCIntegrate::GetNiterationsPerDimension | ( | ) | [inline] |
Definition at line 155 of file BCIntegrate.h.
int BCIntegrate::GetNSamplesPer2DBin | ( | ) | [inline] |
Definition at line 161 of file BCIntegrate.h.
int BCIntegrate::GetNvar | ( | ) | [inline] |
BCIntegrate::BCOptimizationMethod BCIntegrate::GetOptimizationMethod | ( | ) | [inline] |
double BCIntegrate::GetRandomPoint | ( | std::vector< double > & | x | ) |
Fills a vector of (flat) random numbers in the limits of the parameters and returns the probability at that point
x | A vector of doubles |
Definition at line 1048 of file BCIntegrate.cxx.
double BCIntegrate::GetRandomPointImportance | ( | std::vector< double > & | x | ) |
Fills a vector of random numbers in the limits of the parameters sampled by the sampling function and returns the probability at that point
x | A vector of doubles |
Definition at line 1059 of file BCIntegrate.cxx.
void BCIntegrate::GetRandomPointMetro | ( | std::vector< double > & | x | ) |
Fills a vector of random numbers in the limits of the parameters sampled by the probality function and returns the probability at that point (Metropolis)
x | A vector of doubles |
Definition at line 1105 of file BCIntegrate.cxx.
void BCIntegrate::GetRandomPointSA | ( | std::vector< double > & | x, | |
double | T, | |||
double | step | |||
) |
Generates a vector x according to the Simulated Annealing algorithm given the temperature and the stepsize relative to the range
x | Vector of doubles | |
T | temperature used for the stepping probability calculation according to exp ( - (p1-p0) / T ) | |
step | maximum stepsize relative to the range |
Definition at line 1563 of file BCIntegrate.cxx.
void BCIntegrate::GetRandomPointSamplingMetro | ( | std::vector< double > & | x | ) |
Fills a vector of random numbers in the limits of the parameters sampled by the sampling function and returns the probability at that point (Metropolis)
x | A vector of doubles |
Definition at line 1168 of file BCIntegrate.cxx.
void BCIntegrate::GetRandomVector | ( | std::vector< double > & | x | ) |
Fills a vector of random numbers between 0 and 1 into a vector
A | vector of doubles |
Definition at line 1219 of file BCIntegrate.cxx.
void BCIntegrate::GetRandomVectorMetro | ( | std::vector< double > & | x | ) | [virtual] |
Definition at line 1233 of file BCIntegrate.cxx.
double BCIntegrate::GetRelativePrecision | ( | ) | [inline] |
Definition at line 185 of file BCIntegrate.h.
void BCIntegrate::InitMetro | ( | ) |
Initializes the Metropolis algorithm (for details see manual)
Definition at line 1080 of file BCIntegrate.cxx.
double BCIntegrate::IntegralImportance | ( | std::vector< double > | x | ) |
Perfoms the importance sampling Monte Carlo integration. For details see documentation.
x | An initial point in parameter space |
Definition at line 489 of file BCIntegrate.cxx.
double BCIntegrate::IntegralMC | ( | std::vector< double > | x | ) |
Definition at line 322 of file BCIntegrate.cxx.
double BCIntegrate::IntegralMC | ( | std::vector< double > | x, | |
int * | varlist | |||
) |
Perfoms the Monte Carlo integration. For details see documentation.
x | An initial point in parameter space | |
varlist | A list of variables |
Definition at line 315 of file BCIntegrate.cxx.
double BCIntegrate::IntegralMetro | ( | std::vector< double > | x | ) |
Perfoms the Metropolis Monte Carlo integration. For details see documentation.
x | An initial point in parameter space |
Definition at line 420 of file BCIntegrate.cxx.
double BCIntegrate::Integrate | ( | ) |
Does the integration over the un-normalized probability.
Definition at line 288 of file BCIntegrate.cxx.
double BCIntegrate::LogEval | ( | std::vector< double > | x | ) | [virtual] |
Evaluate the natural logarithm of the Eval function. For better numerical stability, this method should also be overloaded by the user.
x | The point in parameter space |
Reimplemented from BCEngineMCMC.
Reimplemented in BCModel.
Definition at line 258 of file BCIntegrate.cxx.
double BCIntegrate::LogEvalSampling | ( | std::vector< double > | x | ) |
Evaluate the natural logarithm of the EvalSampling function. Method needs to be overloaded by the user.
x | The point in parameter space |
Definition at line 272 of file BCIntegrate.cxx.
TH2D * BCIntegrate::Marginalize | ( | BCParameter * | parameter1, | |
BCParameter * | parameter2 | |||
) |
Performs the marginalization with respect to two parameters.
parameter1 | The first parameter w.r.t. which the marginalization is performed | |
parameter2 | The second parameter w.r.t. which the marginalization is performed |
Definition at line 577 of file BCIntegrate.cxx.
TH1D * BCIntegrate::Marginalize | ( | BCParameter * | parameter | ) |
Performs the marginalization with respect to one parameter.
parameter | The parameter w.r.t. which the marginalization is performed |
Definition at line 556 of file BCIntegrate.cxx.
int BCIntegrate::MarginalizeAllByMetro | ( | const char * | name = "" |
) |
Performs the marginalization with respect to every single parameter as well as with respect all combinations to two parameters using the Metropolis algorithm.
name | Basename for the histograms (e.g. model name) |
Definition at line 745 of file BCIntegrate.cxx.
TH2D * BCIntegrate::MarginalizeByIntegrate | ( | BCParameter * | parameter1, | |
BCParameter * | parameter2 | |||
) |
Performs the marginalization with respect to two parameters using the simple Monte Carlo technique.
parameter1 | The first parameter w.r.t. which the marginalization is performed | |
parameter2 | The second parameter w.r.t. which the marginalization is performed |
Definition at line 627 of file BCIntegrate.cxx.
TH1D * BCIntegrate::MarginalizeByIntegrate | ( | BCParameter * | parameter | ) |
Performs the marginalization with respect to one parameter using the simple Monte Carlo technique.
parameter | The parameter w.r.t. which the marginalization is performed |
Definition at line 595 of file BCIntegrate.cxx.
TH2D * BCIntegrate::MarginalizeByMetro | ( | BCParameter * | parameter1, | |
BCParameter * | parameter2 | |||
) |
Performs the marginalization with respect to two parameters using the Metropolis algorithm.
parameter1 | The first parameter w.r.t. which the marginalization is performed | |
parameter2 | The second parameter w.r.t. which the marginalization is performed |
Definition at line 708 of file BCIntegrate.cxx.
TH1D * BCIntegrate::MarginalizeByMetro | ( | BCParameter * | parameter | ) |
Performs the marginalization with respect to one parameter using the Metropolis algorithm.
parameter | The parameter w.r.t. which the marginalization is performed |
Definition at line 672 of file BCIntegrate.cxx.
void BCIntegrate::MCMCUpdateFunctionFitting | ( | ) | [private, virtual] |
void BCIntegrate::ResetVarlist | ( | int | v | ) |
Sets all values of the variable list to a particular value The value
Definition at line 244 of file BCIntegrate.cxx.
void BCIntegrate::SetDataPointLowerBoundaries | ( | BCDataPoint * | datasetlowerboundaries | ) | [inline] |
Sets the data point containing the lower boundaries of possible data values
Definition at line 341 of file BCIntegrate.h.
void BCIntegrate::SetDataPointLowerBoundary | ( | int | index, | |
double | lowerboundary | |||
) | [inline] |
Sets the lower boundary of possible data values for a particular variable
Definition at line 355 of file BCIntegrate.h.
void BCIntegrate::SetDataPointUpperBoundaries | ( | BCDataPoint * | datasetupperboundaries | ) | [inline] |
Sets the data point containing the upper boundaries of possible data values
Definition at line 348 of file BCIntegrate.h.
void BCIntegrate::SetDataPointUpperBoundary | ( | int | index, | |
double | upperboundary | |||
) | [inline] |
Sets the upper boundary of possible data values for a particular variable
Definition at line 362 of file BCIntegrate.h.
void BCIntegrate::SetErrorBandHisto | ( | TH2D * | h | ) | [inline] |
Sets errorband histogram
Definition at line 409 of file BCIntegrate.h.
void BCIntegrate::SetFitFunctionIndexX | ( | int | index | ) | [inline] |
Sets index of the x values in function fits.
index | Index of the x values |
Definition at line 323 of file BCIntegrate.h.
void BCIntegrate::SetFitFunctionIndexY | ( | int | index | ) | [inline] |
Sets index of the y values in function fits.
index | Index of the y values |
Definition at line 330 of file BCIntegrate.h.
void BCIntegrate::SetFitFunctionIndices | ( | int | indexx, | |
int | indexy | |||
) | [inline] |
Definition at line 333 of file BCIntegrate.h.
void BCIntegrate::SetIntegrationMethod | ( | BCIntegrate::BCIntegrationMethod | method | ) | [inline] |
void BCIntegrate::SetMarginalizationMethod | ( | BCIntegrate::BCMarginalizationMethod | method | ) | [inline] |
void BCIntegrate::SetMarkovChainAutoN | ( | bool | flag | ) | [inline] |
Sets a flag for automatically calculating the number of iterations
Definition at line 398 of file BCIntegrate.h.
void BCIntegrate::SetMarkovChainInitialPosition | ( | std::vector< double > | position | ) |
Sets the initial position for the Markov chain
Definition at line 166 of file BCIntegrate.cxx.
void BCIntegrate::SetMarkovChainNIterations | ( | int | niterations | ) | [inline] |
Sets the number of iterations in the markov chain
Definition at line 391 of file BCIntegrate.h.
void BCIntegrate::SetMarkovChainStepSize | ( | double | stepsize | ) | [inline] |
Sets the step size for Markov chains
Definition at line 385 of file BCIntegrate.h.
void BCIntegrate::SetMarkovChainTree | ( | TTree * | tree | ) | [inline] |
Sets the ROOT tree containing the Markov chain
Definition at line 374 of file BCIntegrate.h.
void BCIntegrate::SetMinuitArlist | ( | double * | arglist | ) | [inline] |
Definition at line 247 of file BCIntegrate.h.
void BCIntegrate::SetMode | ( | std::vector< double > | mode | ) |
Sets mode
Definition at line 1359 of file BCIntegrate.cxx.
void BCIntegrate::SetNbins | ( | int | n | ) |
n | Number of bins per dimension for the marginalized distributions. Default is 100. Minimum number allowed is 2. |
Definition at line 198 of file BCIntegrate.cxx.
void BCIntegrate::SetNbinsX | ( | int | n | ) |
Definition at line 213 of file BCIntegrate.cxx.
void BCIntegrate::SetNbinsY | ( | int | n | ) |
Definition at line 224 of file BCIntegrate.cxx.
void BCIntegrate::SetNIterationsMax | ( | int | niterations | ) | [inline] |
niterations | The maximum number of iterations for Monte Carlo integration |
Definition at line 301 of file BCIntegrate.h.
void BCIntegrate::SetNiterationsPerDimension | ( | int | niterations | ) | [inline] |
niterations | Number of iterations per dimension for Monte Carlo integration. |
Definition at line 288 of file BCIntegrate.h.
void BCIntegrate::SetNSamplesPer2DBin | ( | int | n | ) | [inline] |
n | Number of samples per 2D bin per variable in the Metropolis marginalization. Default is 100. |
Definition at line 295 of file BCIntegrate.h.
void BCIntegrate::SetOptimizationMethod | ( | BCIntegrate::BCOptimizationMethod | method | ) | [inline] |
void BCIntegrate::SetParameters | ( | BCParameterSet * | par | ) |
par | The parameter set which gets translated into array needed for the Monte Carlo integration |
Definition at line 127 of file BCIntegrate.cxx.
void BCIntegrate::SetRelativePrecision | ( | double | relprecision | ) | [inline] |
relprecision | The relative precision envisioned for Monte Carlo integration |
Definition at line 308 of file BCIntegrate.h.
void BCIntegrate::SetVar | ( | int | index | ) | [inline] |
void BCIntegrate::SetVarList | ( | int * | varlist | ) |
void BCIntegrate::UnsetVar | ( | int | index | ) | [inline] |
Set value of a particular integration variable to 0.
index | The index of the variable |
Definition at line 431 of file BCIntegrate.h.
void BCIntegrate::WriteMarkovChain | ( | bool | flag | ) | [inline] |
Flag for writing Markov chain to ROOT file (true) or not (false)
Definition at line 368 of file BCIntegrate.h.
std::vector<double> BCIntegrate::fBestFitParameters [protected] |
A vector of best fit parameters estimated from the global probability
Definition at line 778 of file BCIntegrate.h.
std::vector<double> BCIntegrate::fBestFitParametersMarginalized [protected] |
A vector of best fit parameters estimated from the marginalized probability
Definition at line 783 of file BCIntegrate.h.
std::vector<bool> BCIntegrate::fDataFixedValues [protected] |
Definition at line 768 of file BCIntegrate.h.
BCDataPoint* BCIntegrate::fDataPointLowerBoundaries [protected] |
data point containing the lower boundaries of possible data values
Definition at line 761 of file BCIntegrate.h.
BCDataPoint* BCIntegrate::fDataPointUpperBoundaries [protected] |
data point containing the upper boundaries of possible data values
Definition at line 766 of file BCIntegrate.h.
double BCIntegrate::fError [private] |
The uncertainty in the most recent Monte Carlo integration
Definition at line 703 of file BCIntegrate.h.
bool BCIntegrate::fErrorBandContinuous [protected] |
A flag for single point evaluation of the error "band"
Definition at line 804 of file BCIntegrate.h.
int BCIntegrate::fErrorBandNbinsX [protected] |
Definition at line 811 of file BCIntegrate.h.
int BCIntegrate::fErrorBandNbinsY [protected] |
Definition at line 812 of file BCIntegrate.h.
std::vector<double> BCIntegrate::fErrorBandX [protected] |
Definition at line 805 of file BCIntegrate.h.
TH2D* BCIntegrate::fErrorBandXY [protected] |
The error band histogram and number of bins
Definition at line 810 of file BCIntegrate.h.
int BCIntegrate::fFitFunctionIndexX [protected] |
The indeces for function fits
Definition at line 798 of file BCIntegrate.h.
int BCIntegrate::fFitFunctionIndexY [protected] |
Definition at line 799 of file BCIntegrate.h.
bool BCIntegrate::fFlagWriteMarkovChain [protected] |
Flag for writing Markov chain to file
Definition at line 825 of file BCIntegrate.h.
std::vector<TH1D *> BCIntegrate::fHProb1D [protected] |
Vector of TH1D histograms for marginalized probability distributions
Definition at line 788 of file BCIntegrate.h.
std::vector<TH2D *> BCIntegrate::fHProb2D [protected] |
Vector of TH2D histograms for marginalized probability distributions
Definition at line 793 of file BCIntegrate.h.
Current integration method
Definition at line 673 of file BCIntegrate.h.
Current marginalization method
Definition at line 678 of file BCIntegrate.h.
bool BCIntegrate::fMarkovChainAutoN [protected] |
Definition at line 756 of file BCIntegrate.h.
int BCIntegrate::fMarkovChainNIterations [protected] |
Definition at line 754 of file BCIntegrate.h.
double BCIntegrate::fMarkovChainStepSize [protected] |
Step size in the Markov chain relative to min and max
Definition at line 752 of file BCIntegrate.h.
TTree* BCIntegrate::fMarkovChainTree [protected] |
ROOT tree containing the Markov chain
Definition at line 830 of file BCIntegrate.h.
double BCIntegrate::fMarkovChainValue [private] |
A double containing the log likelihood value at the point fXmetro1
Definition at line 724 of file BCIntegrate.h.
double* BCIntegrate::fMax [private] |
Array containing the upper boundaries of the variables to integrate over.
Definition at line 658 of file BCIntegrate.h.
int BCIntegrate::fMCMCIteration [protected] |
Iteration of the MCMC
Definition at line 835 of file BCIntegrate.h.
double* BCIntegrate::fMin [private] |
Array containing the lower boundaries of the variables to integrate over.
Definition at line 653 of file BCIntegrate.h.
TMinuit* BCIntegrate::fMinuit [protected] |
Minuit
Definition at line 817 of file BCIntegrate.h.
double BCIntegrate::fMinuitArglist[2] [protected] |
Definition at line 819 of file BCIntegrate.h.
int BCIntegrate::fMinuitErrorFlag [protected] |
Definition at line 820 of file BCIntegrate.h.
int BCIntegrate::fNacceptedMCMC [private] |
Definition at line 709 of file BCIntegrate.h.
int BCIntegrate::fNbins [protected] |
Number of bins per dimension for the marginalized distributions
Definition at line 741 of file BCIntegrate.h.
int BCIntegrate::fNIterations [private] |
Number of iterations in the most recent Monte Carlo integation
Definition at line 693 of file BCIntegrate.h.
int BCIntegrate::fNIterationsMax [private] |
Maximum number of iterations
Definition at line 688 of file BCIntegrate.h.
int BCIntegrate::fNiterPerDimension [private] |
Number of iteration per dimension for Monte Carlo integration.
Definition at line 668 of file BCIntegrate.h.
int BCIntegrate::fNmetro [private] |
The number of iterations in the Metropolis integration
Definition at line 708 of file BCIntegrate.h.
int BCIntegrate::fNSamplesPer2DBin [protected] |
Number of samples per 2D bin per variable in the Metropolis marginalization.
Definition at line 747 of file BCIntegrate.h.
int BCIntegrate::fNvar [protected] |
Number of variables to integrate over.
Definition at line 736 of file BCIntegrate.h.
Current mode finding method
Definition at line 683 of file BCIntegrate.h.
TRandom3* BCIntegrate::fRandom [protected] |
A ROOT random number generator
Definition at line 773 of file BCIntegrate.h.
double BCIntegrate::fRelativePrecision [private] |
Relative precision aimed at in the Monte Carlo integation
Definition at line 698 of file BCIntegrate.h.
int* BCIntegrate::fVarlist [private] |
List of variables containing a flag whether to integrate over them or not.
Definition at line 663 of file BCIntegrate.h.
BCParameterSet* BCIntegrate::fx [private] |
Set of parameters for the integration.
Definition at line 648 of file BCIntegrate.h.
std::vector<double> BCIntegrate::fXmetro0 [private] |
A vector of points in parameter space used for the Metropolis algorithm
Definition at line 714 of file BCIntegrate.h.
std::vector<double> BCIntegrate::fXmetro1 [private] |
A vector of points in parameter space used for the Metropolis algorithm
Definition at line 719 of file BCIntegrate.h.