A++ » ROOSTATS » RooStats::MCMCInterval

class RooStats::MCMCInterval: public RooStats::ConfInterval

Function Members (Methods)

public:
virtual~MCMCInterval()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tCheckParameters(const RooArgSet& point) const
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
RooStats::ConfIntervalRooStats::ConfInterval::ConfInterval(const char* name = 0)
RooStats::ConfIntervalRooStats::ConfInterval::ConfInterval(const RooStats::ConfInterval&)
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 Double_tGetActualConfidenceLevel()
virtual RooArgList*GetAxes()
virtual const RooStats::MarkovChain*GetChain()
virtual const RooDataSet*GetChainAsConstDataSet()
virtual RooDataHist*GetChainAsDataHist(RooArgSet* whichVars = __null)
virtual RooDataSet*GetChainAsDataSet(RooArgSet* whichVars = __null)
virtual THnSparse*GetChainAsSparseHist(RooArgSet* whichVars = __null)
virtual Int_tGetDimension() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tGetHistCutoff()
virtual const char*TObject::GetIconName() const
virtual enum IntervalTypeGetIntervalType()
Double_tGetKeysMax()
virtual Double_tGetKeysPdfCutoff()
virtual const char*TNamed::GetName() const
virtual RooRealVar*GetNLLVar() const
virtual Int_tGetNumBurnInSteps()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual RooArgSet*GetParameters() const
virtual TH1*GetPosteriorHist()
virtual RooNDKeysPdf*GetPosteriorKeysPdf()
virtual RooProduct*GetPosteriorKeysProduct()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tGetUseKeys()
virtual RooRealVar*GetWeightVar() 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
virtual Bool_tIsInInterval(const RooArgSet& point) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Double_tLowerLimit(RooRealVar& param)
virtual Double_tLowerLimitByDataHist(RooRealVar& param)
virtual Double_tLowerLimitByHist(RooRealVar& param)
virtual Double_tLowerLimitByKeys(RooRealVar& param)
virtual Double_tLowerLimitBySparseHist(RooRealVar& param)
virtual Double_tLowerLimitShortest(RooRealVar& param)
virtual Double_tLowerLimitTailFraction(RooRealVar& param)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
RooStats::MCMCIntervalMCMCInterval(const char* name = 0)
RooStats::MCMCIntervalMCMCInterval(const RooStats::MCMCInterval&)
RooStats::MCMCIntervalMCMCInterval(const char* name, const RooArgSet& parameters, RooStats::MarkovChain& chain)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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::MCMCInterval&operator=(const RooStats::MCMCInterval&)
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(ostream& out, Option_t* option = "")
virtual voidSetAxes(RooArgList& axes)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetChain(RooStats::MarkovChain& chain)
virtual voidSetConfidenceLevel(Double_t cl)
virtual voidSetDelta(Double_t delta)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEpsilon(Double_t epsilon)
virtual voidSetHistStrict(Bool_t isHistStrict)
virtual voidSetIntervalType(enum IntervalType intervalType)
virtual voidSetLeftSideTailFraction(Double_t a)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidSetNumBurnInSteps(Int_t numBurnInSteps)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetParameters(const RooArgSet& parameters)
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) const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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 Double_tUpperLimit(RooRealVar& param)
virtual Double_tUpperLimitByDataHist(RooRealVar& param)
virtual Double_tUpperLimitByHist(RooRealVar& param)
virtual Double_tUpperLimitByKeys(RooRealVar& param)
virtual Double_tUpperLimitBySparseHist(RooRealVar& param)
virtual Double_tUpperLimitShortest(RooRealVar& param)
virtual Double_tUpperLimitTailFraction(RooRealVar& param)
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 Double_tCalcConfLevel(Double_t cutoff, Double_t full)
virtual voidCreateDataHist()
virtual voidCreateHist()
virtual voidCreateKeysDataHist()
virtual voidCreateKeysPdf()
virtual voidCreateSparseHist()
virtual voidCreateVector(RooRealVar* param)
virtual voidDetermineByDataHist()
virtual voidDetermineByHist()
virtual voidDetermineByKeys()
virtual voidDetermineBySparseHist()
virtual voidDetermineInterval()
virtual voidDetermineShortestInterval()
virtual voidDetermineTailFractionInterval()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
static RooStats::MCMCInterval::(anonymous)DEFAULT_NUM_BINS
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static RooStats::MCMCInterval::IntervalTypekShortest
static TObject::(anonymous)TObject::kSingleKey
static RooStats::MCMCInterval::IntervalTypekTailFraction
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
RooRealVar**fAxesarray of pointers to RooRealVars representing
RooStats::MarkovChain*fChainthe markov chain
Double_tfConfidenceLevelRequested confidence level (eg. 0.95 for 95% CL)
RooRealVar*fCutoffVarcutoff variable to use for integrating keys pdf
RooDataHist*fDataHistthe binned Markov Chain data
Double_tfDeltatopCutoff (a) considered == bottomCutoff (b) iff
Int_tfDimensionnumber of variables
Double_tfEpsilonacceptable error for Keys interval determination
Double_tfFullValue of intergral of fProduct
RooStats::Heaviside*fHeavisidethe Heaviside function
TH1*fHistthe binned Markov Chain data
Double_tfHistConfLevelthe actual conf level determined by hist
Double_tfHistCutoffcutoff bin size to be in interval
enum IntervalTypefIntervalType
Bool_tfIsHistStrictwhether the specified confidence level is a
Double_tfKeysConfLevelthe actual conf level determined by keys
Double_tfKeysCutoffcutoff keys pdf value to be in interval
RooDataHist*fKeysDataHistdata hist representing product
RooNDKeysPdf*fKeysPdfthe kernel estimation pdf
Double_tfLeftSideTFleft side tail-fraction for interval
TStringTNamed::fNameobject identifier
Int_tfNumBurnInStepsnumber of steps to discard as burn in, starting
RooArgSetfParametersparameters of interest for this interval
RooProduct*fProductthe (keysPdf * heaviside) product
THnSparse*fSparseHistthe binned Markov Chain data
Double_tfTFConfLevelthe actual conf level of tail-fraction interval
Double_tfTFLowerlower limit of the tail-fraction interval
Double_tfTFUpperupper limit of the tail-fraction interval
TStringTNamed::fTitleobject title
Bool_tfUseKeyswhether to use kernel estimation
Bool_tfUseSparseHistwhether to use sparse hist (vs. RooDataHist)
Double_tfVecWeightsum of weights of all entries in fVector
vector<Int_t>fVectorvector containing the Markov chain data

