ProfileLikelihoodCalculator is a concrete implementation of CombinedCalculator (the interface class for a tools which can produce both RooStats HypoTestResults and ConfIntervals). The tool uses the profile likelihood ratio as a test statistic, and assumes that Wilks' theorem is valid. Wilks' theorem states that -2* log (profile likelihood ratio) is asymptotically distributed as a chi^2 distribution with N-dof, where N is the number of degrees of freedom. Thus, p-values can be constructed and the profile likelihood ratio can be used to construct a LikelihoodInterval. (In the future, this class could be extended to use toy Monte Carlo to calibrate the distribution of the test statistic).
Usage: It uses the interface of the CombinedCalculator, so that it can be configured by specifying:
After configuring the calculator, one only needs to ask GetHypoTest() (which will return a HypoTestResult pointer) or GetInterval() (which will return an ConfInterval 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.
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | DoGlobalFit() const |
void | DoReset() const |
RooAbsData* | RooStats::CombinedCalculator::GetData() const |
RooAbsPdf* | RooStats::CombinedCalculator::GetPdf() const |
void | TObject::MakeZombie() |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
RooFitResult* | fFitResult | internal result of gloabl fit |
RooArgSet | RooStats::CombinedCalculator::fAlternateParams | RooArgSet specifying alternate parameters for hypothesis test // Is it used ???? |
RooAbsData* | RooStats::CombinedCalculator::fData | |
TString | TNamed::fName | object identifier |
RooArgSet | RooStats::CombinedCalculator::fNuisParams | RooArgSet specifying nuisance parameters for interval |
RooArgSet | RooStats::CombinedCalculator::fNullParams | RooArgSet specifying null parameters for hypothesis test |
RooArgSet | RooStats::CombinedCalculator::fPOI | RooArgSet specifying parameters of interest for interval |
RooAbsPdf* | RooStats::CombinedCalculator::fPdf | |
Double_t | RooStats::CombinedCalculator::fSize | size of the test (eg. specified rate of Type I error) |
TString | TNamed::fTitle | object title |
constructor from the data, a model pdf and the parameter of Interest. If nuisance parameters are present they should be specified as part of the model i.e. the model pdf is a combined pdf for the poi and the nuisance The default test size used is 0.05 ( for a 95% interval) A set for the null parameters (it must be a copied set) can be specified which will be used for performing the hypothesis test
construct from the data and a model configuration (ModelConfig class) If the model configuration contains a Prior pdf it will be included in the full model used by the profile likelihood calculator. The default test size used is 0.05 ( for a 95% interval)
private method to reset and clear fit results to be called when a new model or data are set in the calculator
private method to perform a global fit of the likelihood letting with all parameter of interest and nuisance parameters keep the list of fitted parameters
Main interface to get a RooStats::ConfInterval. It constructs a profile likelihood ratio and uses that to construct a RooStats::LikelihoodInterval.
Main interface to get a HypoTestResult. It does two fits: the first lets the null parameters float, so it's a maximum likelihood estimate the second is to the null (fixing null parameters to their specified values): eg. a conditional maximum likelihood the ratio of the likelihood at the conditional MLE to the MLE is the profile likelihood ratio. Wilks' theorem is used to get p-values. A RooArgSet contained a copied of the null parameters must be previously specified (either in the constructor or by using SetNullParameters )