44void rs_numberCountingCombination_expected();
45void rs_numberCountingCombination_observed();
46void rs_numberCountingCombination_observedWithTau();
50void rs_numberCountingCombination(
int flag = 1)
53 rs_numberCountingCombination_expected();
55 rs_numberCountingCombination_observed();
57 rs_numberCountingCombination_observedWithTau();
61void rs_numberCountingCombination_expected()
86 f.AddModel(s, 2, wspace,
"TopLevelPdf",
"masterSignal");
91 f.AddExpData(s,
b, db, 2, wspace,
"ExpectedNumberCountingData");
116 cout <<
"-------------------------------------------------" << endl;
117 cout <<
"The p-value for the null is " << htr->
NullPValue() << endl;
118 cout <<
"Corresponding to a significance of " << htr->
Significance() << endl;
119 cout <<
"-------------------------------------------------\n\n" << endl;
133 RooArgSet *paramsOfInterest = nullParams;
134 plc.SetParameters(*paramsOfInterest);
145 lrPlot.SetMaximum(3.);
149 cout <<
"lower limit on master signal = " << lower << endl;
150 cout <<
"upper limit on master signal = " << upper << endl;
158 cout <<
"-------------------------------------------------" << endl;
159 std::cout <<
"Consider this parameter point:" << std::endl;
162 std::cout <<
"It IS in the interval." << std::endl;
164 std::cout <<
"It is NOT in the interval." << std::endl;
165 cout <<
"-------------------------------------------------\n\n" << endl;
169 cout <<
"-------------------------------------------------" << endl;
170 std::cout <<
"Consider this parameter point:" << std::endl;
173 std::cout <<
"It IS in the interval." << std::endl;
175 std::cout <<
"It is NOT in the interval." << std::endl;
176 cout <<
"-------------------------------------------------\n\n" << endl;
219void rs_numberCountingCombination_observed()
244 f.AddModel(s, 2, wspace,
"TopLevelPdf",
"masterSignal");
248 Double_t mainMeas[2] = {123., 117.};
249 Double_t bkgMeas[2] = {111.23, 98.76};
251 f.AddData(mainMeas, bkgMeas, dbMeas, 2, wspace,
"ObservedNumberCountingData");
278 cout <<
"-------------------------------------------------" << endl;
279 cout <<
"The p-value for the null is " << htr->
NullPValue() << endl;
280 cout <<
"Corresponding to a significance of " << htr->
Significance() << endl;
281 cout <<
"-------------------------------------------------\n\n" << endl;
295 RooArgSet *paramsOfInterest = nullParams;
296 plc.SetParameters(*paramsOfInterest);
301 cout <<
"lower limit on master signal = " << lrint->
LowerLimit(*mu) << endl;
302 cout <<
"upper limit on master signal = " << lrint->
UpperLimit(*mu) << endl;
311void rs_numberCountingCombination_observedWithTau()
336 f.AddModel(s, 2, wspace,
"TopLevelPdf",
"masterSignal");
340 Double_t mainMeas[2] = {123., 117.};
341 Double_t sideband[2] = {11123., 9876.};
343 f.AddDataWithSideband(mainMeas, sideband, tau, 2, wspace,
"ObservedNumberCountingDataWithSideband");
363 *poi, 0.05, nullParams);
367 cout <<
"-------------------------------------------------" << endl;
368 cout <<
"The p-value for the null is " << htr->
NullPValue() << endl;
369 cout <<
"Corresponding to a significance of " << htr->
Significance() << endl;
370 cout <<
"-------------------------------------------------\n\n" << endl;
384 RooArgSet *paramsOfInterest = nullParams;
385 plc.SetParameters(*paramsOfInterest);
390 cout <<
"lower limit on master signal = " << lrint->
LowerLimit(*mu) << endl;
391 cout <<
"upper limit on master signal = " << lrint->
UpperLimit(*mu) << endl;
void Print(Option_t *options=nullptr) const override
Print the object to the defaultPrintStream().
RooAbsArg * first() const
bool setRealValue(const char *name, double newVal=0.0, bool verbose=false)
Set value of a RooAbsRealLValye stored in set with given name to newVal No error messages are printed...
virtual RooAbsArg * addClone(const RooAbsArg &var, bool silent=false)
Add a clone of the specified argument to list.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
RooRealVar represents a variable that can be changed from the outside.
HypoTestResult is a base class for results from hypothesis tests.
virtual double Significance() const
familiar name for the Null p-value in terms of 1-sided Gaussian significance
virtual double NullPValue() const
Return p-value for null hypothesis.
This class provides simple and straightforward utilities to plot a LikelihoodInterval object.
LikelihoodInterval is a concrete implementation of the RooStats::ConfInterval interface.
double UpperLimit(const RooRealVar ¶m)
return the upper bound of the interval on a given parameter
void SetConfidenceLevel(double cl) override
set the confidence level for the interval (e.g 0.682 for a 1-sigma interval)
double LowerLimit(const RooRealVar ¶m)
return the lower bound of the interval on a given parameter
bool IsInInterval(const RooArgSet &) const override
check if given point is in the interval
A factory for building PDFs and data for a number counting combination.
The ProfileLikelihoodCalculator is a concrete implementation of CombinedCalculator (the interface cla...
The RooWorkspace is a persistable container for RooFit projects.
RooAbsPdf * pdf(RooStringView name) const
Retrieve p.d.f (RooAbsPdf) with given name. A null pointer is returned if not found.
RooRealVar * var(RooStringView name) const
Retrieve real-valued variable (RooRealVar) with given name. A null pointer is returned if not found.
RooAbsData * data(RooStringView name) const
Retrieve dataset (binned or unbinned) with given name. A null pointer is returned if not found.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Namespace for the RooStats classes.