Class Charts

Inheritance Chart:
TObject
TNamed
RooStats::ConfInterval
RooStats::MCMCInterval

Function documentation

explicit MCMCInterval(const char* name = 0)
 default constructor
MCMCInterval(const char* name, const RooArgSet& parameters, RooStats::MarkovChain& chain)
 constructor from parameter of interest and Markov chain object
virtual ~MCMCInterval()
Bool_t IsInInterval(const RooArgSet& point) const
 determine whether this point is in the confidence interval
void SetConfidenceLevel(Double_t cl)
 set the desired confidence level (see GetActualConfidenceLevel())
 Note: calling this function triggers the algorithm that determines
 the interval, so call this after initializing all other aspects
 of this IntervalCalculator
 Also, calling this function again with a different confidence level
 retriggers the calculation of the interval
Double_t ConfidenceLevel() const
 get the desired confidence level (see GetActualConfidenceLevel())
RooArgSet* GetParameters() const
 return a set containing the parameters of this interval
 the caller owns the returned RooArgSet*
Double_t GetHistCutoff()
 get the cutoff bin height for being considered in the
 confidence interval
Double_t GetKeysPdfCutoff()
 get the cutoff RooNDKeysPdf value for being considered in the
 confidence interval
Double_t GetActualConfidenceLevel()
virtual Double_t GetKeysPdfCutoff() { return fKeysCutoff; }
 get the actual value of the confidence level for this interval.
void SetHistStrict(Bool_t isHistStrict)
 whether the specified confidence level is a floor for the actual
 confidence level (strict), or a ceiling (not strict)
{ fIsHistStrict = isHistStrict; }
Bool_t CheckParameters(const RooArgSet& point) const
 check if parameters are correct. (dummy implementation to start)
void SetParameters(const RooArgSet& parameters)
 Set the parameters of interest for this interval
 and change other internal data members accordingly
void SetChain(RooStats::MarkovChain& chain)
 Set the MarkovChain that this interval is based on
{ fChain = &chain; }
void SetAxes(RooArgList& axes)
 Set which parameters go on which axis.  The first list element
 goes on the x axis, second (if it exists) on y, third (if it
 exists) on z, etc
RooArgList* GetAxes()
 return a list of RooRealVars representing the axes
 you own the returned RooArgList
Double_t LowerLimit(RooRealVar& param)
 get the lowest value of param that is within the confidence interval
Double_t LowerLimitTailFraction(RooRealVar& param)
 determine lower limit of the lower confidence interval
Double_t LowerLimitShortest(RooRealVar& param)
 get the lower limit of param in the shortest confidence interval
 Note that this works better for some distributions (ones with exactly
 one maximum) than others, and sometimes has little value.
Double_t LowerLimitByKeys(RooRealVar& param)
 determine lower limit in the shortest interval by using keys pdf
Double_t LowerLimitByHist(RooRealVar& param)
 determine lower limit using histogram
Double_t LowerLimitBySparseHist(RooRealVar& param)
 determine lower limit using histogram
Double_t LowerLimitByDataHist(RooRealVar& param)
 determine lower limit using histogram
