57void StandardTestStatDistributionDemo(
const char *infile =
"",
const char *workspaceName =
"combined",
58 const char *modelConfigName =
"ModelConfig",
const char *dataName =
"obsData")
65 bool allowNegativeMu =
true;
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;
107 cout <<
"workspace not found" << endl;
120 cout <<
"data or ModelConfig was not found" << endl;
130 double plcUpperLimit = interval->
UpperLimit(*firstPOI);
132 cout <<
"\n\n--------------------------------------" << endl;
133 cout <<
"Will generate sampling distribution at " << firstPOI->
GetName() <<
" = " << plcUpperLimit << endl;
136 cout <<
"not sure what to do with other parameters of interest, but here are their values" << endl;
154 sampler.SetPdf(*mc->
GetPdf());
158 cout <<
"tell it to use 1 event" << endl;
159 sampler.SetNEventsPerToy(1);
161 firstPOI->
setVal(plcUpperLimit);
166 sampler.SetProofConfig(&
pc);
169 firstPOI->
setVal(plcUpperLimit);
173 allParameters.
Print(
"v");
179 Form(
"f(-log #lambda(#mu=%.2f) | #mu=%.2f)", plcUpperLimit, plcUpperLimit));
188 TF1 *
f =
new TF1(
"f",
Form(
"2*ROOT::Math::chisquared_pdf(2*x,%d,0)", nPOI), min, max);
190 c1->SaveAs(
"standard_test_stat_distribution.pdf");
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
RooAbsArg * first() const
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself.
RooAbsData is the common abstract base class for binned and unbinned datasets.
virtual Int_t numEntries() const
Bool_t canBeExtended() const
virtual Double_t getMax(const char *name=0) const
Get maximum of currently defined range.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsCollection &col, Bool_t silent=kFALSE)
Add a collection of arguments to this collection by calling add() for each element in the source coll...
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.
virtual void setVal(Double_t value)
Set value of variable to 'value'.
LikelihoodInterval is a concrete implementation of the RooStats::ConfInterval interface.
Double_t UpperLimit(const RooRealVar ¶m)
return the upper bound of the interval on a given parameter
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
const RooArgSet * GetGlobalObservables() const
get RooArgSet for global observables (return NULL if not existing)
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)
virtual void Print(Option_t *option="") const override
overload the print method
const RooArgSet * GetObservables() const
get RooArgSet for observables (return NULL if not existing)
RooAbsPdf * GetPdf() const
get model PDF (return NULL if pdf has not been specified or does not exist)
The ProfileLikelihoodCalculator is a concrete implementation of CombinedCalculator (the interface cla...
ProfileLikelihoodTestStat is an implementation of the TestStatistic interface that calculates the pro...
Holds configuration options for proof and proof-lite.
This class provides simple and straightforward utilities to plot SamplingDistribution objects.
Double_t AddSamplingDistribution(const SamplingDistribution *samplingDist, Option_t *drawOptions="NORMALIZE HIST")
adds the sampling distribution and returns the scale factor
void Draw(Option_t *options=0)
Draw this plot and all of the elements it contains.
void SetAxisTitle(char *varName)
TH1F * GetTH1F(const SamplingDistribution *samplDist=NULL)
Returns the TH1F associated with the give SamplingDistribution.
This class simply holds a sampling distribution of some test statistic.
const std::vector< Double_t > & GetSamplingDistribution() const
Get test statistics values.
ToyMCSampler is an implementation of the TestStatSampler interface.
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.
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
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.
static constexpr double pc