'Number Counting Utils' RooStats tutorial
This tutorial shows an example of the RooStats standalone utilities that calculate the p-value or Z value (eg. significance in 1-sided Gaussian standard deviations) for a number counting experiment. This is a hypothesis test between background only and signal-plus-background. The background estimate has uncertainty derived from an auxiliary or sideband measurement.
Documentation for these utilities can be found here: https://root.cern.ch/doc/master/namespaceNumberCountingUtils.html
This problem is often called a proto-type problem for high energy physics. In some references it is referred to as the on/off problem.
The problem is treated in a fully frequentist fashion by interpreting the relative background uncertainty as being due to an auxiliary or sideband observation that is also Poisson distributed with only background. Finally, one considers the test as a ratio of Poisson means where an interval is well known based on the conditioning on the total number of events and the binomial distribution. For more on this, see
␛šÃW␅
expected p-value =0.00094165 Z value (Gaussian sigma) = 3.10804
observed p-value =0.00094165 Z value (Gaussian sigma) = 3.10804
expected p-value =0.00094165 Z value (Gaussian sigma) = 3.10804
observed p-value =0.00094165 Z value (Gaussian sigma) = 3.10804
#include <iostream>
using std::cout, std::endl;
void rs_numbercountingutils()
{
double sExpected = 50;
double bExpected = 100;
double relativeBkgUncert = 0.1;
cout << "expected p-value =" << pExp << " Z value (Gaussian sigma) = " << zExp << endl;
double observed = 150;
cout << "observed p-value =" << pObs << " Z value (Gaussian sigma) = " << zObs << endl;
double tau = 1;
cout << "expected p-value =" << pExpWithTau << " Z value (Gaussian sigma) = " << zExpWithTau << endl;
cout << "observed p-value =" << pObsWithTau << " Z value (Gaussian sigma) = " << zObsWithTau << endl;
}
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
double BinomialWithTauExpZ(double sExp, double bExp, double tau)
See BinomialWithTauExpP.
double BinomialExpZ(double sExp, double bExp, double fractionalBUncertainty)
Expected P-value for s=nullptr in a ratio of Poisson means.
double BinomialExpP(double sExp, double bExp, double fractionalBUncertainty)
See BinomialExpP.
double BinomialWithTauObsZ(double nObs, double bExp, double tau)
See BinomialWithTauObsP.
double BinomialObsP(double nObs, double, double fractionalBUncertainty)
P-value for s=nullptr in a ratio of Poisson means.
double BinomialWithTauExpP(double sExp, double bExp, double tau)
Expected P-value for s=nullptr in a ratio of Poisson means.
double BinomialWithTauObsP(double nObs, double bExp, double tau)
P-value for s=nullptr in a ratio of Poisson means.
double BinomialObsZ(double nObs, double bExp, double fractionalBUncertainty)
See BinomialObsP.
Namespace for the RooStats classes.
- Author
- Kyle Cranmer
Definition in file rs_numbercountingutils.C.