Double_t UpperLimit(RooRealVar& param)
 get the highest value of param that is within the confidence interval
Double_t UpperLimitTailFraction(RooRealVar& param)
 determine upper limit of the lower confidence interval
Double_t UpperLimitShortest(RooRealVar& param)
 get the upper limit of param in the confidence interval
 Note that this works better for some distributions (ones with exactly
 one maximum) than others, and sometimes has little value.
Double_t UpperLimitByKeys(RooRealVar& param)
 determine upper limit in the shortest interval by using keys pdf
Double_t UpperLimitByHist(RooRealVar& param)
 determine upper limit using histogram
Double_t UpperLimitBySparseHist(RooRealVar& param)
 determine upper limit using histogram
Double_t UpperLimitByDataHist(RooRealVar& param)
 determine upper limit using histogram
Double_t GetKeysMax()
 Determine the approximate maximum value of the Keys PDF
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 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 a sparse histogram.  you MUST also call
 SetUseKeys(kFALSE) to use a histogram.
{ fUseSparseHist = useSparseHist; }
Bool_t GetUseKeys()
 get whether we used kernel estimation to determine the interval
{ return fUseKeys; }
Int_t GetNumBurnInSteps()
 get the number of steps in the chain to disard as burn-in,
 get the number of steps in the chain to disard as burn-in,
 starting from the first
{ return fNumBurnInSteps; }
TH1* GetPosteriorHist()
 set the number of bins to use (same for all axes, for now)
virtual void SetNumBins(Int_t numBins);
 Get a clone of the histogram of the posterior
RooNDKeysPdf* GetPosteriorKeysPdf()
 Get a clone of the keys pdf of the posterior
RooProduct* GetPosteriorKeysProduct()
 Get a clone of the (keyspdf * heaviside) product of the posterior
Int_t GetDimension() const
 Get the number of parameters of interest in this interval
{ return fDimension; }
const MarkovChain* GetChain()
 Get the markov chain on which this interval is based
 You do not own the returned MarkovChain*
{ return fChain; }
RooDataSet* GetChainAsDataSet(RooArgSet* whichVars = __null)
 Get a clone of the markov chain on which this interval is based
 as a RooDataSet.  You own the returned RooDataSet*
{ return fChain->GetAsDataSet(whichVars); }
const RooDataSet* GetChainAsConstDataSet()
 Get the markov chain on which this interval is based
 as a RooDataSet.  You do not own the returned RooDataSet*
{ return fChain->GetAsConstDataSet(); }
RooDataHist* GetChainAsDataHist(RooArgSet* whichVars = __null)
 Get a clone of the markov chain on which this interval is based
 as a RooDataHist.  You own the returned RooDataHist*
{ return fChain->GetAsDataHist(whichVars); }
THnSparse* GetChainAsSparseHist(RooArgSet* whichVars = __null)
 Get a clone of the markov chain on which this interval is based
 as a THnSparse.  You own the returned THnSparse*
{ return fChain->GetAsSparseHist(whichVars); }
RooRealVar* GetNLLVar() const
 Get a clone of the NLL variable from the markov chain
{ return fChain->GetNLLVar(); }
RooRealVar* GetWeightVar() const
 Get a clone of the weight variable from the markov chain
{ return fChain->GetWeightVar(); }
void SetEpsilon(Double_t epsilon)
 set the acceptable level or error for Keys interval determination
void SetIntervalType(enum IntervalType intervalType)
 Set the type of interval to find.  This will only have an effect for
 1-D intervals.  If is more than 1 parameter of interest, then a
 "shortest" interval will always be used, since it generalizes directly
 to N dimensions
{ fIntervalType = intervalType; }
enum IntervalType GetIntervalType()
 Return the type of this interval
{ return fIntervalType; }
void SetLeftSideTailFraction(Double_t a)
 set the left-side tail fraction for a tail-fraction interval
{ fLeftSideTF = a; }
void SetDelta(Double_t delta)
 kbelasco: The inner-workings of the class really should not be exposed
 like this in a comment, but it seems to be the only way to give
 the user any control over this process, if they desire it

 Set the fraction delta such that
 topCutoff (a) is considered == bottomCutoff (b) iff
 (TMath::Abs(a - b) < TMath::Abs(fDelta * (a + b)/2))
 when determining the confidence interval by Keys
Bool_t AcceptableConfLevel(Double_t confLevel)
Bool_t WithinDeltaFraction(Double_t a, Double_t b)
void DetermineInterval()
 functions
void DetermineShortestInterval()
void DetermineTailFractionInterval()
void DetermineByHist()
void DetermineBySparseHist()
void DetermineByDataHist()
void DetermineByKeys()
void CreateHist()
void CreateSparseHist()
void CreateDataHist()
void CreateKeysPdf()
void CreateKeysDataHist()
void CreateVector(RooRealVar* param)
Double_t CalcConfLevel(Double_t cutoff, Double_t full)