The FeldmanCousins class (like the Feldman-Cousins technique) is essentially a specific configuration of the more general NeymanConstruction.
It is a concrete implementation of the IntervalCalculator interface that, which uses the NeymanConstruction in a particular way. As the name suggests, it returns a ConfidenceInterval. In particular, 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 encoded 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.
In the case of the Feldman-Cousins approach, the ordering principle is the likelihood ratio – motivated by the Neyman-Pearson lemma. When nuisance parameters are involved, the profile likelihood ratio is the natural generalization. One may either choose to perform the construction over the full space of the nuisance parameters, or restrict the nuisance parameters to their conditional MLE (eg. profiled values).
Definition at line 33 of file FeldmanCousins.h.
Public Member Functions | |
FeldmanCousins (RooAbsData &data, ModelConfig &model) | |
Common constructor. | |
~FeldmanCousins () override | |
destructor | |
void | AdditionalNToysFactor (double fact) |
double | ConfidenceLevel () const override |
Get the Confidence level for the test. | |
void | CreateConfBelt (bool flag=true) |
void | FluctuateNumDataEntries (bool flag=true) |
ConfidenceBelt * | GetConfidenceBelt () |
Get the confidence belt. This requires that CreateConfBelt() has been set. | |
PointSetInterval * | GetInterval () const override |
Main interface to get a ConfInterval (will be a PointSetInterval) | |
RooAbsData * | GetPointsToScan () |
TestStatSampler * | GetTestStatSampler () const |
Returns instance of TestStatSampler. | |
TClass * | IsA () const override |
void | SaveBeltToFile (bool flag=true) |
void | SetConfidenceLevel (double cl) override |
set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval) | |
void | SetData (RooAbsData &) override |
Set the DataSet. | |
void | SetModel (const ModelConfig &) override |
set the model | |
void | SetNBins (Int_t bins) |
virtual void | SetNuisanceParameters (const RooArgSet &) |
specify the nuisance parameters (eg. the rest of the parameters) | |
void | SetParameterPointsToTest (RooAbsData &pointsToTest) |
User-defined set of points to test. | |
virtual void | SetParameters (const RooArgSet &) |
specify the parameters of interest in the interval | |
virtual void | SetPdf (RooAbsPdf &) |
Set the Pdf. | |
void | SetPOIPointsToTest (RooAbsData &poiToTest) |
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) | |
double | Size () const override |
Get the size of the test (eg. rate of Type I error) | |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | UseAdaptiveSampling (bool flag=true) |
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 Member Functions | |
void | CreateParameterPoints () const |
initializes fPointsToTest data member (mutable) | |
void | CreateTestStatSampler () const |
initializes fTestStatSampler data member (mutable) | |
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 | |
bool | fDoProfileConstruction |
instead of full construction over nuisance parameters, do profile | |
bool | fFluctuateData |
tell ToyMCSampler to fluctuate number of entries in dataset | |
ModelConfig & | fModel |
Int_t | fNbins |
number of samples per variable | |
RooAbsData * | fPointsToTest |
points to perform the construction | |
RooAbsData * | fPOIToTest |
value of POI points to perform the construction | |
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) | |
ToyMCSampler * | fTestStatSampler |
the test statistic sampler | |
#include <RooStats/FeldmanCousins.h>
FeldmanCousins::FeldmanCousins | ( | RooAbsData & | data, |
ModelConfig & | model | ||
) |
|
override |
destructor
Definition at line 86 of file FeldmanCousins.cxx.
|
inline |
Definition at line 95 of file FeldmanCousins.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 137 of file FeldmanCousins.h.
|
inlineoverridevirtual |
Get the Confidence level for the test.
Implements RooStats::IntervalCalculator.
Definition at line 48 of file FeldmanCousins.h.
|
inline |
Definition at line 105 of file FeldmanCousins.h.
|
private |
initializes fPointsToTest data member (mutable)
specify the parameter points to perform the construction.
allow ability to profile on some nuisance parameters
Definition at line 138 of file FeldmanCousins.cxx.
|
private |
initializes fTestStatSampler data member (mutable)
specify the Test Statistic and create a ToyMC test statistic sampler
Definition at line 110 of file FeldmanCousins.cxx.
|
inlinestatic |
Definition at line 137 of file FeldmanCousins.h.
|
inline |
Definition at line 99 of file FeldmanCousins.h.
|
inline |
Get the confidence belt. This requires that CreateConfBelt() has been set.
Definition at line 91 of file FeldmanCousins.h.
|
overridevirtual |
Main interface to get a ConfInterval (will be a PointSetInterval)
Main interface to get a RooStats::ConfInterval.
It constructs a RooStats::PointSetInterval.
Implements RooStats::IntervalCalculator.
Definition at line 216 of file FeldmanCousins.cxx.
|
inline |
Definition at line 85 of file FeldmanCousins.h.
TestStatSampler * FeldmanCousins::GetTestStatSampler | ( | ) | const |
Returns instance of TestStatSampler.
Use to change properties of TestStatSampler, e.g. GetTestStatSampler.SetTestSize(double size);
Definition at line 101 of file FeldmanCousins.cxx.
|
inlineoverridevirtual |
Reimplemented from RooStats::IntervalCalculator.
Definition at line 137 of file FeldmanCousins.h.
|
inline |
Definition at line 101 of file FeldmanCousins.h.
|
inlineoverridevirtual |
set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
Implements RooStats::IntervalCalculator.
Definition at line 81 of file FeldmanCousins.h.
|
inlineoverridevirtual |
Set the DataSet.
Implements RooStats::IntervalCalculator.
Definition at line 50 of file FeldmanCousins.h.
|
overridevirtual |
set the model
Implements RooStats::IntervalCalculator.
Definition at line 95 of file FeldmanCousins.cxx.
|
inline |
Definition at line 97 of file FeldmanCousins.h.
|
inlinevirtual |
specify the nuisance parameters (eg. the rest of the parameters)
Definition at line 64 of file FeldmanCousins.h.
|
inline |
User-defined set of points to test.
Definition at line 69 of file FeldmanCousins.h.
|
inlinevirtual |
specify the parameters of interest in the interval
Definition at line 59 of file FeldmanCousins.h.
|
inlinevirtual |
Set the Pdf.
Definition at line 54 of file FeldmanCousins.h.
|
inline |
User-defined set of points to test.
Definition at line 74 of file FeldmanCousins.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 79 of file FeldmanCousins.h.
|
inlineoverridevirtual |
Get the size of the test (eg. rate of Type I error)
Implements RooStats::IntervalCalculator.
Definition at line 46 of file FeldmanCousins.h.
|
overridevirtual |
Reimplemented from RooStats::IntervalCalculator.
|
inline |
Definition at line 137 of file FeldmanCousins.h.
|
inline |
Definition at line 93 of file FeldmanCousins.h.
|
private |
controls use of adaptive sampling algorithm
Definition at line 128 of file FeldmanCousins.h.
|
private |
give user ability to ask for more toys
Definition at line 129 of file FeldmanCousins.h.
|
mutableprivate |
Definition at line 127 of file FeldmanCousins.h.
|
private |
controls use if ConfidenceBelt should be saved to a TFile
Definition at line 134 of file FeldmanCousins.h.
|
private |
data set
Definition at line 122 of file FeldmanCousins.h.
|
private |
instead of full construction over nuisance parameters, do profile
Definition at line 132 of file FeldmanCousins.h.
|
private |
tell ToyMCSampler to fluctuate number of entries in dataset
Definition at line 131 of file FeldmanCousins.h.
|
private |
Definition at line 121 of file FeldmanCousins.h.
|
private |
number of samples per variable
Definition at line 130 of file FeldmanCousins.h.
|
mutableprivate |
points to perform the construction
Definition at line 125 of file FeldmanCousins.h.
|
mutableprivate |
value of POI points to perform the construction
Definition at line 126 of file FeldmanCousins.h.
|
private |
controls use if ConfidenceBelt should be saved to a TFile
Definition at line 133 of file FeldmanCousins.h.
|
private |
size of the test (eg. specified rate of Type I error)
Definition at line 120 of file FeldmanCousins.h.
|
mutableprivate |
the test statistic sampler
Definition at line 124 of file FeldmanCousins.h.