NeymanConstruction is a concrete implementation of the NeymanConstruction interface that, as the name suggests, performs a NeymanConstruction.
It produces a RooStats::PointSetInterval, which is a concrete implementation of the ConfInterval interface.
The Neyman Construction is not a uniquely defined statistical technique, it requires that one specify an ordering rule or ordering principle, which is usually incoded by choosing a specific test statistic and limits of integration (corresponding to upper/lower/central limits). As a result, this class must be configured with the corresponding information before it can produce an interval. Common configurations, such as the Feldman-Cousins approach, can be enforced by other light weight classes.
The Neyman Construction considers every point in the parameter space independently, no assumptions are made that the interval is connected or of a particular shape. As a result, the PointSetInterval class is used to represent the result. The user indicate which points in the parameter space to perform the construction by providing a PointSetInterval instance with the desired points.
This class is fairly light weight, because the choice of parameter points to be considered is factorized and so is the creation of the sampling distribution of the test statistic (which is done by a concrete class implementing the DistributionCreator interface). As a result, this class basically just drives the construction by:
Definition at line 36 of file NeymanConstruction.h.
Public Member Functions | |
NeymanConstruction (RooAbsData &data, ModelConfig &model) | |
NeymanConstruction();. | |
~NeymanConstruction () override | |
default constructor if(fOwnsWorkspace && fWS) delete fWS; if(fConfBelt) delete fConfBelt; | |
void | AdditionalNToysFactor (double fact) |
give user ability to ask for more toys | |
double | ConfidenceLevel () const override |
Get the Confidence level for the test. | |
void | CreateConfBelt (bool flag=true) |
should create confidence belt | |
ConfidenceBelt * | GetConfidenceBelt () |
Get confidence belt. This requires that CreateConfBelt() has been called. | |
PointSetInterval * | GetInterval () const override |
Main interface to get a ConfInterval (will be a PointSetInterval) | |
TestStatSampler * | GetTestStatSampler (void) |
Returns instance of TestStatSampler. | |
TClass * | IsA () const override |
void | SaveBeltToFile (bool flag=true) |
save the confidence belt to a file | |
void | SetConfidenceLevel (double cl) override |
set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval) | |
void | SetData (RooAbsData &data) override |
Set the DataSet. | |
void | SetLeftSideTailFraction (double leftSideFraction=0.) |
fLeftSideTailFraction*fSize defines lower edge of acceptance region. | |
void | SetModel (const ModelConfig &model) override |
Set ModelConfig. | |
void | SetParameterPointsToTest (RooAbsData &pointsToTest) |
User-defined set of points to test. | |
void | SetTestSize (double size) override |
set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval) | |
void | SetTestStatSampler (TestStatSampler &sampler) |
in addition to interface we also need: Set the TestStatSampler (eg. | |
double | Size () const override |
This class can make regularly spaced scans based on range stored in RooRealVars. | |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | UseAdaptiveSampling (bool flag=true) |
adaptive sampling algorithm to speed up interval calculation | |
Public Member Functions inherited from RooStats::IntervalCalculator | |
virtual | ~IntervalCalculator () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from RooStats::IntervalCalculator | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Private Attributes | |
bool | fAdaptiveSampling |
controls use of adaptive sampling algorithm | |
double | fAdditionalNToysFactor |
give user ability to ask for more toys | |
ConfidenceBelt * | fConfBelt |
bool | fCreateBelt |
controls use if ConfidenceBelt should be saved to a TFile | |
RooAbsData & | fData |
data set | |
double | fLeftSideFraction |
ModelConfig & | fModel |
RooAbsData * | fPointsToTest |
bool | fSaveBeltToFile |
controls use if ConfidenceBelt should be saved to a TFile | |
double | fSize |
size of the test (eg. specified rate of Type I error) | |
TestStatSampler * | fTestStatSampler |
#include <RooStats/NeymanConstruction.h>
NeymanConstruction::NeymanConstruction | ( | RooAbsData & | data, |
ModelConfig & | model | ||
) |
|
override |
default constructor if(fOwnsWorkspace && fWS) delete fWS; if(fConfBelt) delete fConfBelt;
Definition at line 104 of file NeymanConstruction.cxx.
|
inline |
give user ability to ask for more toys
Definition at line 92 of file NeymanConstruction.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 123 of file NeymanConstruction.h.
|
inlineoverridevirtual |
Get the Confidence level for the test.
Implements RooStats::IntervalCalculator.
Definition at line 72 of file NeymanConstruction.h.
|
inline |
should create confidence belt
Definition at line 100 of file NeymanConstruction.h.
|
inlinestatic |
Definition at line 123 of file NeymanConstruction.h.
|
inline |
Get confidence belt. This requires that CreateConfBelt() has been called.
Definition at line 86 of file NeymanConstruction.h.
|
overridevirtual |
Main interface to get a ConfInterval (will be a PointSetInterval)
Main interface to get a RooStats::ConfInterval.
It constructs a RooStats::SetInterval.
Implements RooStats::IntervalCalculator.
Definition at line 111 of file NeymanConstruction.cxx.
|
inline |
Returns instance of TestStatSampler.
Use to change properties of TestStatSampler, e.g. GetTestStatSampler.SetTestSize(double size);
Definition at line 104 of file NeymanConstruction.h.
|
inlineoverridevirtual |
Reimplemented from RooStats::IntervalCalculator.
Definition at line 123 of file NeymanConstruction.h.
|
inline |
save the confidence belt to a file
Definition at line 95 of file NeymanConstruction.h.
|
inlineoverridevirtual |
set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
Implements RooStats::IntervalCalculator.
Definition at line 83 of file NeymanConstruction.h.
|
inlineoverridevirtual |
Set the DataSet.
Implements RooStats::IntervalCalculator.
Definition at line 78 of file NeymanConstruction.h.
|
inline |
fLeftSideTailFraction*fSize defines lower edge of acceptance region.
Unified limits use 0, central limits use 0.5, for upper/lower limits it is 0/1 depends on sign of test statistic w.r.t. parameter
Definition at line 54 of file NeymanConstruction.h.
|
inlineoverridevirtual |
Set ModelConfig.
Implements RooStats::IntervalCalculator.
Definition at line 75 of file NeymanConstruction.h.
|
inline |
User-defined set of points to test.
Definition at line 57 of file NeymanConstruction.h.
|
inlineoverridevirtual |
set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
Implements RooStats::IntervalCalculator.
Definition at line 81 of file NeymanConstruction.h.
|
inline |
in addition to interface we also need: Set the TestStatSampler (eg.
ToyMC or FFT, includes choice of TestStatistic)
Definition at line 50 of file NeymanConstruction.h.
|
inlineoverridevirtual |
This class can make regularly spaced scans based on range stored in RooRealVars.
Choose number of steps for a rastor scan (common for each dimension) void SetNumSteps(Int_t); This class can make regularly spaced scans based on range stored in RooRealVars. Choose number of steps for a rastor scan (specific for each dimension) void SetNumSteps(std::map<RooAbsArg, Int_t>) Get the size of the test (eg. rate of Type I error)
Implements RooStats::IntervalCalculator.
Definition at line 69 of file NeymanConstruction.h.
|
overridevirtual |
Reimplemented from RooStats::IntervalCalculator.
|
inline |
Definition at line 123 of file NeymanConstruction.h.
|
inline |
adaptive sampling algorithm to speed up interval calculation
Definition at line 89 of file NeymanConstruction.h.
|
private |
controls use of adaptive sampling algorithm
Definition at line 117 of file NeymanConstruction.h.
|
private |
give user ability to ask for more toys
Definition at line 118 of file NeymanConstruction.h.
|
private |
Definition at line 116 of file NeymanConstruction.h.
|
private |
controls use if ConfidenceBelt should be saved to a TFile
Definition at line 120 of file NeymanConstruction.h.
|
private |
data set
Definition at line 110 of file NeymanConstruction.h.
|
private |
Definition at line 115 of file NeymanConstruction.h.
|
private |
Definition at line 111 of file NeymanConstruction.h.
|
private |
Definition at line 114 of file NeymanConstruction.h.
|
private |
controls use if ConfidenceBelt should be saved to a TFile
Definition at line 119 of file NeymanConstruction.h.
|
private |
size of the test (eg. specified rate of Type I error)
Definition at line 109 of file NeymanConstruction.h.
|
private |
Definition at line 113 of file NeymanConstruction.h.