BCIntegrate Class Reference

#include <BCIntegrate.h>

Inheritance diagram for BCIntegrate:

Inheritance graph
[legend]
Collaboration diagram for BCIntegrate:

Collaboration graph
[legend]

List of all members.


Detailed Description

A class for handling numerical operations for models.

Author:
Daniel Kollar

Kevin Kröninger

Version:
1.0
Date:
08.2008 This is a base class for a model class. It contains numerical methods to carry out the integration, marginalization, peak finding etc.

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
BCDataPointfDataPointLowerBoundaries
BCDataPointfDataPointUpperBoundaries
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
BCParameterSetfx
std::vector< double > fXmetro0
std::vector< double > fXmetro1

Member Enumeration Documentation

An enumerator for the integration algorithm

Enumerator:
kIntMonteCarlo 
kIntImportance 
kIntMetropolis 
kIntCuba 

Definition at line 59 of file BCIntegrate.h.

An enumerator for the marginalization algorithm

Enumerator:
kMargMonteCarlo 
kMargMetropolis 

Definition at line 64 of file BCIntegrate.h.

An enumerator for the mode finding algorithm

Enumerator:
kOptSimulatedAnnealing 
kOptMetropolis 
kOptMinuit 

Definition at line 69 of file BCIntegrate.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

void BCIntegrate::CubaIntegrand ( const int *  ndim,
const double  xx[],
const int *  ncomp,
double  ff[] 
) [static]

Integrand for the Cuba library.

Parameters:
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
Returns:
The integral

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.

Parameters:
method A short cut for the method
parameters_double A vector of parameters (double)
parameters_int A vector of parameters (int)
Returns:
The integral

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.

Parameters:
x The point in parameter space
Returns:
The un-normalized probability

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.

Parameters:
x The point in parameter space
Returns:
The un-normalized probability
See also:
Eval(std::vector <double> x)

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.

Parameters:
x The point in parameter space
Returns:
The value of the sampling function

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:
parameters A set of parameter values
x A vector of x-values
Returns:
The value of the fit function at the x-values given a set of parameters

Definition at line 481 of file BCIntegrate.h.

double BCIntegrate::GetError (  )  [inline]

Returns:
The uncertainty in the most recent Monte Carlo integration

Definition at line 191 of file BCIntegrate.h.

TH1D * BCIntegrate::GetH1D ( int  parIndex  ) 

Parameters:
parIndex1 Index of parameter
Returns:
Pointer to 1D histogram (TH1D) of marginalized distribution wrt. parameter with given index.

Definition at line 958 of file BCIntegrate.cxx.

TH2D * BCIntegrate::GetH2D ( int  parIndex1,
int  parIndex2 
)

Parameters:
parIndex1 Index of first parameter
parIndex2 Index of second parameter, with parIndex2>parIndex1
Returns:
Pointer to 2D histogram (TH2D) of marginalized distribution wrt. parameters with given indeces.

Definition at line 1024 of file BCIntegrate.cxx.

int BCIntegrate::GetH2DIndex ( int  parIndex1,
int  parIndex2 
)

Parameters:
parIndex1 Index of first parameter
parIndex2 Index of second parameter, with parIndex2>parIndex1
Returns:
Index of the distribution in the vector of 2D distributions, which corresponds to the combination of parameters with given indeces

Definition at line 978 of file BCIntegrate.cxx.

BCIntegrate::BCIntegrationMethod BCIntegrate::GetIntegrationMethod (  )  [inline]

Returns:
The integration method

Definition at line 99 of file BCIntegrate.h.

BCIntegrate::BCMarginalizationMethod BCIntegrate::GetMarginalizationMethod (  )  [inline]

Returns:
The marginalization method

Definition at line 105 of file BCIntegrate.h.

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]

Returns:
The ROOT tree containing the Markov chain

Definition at line 211 of file BCIntegrate.h.

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 (  ) 

Returns:
Minuit used for mode finding

Definition at line 1284 of file BCIntegrate.cxx.

int BCIntegrate::GetMinuitErrorFlag (  )  [inline]

Definition at line 205 of file BCIntegrate.h.

int BCIntegrate::GetNbins (  )  [inline]

Returns:
number of bins per dimension for the marginalized distributions

Definition at line 197 of file BCIntegrate.h.

int BCIntegrate::GetNIterations (  )  [inline]

Returns:
The number of iterations for the most recent Monte Carlo integration

Definition at line 179 of file BCIntegrate.h.

int BCIntegrate::GetNIterationsMax (  )  [inline]

Returns:
The number of maximum iterations for Monte Carlo integration

Definition at line 173 of file BCIntegrate.h.

int BCIntegrate::GetNiterationsPerDimension (  )  [inline]

Returns:
The number of iterations per dimension for the Monte Carlo integration

Definition at line 155 of file BCIntegrate.h.

int BCIntegrate::GetNSamplesPer2DBin (  )  [inline]

Returns:
Number of samples per 2D bin per variable in the Metropolis marginalization.

