ROOT logo
ROOT » ROOFIT » ROOSTATS » RooStats::MCMCCalculator

class RooStats::MCMCCalculator: public RooStats::IntervalCalculator, public TNamed


MCMCCalculator is a concrete implementation of IntervalCalculator. It uses a MetropolisHastings object to construct a Markov Chain of data points in the parameter space. From this Markov Chain, this class can generate a MCMCInterval as per user specification.

The interface allows one to pass the model, data, and parameters or eventually specify them with names via the ModelConfig class.

After configuring the calculator, one only needs to ask GetInterval(), which will return an ConfInterval (MCMCInterval in this case).



Function Members (Methods)

public:
virtual~MCMCCalculator()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Double_tConfidenceLevel() const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual RooStats::MCMCInterval*GetInterval() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
RooStats::MCMCCalculatorMCMCCalculator()
RooStats::MCMCCalculatorMCMCCalculator(const RooStats::MCMCCalculator&)
RooStats::MCMCCalculatorMCMCCalculator(RooAbsData& data, const RooStats::ModelConfig& model)
RooStats::MCMCCalculatorMCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest)
RooStats::MCMCCalculatorMCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest, RooAbsPdf& priorPdf)
RooStats::MCMCCalculatorMCMCCalculator(RooAbsData& data, const RooStats::ModelConfig& model, RooStats::ProposalFunction& proposalFunction, Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05)
RooStats::MCMCCalculatorMCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest, RooAbsPdf& priorPdf, RooStats::ProposalFunction& proposalFunction, Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooStats::MCMCCalculator&operator=(const RooStats::MCMCCalculator&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidSetAxes(RooArgList& axes)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetConfidenceLevel(Double_t cl)
virtual voidSetData(RooAbsData& data)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetModel(const RooStats::ModelConfig& model)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidSetNuisanceParameters(const RooArgSet& set)
virtual voidSetNumBins(Int_t numBins)
virtual voidSetNumBurnInSteps(Int_t numBurnInSteps)
virtual voidSetNumIters(Int_t numIters)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetParameters(const RooArgSet& set)
virtual voidSetPdf(RooAbsPdf& pdf)
virtual voidSetPriorPdf(RooAbsPdf& pdf)
virtual voidSetProposalFunction(RooStats::ProposalFunction& proposalFunction)
virtual voidSetTestSize(Double_t size)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetUseKeys(Bool_t useKeys)
virtual voidSetUseSparseHist(Bool_t useSparseHist)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Double_tSize() const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
voidSetBins(const RooAbsCollection& coll, Int_t numBins) const
voidSetupBasicUsage()

Data Members

protected:
RooArgList*fAxeswhich variables to put on each axis
RooAbsData*fDatapointer to the data (owned by the workspace)
TStringTNamed::fNameobject identifier
RooArgSetfNuisParamsnuisance parameters for interval (not really used)
Int_tfNumBinsset the number of bins to create for each
Int_tfNumBurnInStepsnumber of iterations to discard as burn-in, starting from the first
Int_tfNumItersnumber of iterations to run metropolis algorithm
RooArgSetfPOIparameters of interest for interval
RooAbsPdf*fPdfpointer to common PDF (owned by the workspace)
RooAbsPdf*fPriorPdfpointer to prior PDF (owned by the workspace)
RooStats::ProposalFunction*fPropFuncProposal function for MCMC integration
Double_tfSizesize of the test (eg. specified rate of Type I error)
TStringTNamed::fTitleobject title
Bool_tfUseKeyswhether to use kernel estimation to determine interval
Bool_tfUseSparseHistwhether to use sparse histogram (if using hist at all)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

MCMCCalculator()
 default constructor
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest, RooAbsPdf& priorPdf)
 Constructor for automatic configuration with basic settings.  Uses a
 UniformProposal,10,000 iterations, 40 burn in steps, 50 bins for each
 RooRealVar, determines interval by keys, and turns on sparse histogram
 mode in the MCMCInterval.  Finds a 95% confidence interval.
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest)
 same constructor as before but not passing a prior pdf
MCMCCalculator(RooAbsData& data, const RooStats::ModelConfig& model)
 Constructor for automatic configuration with basic settings.  Uses a
 UniformProposal,10,000 iterations, 40 burn in steps, 50 bins for each
 RooRealVar, determines interval by keys, and turns on sparse histogram
 mode in the MCMCInterval.  Finds a 95% confidence interval.
MCMCCalculator(RooAbsData& data, const RooStats::ModelConfig& model, RooStats::ProposalFunction& proposalFunction, Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05)
 alternate constructor, specifying many arguments
void SetModel(const RooStats::ModelConfig& model)
 set the model
MCMCCalculator(RooAbsData& data, RooAbsPdf& pdf, const RooArgSet& paramsOfInterest, RooAbsPdf& priorPdf, RooStats::ProposalFunction& proposalFunction, Int_t numIters, RooArgList* axes = NULL, Double_t size = 0.05)
void SetupBasicUsage()
 Setting automatic configuration with basic settings.  Uses a
 UniformProposal,10,000 iterations, 40 burn in steps, 50 bins for each
 RooRealVar, determines interval by keys, and turns on sparse histogram
 mode in the MCMCInterval.  Finds a 95% confidence interval.
MCMCInterval* GetInterval() const
 Main interface to get a RooStats::ConfInterval.
MCMCCalculator()
 default constructor
virtual ~MCMCCalculator()
{}
Double_t Size() const
 Get the size of the test (eg. rate of Type I error)
{return fSize;}
Double_t ConfidenceLevel() const
 Get the Confidence level for the test
{return 1.-fSize;}
void SetData(RooAbsData& data)
 Set the DataSet if not already there
{ fData = &data; }
void SetPdf(RooAbsPdf& pdf)
 Set the Pdf if not already there
{ fPdf = &pdf; }
void SetPriorPdf(RooAbsPdf& pdf)
 Set the Prior Pdf if not already there
{ fPriorPdf = &pdf; }
void SetParameters(const RooArgSet& set)
 specify the parameters of interest in the interval
{ fPOI.removeAll(); fPOI.add(set); }
void SetNuisanceParameters(const RooArgSet& set)
 specify the nuisance parameters (eg. the rest of the parameters)
void SetTestSize(Double_t size)
 set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
{fSize = size;}
void SetConfidenceLevel(Double_t cl)
 set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
{fSize = 1.-cl;}
void SetProposalFunction(RooStats::ProposalFunction& proposalFunction)
 set the proposal function for suggesting new points for the MCMC
{ fPropFunc = &proposalFunction; }
void SetNumIters(Int_t numIters)
 set the number of iterations to run the metropolis algorithm
{ fNumIters = numIters; }
void SetNumBurnInSteps(Int_t numBurnInSteps)
 set the number of steps in the chain to discard as burn-in,
 starting from the first
{ fNumBurnInSteps = numBurnInSteps; }
void SetNumBins(Int_t numBins)
 set the number of bins to create for each axis when constructing the interval
{ fNumBins = numBins; }
void SetAxes(RooArgList& axes)
 set which variables to put on each axis
{ fAxes = &axes; }
void SetUseKeys(Bool_t useKeys)
 set whether to use kernel estimation to determine the interval
{ fUseKeys = useKeys; }
void SetUseSparseHist(Bool_t useSparseHist)
 set whether to use sparse histogram (if using histogram at all)
{ fUseSparseHist = useSparseHist; }
void SetBins(const RooAbsCollection& coll, Int_t numBins) const