50struct BayesianMCMCOptions {
52 double confLevel = 0.95;
56 int numIters = 100000;
57 int numBurnInSteps = 100;
60BayesianMCMCOptions optMCMC;
62void StandardBayesianMCMCDemo(
const char *infile =
"",
const char *workspaceName =
"combined",
63 const char *modelConfigName =
"ModelConfig",
const char *dataName =
"obsData")
70 const char *filename =
"";
71 if (!strcmp(infile,
"")) {
72 filename =
"results/example_combined_GaussExample_model.root";
77 cout <<
"HistFactory file cannot be generated on Windows - exit" << endl;
81 cout <<
"will run standard hist2workspace example" << endl;
82 gROOT->ProcessLine(
".! prepareHistFactory .");
83 gROOT->ProcessLine(
".! hist2workspace config/example.xml");
84 cout <<
"\n\n---------------------" << endl;
85 cout <<
"Done creating example input" << endl;
86 cout <<
"---------------------\n\n" << endl;
97 cout <<
"StandardRooStatsDemoMacro: Input file " << filename <<
" is not found" << endl;
108 cout <<
"workspace not found" << endl;
121 cout <<
"data or ModelConfig was not found" << endl;
147 mcmc.SetConfidenceLevel(optMCMC.confLevel);
149 mcmc.SetProposalFunction(sp);
150 mcmc.SetNumIters(optMCMC.numIters);
151 mcmc.SetNumBurnInSteps(optMCMC.numBurnInSteps);
154 if (optMCMC.intervalType == 0)
155 mcmc.SetIntervalType(MCMCInterval::kShortest);
156 if (optMCMC.intervalType == 1)
157 mcmc.SetLeftSideTailFraction(0.5);
158 if (optMCMC.intervalType == 2)
159 mcmc.SetLeftSideTailFraction(0.);
162 if (optMCMC.minPOI != -999)
163 firstPOI->
setMin(optMCMC.minPOI);
164 if (optMCMC.maxPOI != -999)
165 firstPOI->
setMax(optMCMC.maxPOI);
190 plot.DrawChainScatter(*firstPOI, *nuis);
194 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
TIterator-style iteration over contained elements.
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 variable that can be changed from the outside.
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)
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, 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.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Namespace for the RooStats classes.
Int_t CeilNint(Double_t x)