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 constrution 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:
bool | fAdaptiveSampling | controls use of adaptive sampling algorithm |
RooStats::ConfidenceBelt* | fConfBelt | |
bool | fCreateBelt | controls use if ConfidenceBelt should be saved to a TFile |
const char* | fDataName | name of data set in workspace |
Double_t | fLeftSideFraction | |
RooArgSet* | fNuisParams | RooArgSet specifying nuisance parameters for interval |
Bool_t | fOwnsWorkspace | flag if this object owns its workspace |
RooArgSet* | fPOI | RooArgSet specifying parameters of interest for interval |
const char* | fPdfName | name of common PDF in workspace |
RooAbsData* | fPointsToTest | |
bool | fSaveBeltToFile | controls use if ConfidenceBelt should be saved to a TFile |
Double_t | fSize | size of the test (eg. specified rate of Type I error) |
RooStats::TestStatSampler* | fTestStatSampler | |
RooWorkspace* | fWS | a workspace that owns all the components to be used by the calculator |
default constructor if(fOwnsWorkspace && fWS) delete fWS; if(fConfBelt) delete fConfBelt;
Main interface to get a RooStats::ConfInterval. It constructs a RooStats::SetInterval.
This method generates the sampling distribution for each point of the study. If a file path is provided, the distribution is saved in a root file. Returns the list of the distributions for each point.
Main interface to get a RooStats::ConfInterval. It constructs a RooStats::PointSetInterval.
This method returns a confidence interval exactly like GetInterval(), but instead of generating the sampling disribution (long computation) it takes the distribution from the file provided
in addition to interface we also need: Set the TestStatSampler (eg. ToyMC or FFT, includes choice of TestStatistic)
{fTestStatSampler = &distCreator;}
{fLeftSideFraction = leftSideFraction;}
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(map<RooAbsArg, Int_t>) Get the size of the test (eg. rate of Type I error)
{return fSize;}
set a workspace that owns all the necessary components for the analysis
{return 1.-fSize;}
specify the parameters of interest in the interval
{fPOI = &set;}
set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
{fNuisParams = &set;}
set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
{fSize = size;}