ROOT logo
ROOT » ROOFIT » ROOSTATS » RooStats::FeldmanCousins

class RooStats::FeldmanCousins: public RooStats::IntervalCalculator


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 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.

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 nusiance parameters to their conditional MLE (eg. profiled values).



Function Members (Methods)

public:
virtual~FeldmanCousins()
static TClass*Class()
static TClass*RooStats::IntervalCalculator::Class()
virtual Double_tConfidenceLevel() const
virtual Double_tRooStats::IntervalCalculator::ConfidenceLevel() const
voidCreateConfBelt(bool flag = true)
RooStats::FeldmanCousinsFeldmanCousins()
RooStats::FeldmanCousinsFeldmanCousins(const RooStats::FeldmanCousins&)
voidFluctuateNumDataEntries(bool flag = true)
RooStats::ConfidenceBelt*GetConfidenceBelt()
virtual RooStats::ConfInterval*GetInterval() const
virtual RooStats::ConfInterval*RooStats::IntervalCalculator::GetInterval() const
RooAbsData*GetPointsToScan()
virtual TClass*IsA() const
virtual TClass*RooStats::IntervalCalculator::IsA() const
RooStats::IntervalCalculator&RooStats::IntervalCalculator::operator=(const RooStats::IntervalCalculator&)
voidSaveBeltToFile(bool flag = true)
virtual voidSetConfidenceLevel(Double_t cl)
virtual voidRooStats::IntervalCalculator::SetConfidenceLevel(Double_t cl)
virtual voidSetData(RooAbsData& data)
virtual voidSetData(const char* name)
virtual voidRooStats::IntervalCalculator::SetData(RooAbsData&)
virtual voidRooStats::IntervalCalculator::SetData(const char* name)
voidSetNBins(Int_t bins)
virtual voidSetNuisanceParameters(RooArgSet& set)
virtual voidRooStats::IntervalCalculator::SetNuisanceParameters(RooArgSet&)
virtual voidSetParameters(RooArgSet& set)
virtual voidRooStats::IntervalCalculator::SetParameters(RooArgSet&)
virtual voidSetPdf(RooAbsPdf& pdf)
virtual voidSetPdf(const char* name)
virtual voidRooStats::IntervalCalculator::SetPdf(RooAbsPdf&)
virtual voidRooStats::IntervalCalculator::SetPdf(const char* name)
virtual voidSetTestSize(Double_t size)
virtual voidRooStats::IntervalCalculator::SetTestSize(Double_t size)
virtual voidSetWorkspace(RooWorkspace& ws)
virtual voidRooStats::IntervalCalculator::SetWorkspace(RooWorkspace& ws)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidRooStats::IntervalCalculator::ShowMembers(TMemberInspector& insp, char* parent)
virtual Double_tSize() const
virtual Double_tRooStats::IntervalCalculator::Size() const
virtual voidStreamer(TBuffer& b)
virtual voidRooStats::IntervalCalculator::Streamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidRooStats::IntervalCalculator::StreamerNVirtual(TBuffer& b)
voidUseAdaptiveSampling(bool flag = true)
private:
voidCreateParameterPoints() const
voidCreateTestStatSampler() const

Data Members

private:
boolfAdaptiveSamplingcontrols use of adaptive sampling algorithm
RooStats::ConfidenceBelt*fConfBelt
boolfCreateBeltcontrols use if ConfidenceBelt should be saved to a TFile
const char*fDataNamename of data set in workspace
Bool_tfDoProfileConstructioninstead of full construction over nuisance parametrs, do profile
Bool_tfFluctuateDatatell ToyMCSampler to fluctuate number of entries in dataset
Int_tfNbinsnumber of samples per variable
RooArgSet*fNuisParamsRooArgSet specifying nuisance parameters for interval
Bool_tfOwnsWorkspaceflag if this object owns its workspace
RooArgSet*fPOIRooArgSet specifying parameters of interest for interval
const char*fPdfNamename of common PDF in workspace
RooAbsData*fPointsToTestpoints to perform the construction
boolfSaveBeltToFilecontrols use if ConfidenceBelt should be saved to a TFile
Double_tfSizesize of the test (eg. specified rate of Type I error)
RooStats::ToyMCSampler*fTestStatSamplerthe test statistic sampler
RooWorkspace*fWSa workspace that owns all the components to be used by the calculator

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

FeldmanCousins()
 default constructor
~FeldmanCousins()
 destructor
void CreateTestStatSampler() const
 specify the Test Statistic and create a ToyMC test statistic sampler
void CreateParameterPoints() const
 specify the parameter points to perform the construction.
 allow ability to profile on some nuisance paramters
ConfInterval* GetInterval() const
 Main interface to get a RooStats::ConfInterval.
 It constructs a RooStats::PointSetInterval.
FeldmanCousins()
Double_t Size() const
 Get the size of the test (eg. rate of Type I error)
{return fSize;}
Double_t ConfidenceLevel() const
 set a workspace that owns all the necessary components for the analysis
{return 1.-fSize;}
void SetWorkspace(RooWorkspace& ws)
void SetData(RooAbsData& data)
 Set the DataSet, add to the the workspace if not already there
SetData(data.GetName())
void SetPdf(RooAbsPdf& pdf)
 Set the Pdf, add to the the workspace if not already there
SetPdf(pdf.GetName())
void SetParameters(RooArgSet& set)
 specify the parameters of interest in the interval
{fPOI = &set;}
void SetNuisanceParameters(RooArgSet& set)
 set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
{fNuisParams = &set;}
void SetTestSize(Double_t size)
 set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
{fSize = size;}
void SetConfidenceLevel(Double_t cl)
{fSize = 1.-cl;}
RooAbsData* GetPointsToScan()
ConfidenceBelt* GetConfidenceBelt()
{return fConfBelt;}
void UseAdaptiveSampling(bool flag = true)
void SetNBins(Int_t bins)
{fNbins = bins;}
void FluctuateNumDataEntries(bool flag = true)
{fFluctuateData = flag;}
void SaveBeltToFile(bool flag = true)
void CreateConfBelt(bool flag = true)
{fCreateBelt = flag;}