A class to represent a split-Gaussian prior of a parameter. More...

#include <BCSplitGaussianPrior.h>

Inheritance diagram for BCSplitGaussianPrior:
[legend]
Collaboration diagram for BCSplitGaussianPrior:
[legend]

Public Member Functions

Constructor & Destructor
 BCSplitGaussianPrior (double mode, double sigma_below, double sigma_above)
 Constructor.
 
 BCSplitGaussianPrior (const BCSplitGaussianPrior &other)
 Copy constructor.
 
virtual ~BCSplitGaussianPrior ()
 Destructor.
 
Functions overloaded from BCPrior
virtual BCPriorClone () const
 Clone function.
 
virtual bool IsValid () const
 
virtual double GetLogPrior (double x)
 Get log of prior. More...
 
virtual double GetMode (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Return mode of prior (in range). More...
 
virtual double GetRawMoment (unsigned n, double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get raw moment of prior distrubion. More...
 
virtual double GetIntegral (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get integral of prior. More...
 
Setters
void SetMean (double mean)
 
void SetMode (double mode)
 
void SetSigmaBelow (double sigma)
 
void SetSigmaAbove (double sigma)
 
void SetParameters (double mode, double sigma_below, double sigma_above)
 
- Public Member Functions inherited from BCPrior
 BCPrior ()
 Empty constructor.
 
 BCPrior (const BCPrior &other)
 Copy constructor.
 
virtual ~BCPrior ()
 Destructor.
 
virtual double GetLogNormalizedPrior (double x)
 Get log of normalized prior. More...
 
virtual double GetPrior (double x, bool normalize=false)
 Get prior. More...
 
virtual TF1 & GetFunction ()
 Return back ROOT TF1 evaluating BCPrior::GetPrior.
 
virtual const TF1 & GetFunction () const
 Return back ROOT TF1 evaluating BCPrior::GetPrior.
 
virtual void SetFunctionRange (double xmin, double xmax)
 Set range of ROOT TF1 function. More...
 
virtual double GetCentralMoment (unsigned n, double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get central moment of prior distrubion. More...
 
virtual double GetStandardizedMoment (unsigned n, double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get standardised moment of prior distrubion. More...
 
virtual double GetMean (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get mean of prior. More...
 
virtual double GetVariance (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get variance of prior. More...
 
virtual double GetStandardDeviation (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get standard deviation of prior. More...
 
virtual double GetSkewness (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get skewness of prior. More...
 
virtual double GetKurtosis (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Get kurtosis of prior. More...
 
virtual double GetRandomValue (double xmin, double xmax, TRandom *const R=NULL)
 
virtual double GetPriorForROOT (double *x, double *)
 For accessing prior as ROOT TF1.
 
virtual double GetNormalizedPriorForROOT (double *x, double *)
 For accessing normalized prior as ROOT TF1.
 
virtual double GetLogPriorForROOT (double *x, double *)
 For accessing log(prior) as ROOT TF1.
 
virtual double GetNormalizedLogPriorForROOT (double *x, double *)
 For accessing normalized log(prior) as ROOT TF1.
 
virtual double CalculateAndStoreIntegral (double xmin=-std::numeric_limits< double >::infinity(), double xmax=std::numeric_limits< double >::infinity())
 Calculate and store integral for use in normalized TF1s.
 
virtual void StoreIntegral (double I)
 Store integral;.
 
virtual void StoreLogIntegral (double logI)
 Store log(integral);.
 
virtual double GetStoredIntegral () const
 Get stored integral. More...
 
virtual double GetStoredLogIntegral () const
 Get stored integral. More...
 
virtual void FillHistogramByCenterValue (TH1 *h)
 Fill histogram by prior evaluated at bin center. More...
 
virtual void FillHistogramByIntegral (TH1 *h)
 Fill histogram by integrating prior over bin and dividing by bin width. More...
 
virtual BCH1D GetBCH1D (TH1 *bins, const std::string &name="prior")
 Get BCH1D object for prior. More...
 
virtual BCH2D GetBCH2D (BCPrior *ordinate, TH2 *bins, const std::string &name="prior")
 Get BCH2D object for prior. More...
 

Protected Attributes

double fMode
 
double fSigmaAbove
 std dev of split gaussian above mode
 
double fSigmaBelow
 std dev of split gaussian below mode
 
- Protected Attributes inherited from BCPrior
double fLogIntegral
 Log of integral of unnormalized pdf over the range.
 
TF1 fPriorFunction
 

Detailed Description

A class to represent a split-Gaussian prior of a parameter.

Author
Daniel Greenwald
Version
1.0
Date
01.2015

Definition at line 32 of file BCSplitGaussianPrior.h.

Member Function Documentation

double BCSplitGaussianPrior::GetIntegral ( double  xmin = -std::numeric_limits<double>::infinity(),
double  xmax = std::numeric_limits<double>::infinity() 
)
virtual

Get integral of prior.

Parameters
xminlower limit of range to evaluate over
xmaxupper limit of range to evaluate over
Returns
integral of prior

Reimplemented from BCPrior.

Definition at line 92 of file BCSplitGaussianPrior.cxx.

double BCSplitGaussianPrior::GetLogPrior ( double  x)
virtual

Get log of prior.

Parameters
xvalue to evaluate log of prior at
Returns
log of prior

Implements BCPrior.

Definition at line 37 of file BCSplitGaussianPrior.cxx.

virtual double BCSplitGaussianPrior::GetMode ( double  xmin = -std::numeric_limits<double>::infinity(),
double  xmax = std::numeric_limits<double>::infinity() 
)
inlinevirtual

Return mode of prior (in range).

Parameters
xminlower limit of range to evaluate over
xmaxupper limit of range to evaluate over
Returns
mode of prior in range.

Reimplemented from BCPrior.

Definition at line 76 of file BCSplitGaussianPrior.h.

double BCSplitGaussianPrior::GetRawMoment ( unsigned  n,
double  xmin = -std::numeric_limits<double>::infinity(),
double  xmax = std::numeric_limits<double>::infinity() 
)
virtual

Get raw moment of prior distrubion.

If limits are infinite, use exact value from prior type.

Parameters
nmoment number
xminlower limit of range to evaluate over
xmaxupper limit of range to evaluate over
Returns
raw moment of prior distribution

Reimplemented from BCPrior.

Definition at line 45 of file BCSplitGaussianPrior.cxx.

virtual bool BCSplitGaussianPrior::IsValid ( ) const
inlinevirtual
Returns
Whether everything needed for prior is set and prior can be used.

Implements BCPrior.

Definition at line 58 of file BCSplitGaussianPrior.h.

Member Data Documentation

double BCSplitGaussianPrior::fMode
protected

mode of split gaussian

Definition at line 117 of file BCSplitGaussianPrior.h.


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