Definition at line 161 of file BCIntegrate.h.

int BCIntegrate::GetNvar (  )  [inline]

Returns:
The number of variables to integrate over

Definition at line 167 of file BCIntegrate.h.

BCIntegrate::BCOptimizationMethod BCIntegrate::GetOptimizationMethod (  )  [inline]

Returns:
The mode finding method

Definition at line 111 of file BCIntegrate.h.

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

Parameters:
x A vector of doubles
Returns:
The (unnormalized) probability at the random point

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

Parameters:
x A vector of doubles
Returns:
The (unnormalized) probability at the random point

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)

Parameters:
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

Parameters:
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)

Parameters:
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

Parameters:
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]

Returns:
The relative precision for numerical integration

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.

Parameters:
x An initial point in parameter space
Returns:
The integral

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.

Parameters:
x An initial point in parameter space
varlist A list of variables
Returns:
The integral

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.

Parameters:
x An initial point in parameter space
Returns:
The integral

Definition at line 420 of file BCIntegrate.cxx.

double BCIntegrate::Integrate (  ) 

Does the integration over the un-normalized probability.

Returns:
The normalization value

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.

Parameters:
x The point in parameter space
Returns:
log(Eval(x))

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.

Parameters:
x The point in parameter space
Returns:
log(EvalSampling(x))

Definition at line 272 of file BCIntegrate.cxx.

TH2D * BCIntegrate::Marginalize ( BCParameter parameter1,
BCParameter parameter2 
)

Performs the marginalization with respect to two parameters.

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
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

Definition at line 577 of file BCIntegrate.cxx.

TH1D * BCIntegrate::Marginalize ( BCParameter parameter  ) 

Performs the marginalization with respect to one parameter.

Parameters:
parameter The parameter w.r.t. which the marginalization is performed
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

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.

Parameters:
name Basename for the histograms (e.g. model name)
Returns:
Total number of marginalized distributions

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.

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
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

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.

Parameters:
parameter The parameter w.r.t. which the marginalization is performed
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

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.

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
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

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.

Parameters:
parameter The parameter w.r.t. which the marginalization is performed
Returns:
A histogram which contains the marginalized probability distribution (normalized to 1)

Definition at line 672 of file BCIntegrate.cxx.

void BCIntegrate::MCMCUpdateFunctionFitting (  )  [private, virtual]

Reimplemented from BCEngineMCMC.

Definition at line 1774 of file BCIntegrate.cxx.

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.

Parameters:
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.

Parameters:
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]

Parameters:
method The integration method

Definition at line 270 of file BCIntegrate.h.

void BCIntegrate::SetMarginalizationMethod ( BCIntegrate::BCMarginalizationMethod  method  )  [inline]

Parameters:
method The marginalization method

Definition at line 276 of file BCIntegrate.h.

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  ) 

Parameters:
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]

Parameters:
niterations The maximum number of iterations for Monte Carlo integration

Definition at line 301 of file BCIntegrate.h.

void BCIntegrate::SetNiterationsPerDimension ( int  niterations  )  [inline]

Parameters:
niterations Number of iterations per dimension for Monte Carlo integration.

Definition at line 288 of file BCIntegrate.h.

void BCIntegrate::SetNSamplesPer2DBin ( int  n  )  [inline]

Parameters:
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]

Parameters:
method The mode finding method

Definition at line 282 of file BCIntegrate.h.

void BCIntegrate::SetParameters ( BCParameterSet par  ) 

Parameters:
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]

Parameters:
relprecision The relative precision envisioned for Monte Carlo integration

Definition at line 308 of file BCIntegrate.h.

void BCIntegrate::SetVar ( int  index  )  [inline]

Parameters:
index The index of the variable to be set

Definition at line 265 of file BCIntegrate.h.

void BCIntegrate::SetVarList ( int *  varlist  ) 

Parameters:
varlist A list of parameters

Definition at line 237 of file BCIntegrate.cxx.

void BCIntegrate::UnsetVar ( int  index  )  [inline]

Set value of a particular integration variable to 0.

Parameters:
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.


Member Data Documentation

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.

data point containing the lower boundaries of possible data values

Definition at line 761 of file BCIntegrate.h.

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.

A flag for single point evaluation of the error "band"

Definition at line 804 of file BCIntegrate.h.

Definition at line 811 of file BCIntegrate.h.

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.

The indeces for function fits

Definition at line 798 of file BCIntegrate.h.

Definition at line 799 of file BCIntegrate.h.

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.

Definition at line 756 of file BCIntegrate.h.

Definition at line 754 of file BCIntegrate.h.

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.

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.

Definition at line 820 of file BCIntegrate.h.

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.

Number of iterations in the most recent Monte Carlo integation

Definition at line 693 of file BCIntegrate.h.

Maximum number of iterations

Definition at line 688 of file BCIntegrate.h.

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.

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.

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.

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.


Generated on Mon Sep 15 17:04:29 2008 for Bayesian Analysis Toolkit by  doxygen 1.5.6