ROOT logo
ROOT » ROOFIT » ROOSTATS » RooStats::HypoTestCalculator

class RooStats::HypoTestCalculator


HypoTestCalculator is an interface class for a tools which produce RooStats HypoTestResults. The interface currently assumes that any hypothesis test calculator can be configured by specifying:

  • a model for the null,
  • a model for the alternate,
  • a data set,
  • a set of parameters of which specify the null (including values and const/non-const status), and
  • a set of parameters of which specify the alternate (including values and const/non-const status).
The interface allows one to pass the model, data, and parameters via a workspace and then specify them with names. The interface will be extended so that one does not need to use a workspace.

After configuring the calculator, one only needs to ask GetHypoTest, which will return a HypoTestResult pointer.

The concrete implementations of this interface should deal with the details of how the nuisance parameters are dealt with (eg. integration vs. profiling) and which test-statistic is used (perhaps this should be added to the interface).

The motivation for this interface is that we hope to be able to specify the problem in a common way for several concrete calculators.



Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~HypoTestCalculator()
static TClass*Class()
virtual RooStats::HypoTestResult*GetHypoTest() const
virtual voidInitialize(RooAbsData& data, RooAbsPdf& commonPdf, RooArgSet& nullParameters, RooArgSet& alternateParameters, RooArgSet* nuisanceParameters = 0, RooAbsPdf* nuisancePdf = 0)
virtual voidInitialize(RooAbsData& data, RooAbsPdf& nullPdf, RooAbsPdf& alternatePdf, RooArgSet* nullParameters = 0, RooArgSet* alternateParameters = 0, RooArgSet* nuisanceParameters = 0, RooAbsPdf* nuisancePdf = 0)
virtual voidInitialize(RooWorkspace& ws, const char* data, const char* commonPdf, RooArgSet& nullParameters, RooArgSet& alternateParameters, RooArgSet* nuisanceParameters = 0, const char* nuisancePdf = 0)
virtual voidInitialize(RooWorkspace& ws, const char* data, const char* nullPdf, const char* alternatePdf, RooArgSet* nullParameters = 0, RooArgSet* alternateParameters = 0, RooArgSet* nuisanceParameters = 0, const char* nuisancePdf = 0)
virtual TClass*IsA() const
RooStats::HypoTestCalculator&operator=(const RooStats::HypoTestCalculator&)
virtual voidSetAlternateParameters(RooArgSet&)
virtual voidSetAlternatePdf(const char* name)
virtual voidSetAlternatePdf(RooAbsPdf& pdf)
virtual voidSetCommonPdf(const char* name)
virtual voidSetCommonPdf(RooAbsPdf& pdf)
virtual voidSetData(const char* name)
virtual voidSetData(RooAbsData& data)
virtual voidSetNuisanceParameters(RooArgSet&)
virtual voidSetNuisancePdf(const char*)
virtual voidSetNuisancePdf(RooAbsPdf&)
virtual voidSetNullParameters(RooArgSet&)
virtual voidSetNullPdf(const char* name)
virtual voidSetNullPdf(RooAbsPdf& pdf)
virtual voidSetWorkspace(RooWorkspace& ws)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

virtual ~HypoTestCalculator()
 Concrete implementations should have a constructor like:
 HypoTestCalculator(RooWorkspace*, RooAbsData*,RooAbsPdf*, RooAbsPdf*, RooArgSet*, RooArgSet*)
 Concrete implementations should have a constructor like:
 HypoTestCalculator(RooAbsData*,RooAbsPdf*, RooAbsPdf*, RooArgSet*, RooArgSet*)
{}
HypoTestResult* GetHypoTest() const
 main interface to get a HypoTestResult, pure virtual
void Initialize(RooAbsData & data, RooAbsPdf & nullPdf, RooAbsPdf & alternatePdf, RooArgSet * nullParameters = 0, RooArgSet * alternateParameters = 0, RooArgSet * nuisanceParameters = 0, RooAbsPdf * nuisancePdf = 0 )
 Initialize the calculator from a given data set, a null pdf and an  alternate pdf.
 The null parameters and alternate parameters can be optionally passed otherwise by default
 the parameters of the pdf's will be used.
 In addition, one can give optionally a nuisance pdf with nuisance parameters to be marginalized
SetNullPdf(nullPdf)
SetAlternatePdf(alternatePdf)
void Initialize(RooAbsData& data, RooAbsPdf& commonPdf, RooArgSet& nullParameters, RooArgSet& alternateParameters, RooArgSet* nuisanceParameters = 0, RooAbsPdf* nuisancePdf = 0)
 Initialize the calculator from a given data set and a common  pdf for null and alternate hypothesis.
 In this case the null parameters and alternate parameters must be given.
 In addition, one can give optionally a nuisance pdf with nuisance parameters to be marginalized
void Initialize(RooWorkspace& ws, const char* data, const char* nullPdf, const char* alternatePdf, RooArgSet* nullParameters = 0, RooArgSet* alternateParameters = 0, RooArgSet* nuisanceParameters = 0, const char* nuisancePdf = 0)
 Initialize the calculator from a workspace and names for the  data set,
 the null pdf and the alternate pdf.
 The null parameters and alternate parameters can be optionally passed otherwise by default
 the parameters of the pdf's will be used.
 In addition, one can give optionally a nuisance pdf with nuisance parameters to be marginalized
SetData(data)
SetNullPdf(nullPdf)
SetAlternatePdf(alternatePdf)
void Initialize(RooWorkspace & ws, const char * data, const char * commonPdf, RooArgSet & nullParameters, RooArgSet & alternateParameters, RooArgSet * nuisanceParameters = 0, const char * nuisancePdf = 0 )
 Initialize the calculator from a workspace and names for the  data set and a common pdf
 for both the null and the alternate hypothesis.
 In this case the null parameters and alternate parameters must be given.
 In addition, one can give optionally a nuisance pdf with nuisance parameters to be marginalized
void SetWorkspace(RooWorkspace& ws)
 set a workspace that owns all the necessary components for the analysis
void SetCommonPdf(const char* name)
 set a common PDF for both the null and alternate hypotheses
void SetCommonPdf(RooAbsPdf& pdf)
 Set a common PDF for both the null and alternate, add to the the workspace if not already there
void SetData(const char* name)
 specify the name of the dataset in the workspace to be used
void SetNullParameters(RooArgSet& )
 set parameter values for the null if using a common PDF
void SetAlternateParameters(RooArgSet& )
void SetNuisancePdf(const char * )
 set the pdf name for an auxillary measurement of the nuisance which will be marginalized by the calculator
 needs to be implemented by the derived class only if this feature is supported
{}
void SetNuisancePdf(RooAbsPdf &)
 set the pdf for an auxillary measurement which will be marginalized by the calculator
 needs to be implemented by the derived class only if this feature is supported
{}
void SetNuisanceParameters(RooArgSet& )
 set the parameters for the constraned pdf which  will be marginalized by the calculator
 needs to be implemented by the derived class if this feature is supported
{}