51struct BayesianMCMCOptions {
53 double confLevel = 0.95;
57 int numIters = 100000;
58 int numBurnInSteps = 100;
61BayesianMCMCOptions optMCMC;
63void StandardBayesianMCMCDemo(
const char* infile =
"",
64 const char* workspaceName =
"combined",
65 const char* modelConfigName =
"ModelConfig",
66 const char* dataName =
"obsData"){
74 const char* filename =
"";
75 if (!strcmp(infile,
"")) {
76 filename =
"results/example_combined_GaussExample_model.root";
81 cout <<
"HistFactory file cannot be generated on Windows - exit" << endl;
85 cout <<
"will run standard hist2workspace example"<<endl;
86 gROOT->ProcessLine(
".! prepareHistFactory .");
87 gROOT->ProcessLine(
".! hist2workspace config/example.xml");
88 cout <<
"\n\n---------------------"<<endl;
89 cout <<
"Done creating example input"<<endl;
90 cout <<
"---------------------\n\n"<<endl;
102 cout <<
"StandardRooStatsDemoMacro: Input file " << filename <<
" is not found" << endl;
115 cout <<
"workspace not found" << endl;
128 cout <<
"data or ModelConfig was not found" <<endl;
154 mcmc.SetConfidenceLevel(optMCMC.confLevel);
156 mcmc.SetProposalFunction(sp);
157 mcmc.SetNumIters(optMCMC.numIters);
158 mcmc.SetNumBurnInSteps(optMCMC.numBurnInSteps);
161 if (optMCMC.intervalType == 0) mcmc.SetIntervalType(MCMCInterval::kShortest);
162 if (optMCMC.intervalType == 1) mcmc.SetLeftSideTailFraction(0.5);
163 if (optMCMC.intervalType == 2) mcmc.SetLeftSideTailFraction(0.);
166 if (optMCMC.minPOI != -999)
167 firstPOI->
setMin(optMCMC.minPOI);
168 if (optMCMC.maxPOI != -999)
169 firstPOI->
setMax(optMCMC.maxPOI);
194 plot.DrawChainScatter(*firstPOI,*nuis);
198 cout <<
"\n>>>> RESULT : " << optMCMC.confLevel*100 <<
"% interval on " <<firstPOI->
GetName()<<
" is : ["<<
R__EXTERN TSystem * gSystem
RooAbsArg * first() const
TIterator * createIterator(Bool_t dir=kIterForward) const
RooAbsData is the common abstract base class for binned and unbinned datasets.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooRealVar represents a fundamental (non-derived) real valued object.
void setMin(const char *name, Double_t value)
Set minimum of name range to given value.
void setMax(const char *name, Double_t value)
Set maximum of name range to given value.
Bayesian Calculator estimating an interval or a credible region using the Markov-Chain Monte Carlo me...
This class provides simple and straightforward utilities to plot a MCMCInterval object.
MCMCInterval is a concrete implementation of the RooStats::ConfInterval interface.
virtual Double_t UpperLimit(RooRealVar ¶m)
get the highest value of param that is within the confidence interval
virtual Double_t LowerLimit(RooRealVar ¶m)
get the lowest value of param that is within the confidence interval
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
const RooArgSet * GetParametersOfInterest() const
get RooArgSet containing the parameter of interest (return NULL if not existing)
const RooArgSet * GetNuisanceParameters() const
get RooArgSet containing the nuisance parameters (return NULL if not existing)
Class implementing a proposal function that samples the parameter space by moving only in one coordin...
The RooWorkspace is a persistable container for RooFit projects.
RooAbsData * data(const char *name) const
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
void Print(Option_t *opts=0) const
Print contents of the workspace.
TObject * obj(const char *name) const
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name)
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
Create / open a file.
Iterator abstract base class.
virtual TObject * Next()=0
virtual const char * GetName() const
Returns name of object.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
@(#)root/roostats:$Id$ Author: George Lewis, Kyle Cranmer
Int_t CeilNint(Double_t x)