26 #include "BCIntegrate.h"
46 const int MAXNDATAPOINTVALUES = 20;
61 BCModel(
const char * name=
"model");
188 void SetDataBoundaries(
unsigned int index,
double lowerboundary,
double upperboundary,
bool fixed=
false);
226 int SetPrior(
const char* name, TF1* f);
264 int SetPriorGauss(
const char* name,
double mean,
double sigma);
274 int SetPriorGauss(
int index,
double mean,
double sigmadown,
double sigmaup);
284 int SetPriorGauss(
const char* name,
double mean,
double sigmadown,
double sigmaup);
293 int SetPrior(
int index, TH1 * h,
bool flag=
false);
302 int SetPrior(
const char* name, TH1 * h,
bool flag=
false);
358 virtual double Likelihood(
const std::vector<double> ¶ms);
365 virtual double LogLikelihood(
const std::vector<double> ¶ms) = 0;
385 double Probability(
const std::vector<double> ¶meter);
402 double Eval(
const std::vector<double> ¶meters);
406 virtual double LogEval(
const std::vector<double> ¶meters);
429 double GetPvalueFromChi2NDoF(std::vector<double> par,
int sigma_index);
431 BCH1D * CalculatePValue(std::vector<double> par,
bool flag_histogram=
false);
438 double GetPValueNDoF()
439 {
return fPValueNDoF; }
442 {
return fChi2NDoF; }
449 std::vector<double>
GetChi2Runs(
int dataIndex,
int sigmaIndex);
502 virtual double CDF(
const std::vector<double>& ,
int ,
bool )
532 std::vector<bool> fDataFixedValues;
580 int CompareStrings(
const char * string1,
const char * string2);
584 BCDataPoint * VectorToDataPoint(
const std::vector<double> &data);
589 typedef std::vector<BCModel*> BCModelContainer;
void SetDataPointUpperBoundary(int index, double upperboundary)
BCDataPoint * GetDataPointUpperBoundaries() const
int SetPriorGauss(int index, double mean, double sigma)
std::vector< bool > fPriorContainerConstant
void PrintShortFitSummary(int chi2flag=0)
double APrioriProbability(const std::vector< double > ¶meters)
BCDataPoint * GetDataPointLowerBoundaries() const
void SetModelAPrioriProbability(double probability)
double HessianMatrixElement(const BCParameter *parameter1, const BCParameter *parameter2, std::vector< double > point)
void SetDataPointLowerBoundaries(BCDataPoint *datasetlowerboundaries)
virtual double Likelihood(const std::vector< double > ¶ms)
virtual double LogLikelihood(const std::vector< double > ¶ms)=0
std::vector< bool > fPriorContainerInterpolate
double GetDataPointLowerBoundary(unsigned int index) const
double Probability(const std::vector< double > ¶meter)
void SetGoFNChains(int n)
A class representing a data point.
int SetPriorDelta(int index, double value)
void SetGoFNIterationsMax(int n)
void SetGoFNIterationsRun(int n)
void SetName(const char *name)
A class for handling numerical operations for models.
BCDataSet * GetDataSet() const
void SetDataSet(BCDataSet *dataset)
bool GetFlagBoundaries() const
int SetPriorConstantAll()
void PrintResults(const char *file)
The base class for all user-defined models.
A class for handling 2D distributions.
double GetDataPointUpperBoundary(unsigned int index) const
void SetSingleDataPoint(BCDataPoint *datapoint)
void PrintHessianMatrix(std::vector< double > parameters)
A class representing a set of data points.
BCDataPoint * fDataPointLowerBoundaries
std::vector< TNamed * > fPriorContainer
double GetPvalueFromChi2(const std::vector< double > &par, int sigma_index)
double GetModelAPosterioriProbability() const
double LogProbabilityNN(const std::vector< double > ¶meters)
BCModel(const char *name="model")
virtual double CDF(const std::vector< double > &, int, bool)
BCDataPoint * GetDataPoint(unsigned int index) const
void SetModelAPosterioriProbability(double probability)
double LogProbability(const std::vector< double > ¶meter)
A class representing a parameter of a model.
virtual int AddParameter(BCParameter *parameter)
unsigned GetNDataPoints() const
double Eval(const std::vector< double > ¶meters)
virtual int AddParameter(const char *name, double min, double max, const char *latexname="")
double ProbabilityNN(const std::vector< double > ¶ms)
double GetPvalueFromKolmogorov(const std::vector< double > &par, int index)
A class for handling 1D distributions.
int SetPriorConstant(int index)
virtual double LogEval(const std::vector< double > ¶meters)
virtual double SamplingFunction(const std::vector< double > ¶meters)
double GetModelAPrioriProbability() const
int SetPrior(int index, TF1 *f)
BCDataPoint * fDataPointUpperBoundaries
void Copy(const BCModel &bcmodel)
void SetDataPointUpperBoundaries(BCDataPoint *datasetupperboundaries)
void SetDataPointLowerBoundary(int index, double lowerboundary)
virtual double LogAPrioriProbability(const std::vector< double > ¶meters)
std::vector< double > GetChi2Runs(int dataIndex, int sigmaIndex)
BCModel & operator=(const BCModel &bcmodel)
int SetPriorConstant(const char *name)
virtual void CorrelateDataPointValues(std::vector< double > &x)
const std::string & GetName() const