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

class RooStats::FeldmanCousins: public RooStats::IntervalCalculator, public TNamed


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()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Double_tConfidenceLevel() const
virtual voidTNamed::Copy(TObject& named) const
voidCreateConfBelt(bool flag = true)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
RooStats::FeldmanCousinsFeldmanCousins()
RooStats::FeldmanCousinsFeldmanCousins(const RooStats::FeldmanCousins&)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFluctuateNumDataEntries(bool flag = true)
RooStats::ConfidenceBelt*GetConfidenceBelt()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual RooStats::ConfInterval*GetInterval() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
RooAbsData*GetPointsToScan()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
RooStats::FeldmanCousins&operator=(const RooStats::FeldmanCousins&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
voidSaveBeltToFile(bool flag = true)
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetConfidenceLevel(Double_t cl)
virtual voidSetData(RooAbsData& data)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetModel(const RooStats::ModelConfig&)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNBins(Int_t bins)
virtual voidSetNuisanceParameters(const RooArgSet& set)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetParameters(const RooArgSet& set)
virtual voidSetPdf(RooAbsPdf& pdf)
virtual voidSetTestSize(Double_t size)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Double_tSize() const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUseAdaptiveSampling(bool flag = true)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidCreateParameterPoints() const
voidCreateTestStatSampler() const

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
boolfAdaptiveSamplingcontrols use of adaptive sampling algorithm
RooStats::ConfidenceBelt*fConfBelt
boolfCreateBeltcontrols use if ConfidenceBelt should be saved to a TFile
RooAbsData*fDatadata set
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
RooArgSetfNuisParamsRooArgSet specifying nuisance parameters for interval
RooArgSetfPOIRooArgSet specifying parameters of interest for interval
RooAbsPdf*fPdfcommon PDF
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

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

FeldmanCousins()
 default constructor
   fWS = new RooWorkspace("FeldmanCousinsWS");
   fOwnsWorkspace = true;
   fDataName = "";
   fPdfName = "";
~FeldmanCousins()
 destructor
if(fOwnsWorkspace && fWS) delete fWS;
void SetModel(const RooStats::ModelConfig& )
 set the model
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
 Get the Confidence level for the test
{return 1.-fSize;}
void SetData(RooAbsData& data)
 Set the DataSet
{ fData = &data; }
void SetPdf(RooAbsPdf& pdf)
 Set the Pdf
{ fPdf = &pdf; }
void SetParameters(const RooArgSet& set)
 specify the parameters of interest in the interval
{ fPOI.removeAll(); fPOI.add(set); }
void SetNuisanceParameters(const RooArgSet& set)
 specify the nuisance parameters (eg. the rest of the parameters)
void SetTestSize(Double_t size)
 set the size of the test (rate of Type I error) ( Eg. 0.05 for a 95% Confidence Interval)
{fSize = size;}
void SetConfidenceLevel(Double_t cl)
 set the confidence level for the interval (eg. 0.95 for a 95% Confidence Interval)
{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;}