12 #ifndef RooStats_MCMCInterval
13 #define RooStats_MCMCInterval
19 #ifndef ROOSTATS_ConfInterval
28 #ifndef ROOSTATS_MarkovChain
88 class MCMCInterval :
public ConfInterval {
94 explicit MCMCInterval(
const char*
name = 0);
100 enum {DEFAULT_NUM_BINS = 50};
101 enum IntervalType {kShortest, kTailFraction};
103 virtual ~MCMCInterval();
114 virtual void SetConfidenceLevel(
Double_t cl);
117 virtual Double_t ConfidenceLevel()
const {
return fConfidenceLevel;}
129 virtual Double_t GetKeysPdfCutoff();
133 virtual Double_t GetActualConfidenceLevel();
137 virtual void SetHistStrict(
Bool_t isHistStrict)
138 { fIsHistStrict = isHistStrict; }
148 virtual void SetChain(MarkovChain&
chain) { fChain = &
chain; }
160 for (
Int_t i = 0; i < fDimension; i++)
216 virtual void SetNumBurnInSteps(
Int_t numBurnInSteps)
217 { fNumBurnInSteps = numBurnInSteps; }
220 virtual void SetUseKeys(
Bool_t useKeys) { fUseKeys = useKeys; }
224 virtual void SetUseSparseHist(
Bool_t useSparseHist)
225 { fUseSparseHist = useSparseHist; }
228 virtual Bool_t GetUseKeys() {
return fUseKeys; }
234 virtual Int_t GetNumBurnInSteps() {
return fNumBurnInSteps; }
240 virtual TH1* GetPosteriorHist();
246 virtual RooProduct* GetPosteriorKeysProduct();
253 virtual const MarkovChain* GetChain() {
return fChain; }
258 {
return fChain->GetAsDataSet(whichVars); }
262 virtual const RooDataSet* GetChainAsConstDataSet()
263 {
return fChain->GetAsConstDataSet(); }
268 {
return fChain->GetAsDataHist(whichVars); }
273 {
return fChain->GetAsSparseHist(whichVars); }
277 {
return fChain->GetNLLVar(); }
281 {
return fChain->GetWeightVar(); }
288 <<
"negative epsilon value" << std::endl;
297 virtual void SetIntervalType(
enum IntervalType
intervalType)
301 virtual enum IntervalType GetIntervalType() {
return fIntervalType; }
304 virtual void SetLeftSideTailFraction(
Double_t a) { fLeftSideTF =
a; }
314 virtual void SetDelta(
Double_t delta)
318 <<
"negative delta value" << std::endl;
340 Heaviside* fHeaviside;
349 std::vector<Int_t> fVector;
363 Int_t fNumBurnInSteps;
377 enum IntervalType fIntervalType;
381 virtual void DetermineInterval();
382 virtual void DetermineShortestInterval();
383 virtual void DetermineTailFractionInterval();
384 virtual void DetermineByHist();
385 virtual void DetermineBySparseHist();
386 virtual void DetermineByDataHist();
387 virtual void DetermineByKeys();
388 virtual void CreateHist();
389 virtual void CreateSparseHist();
390 virtual void CreateDataHist();
391 virtual void CreateKeysPdf();
392 virtual void CreateKeysDataHist();
virtual RooAbsArg * addClone(const RooAbsArg &var, Bool_t silent=kFALSE)
Add a clone of the specified argument to list.
void SetParameters(const RooArgSet *desiredVals, RooArgSet *paramsToChange)
RooDataSet is a container class to hold N-dimensional binned data.
#define ClassDef(name, id)
Efficient multidimensional histogram.
int GetDimension(const TH1 *h1)
RooRealVar represents a fundamental (non-derived) real valued object.
void GetParameters(TFitEditor::FuncParams_t &pars, TF1 *func)
Stores the parameters of the given function into pars.
RooDataSet is a container class to hold unbinned data.
Generic N-dimensional implementation of a kernel estimation p.d.f.
RooProduct a RooAbsReal implementation that represent the product of a given set of other RooAbsReal ...