ROOT logo
ROOT » ROOFIT » ROOSTATS » RooStats::ProfileLikelihoodTestStat

class RooStats::ProfileLikelihoodTestStat: public RooStats::TestStatistic


ProfileLikelihoodTestStat is an implementation of the TestStatistic interface that calculates the profile likelihood ratio at a particular parameter point given a dataset. It does not constitute a statistical test, for that one may either use:

  • the ProfileLikelihoodCalculator that relies on asymptotic properties of the Profile Likelihood Ratio
  • the Neyman Construction classes with this class as a test statistic
  • the Hybrid Calculator class with this class as a test statistic



Function Members (Methods)

public:
virtual~ProfileLikelihoodTestStat()
static TClass*Class()
virtual voidEnableDetailedOutput(bool e = true, bool withErrorsAndPulls = false)
virtual Double_tEvaluate(RooAbsData& data, RooArgSet& paramsOfInterest)
virtual Double_tEvaluateProfileLikelihood(int type, RooAbsData& data, RooArgSet& paramsOfInterest)
virtual const RooArgSet*GetDetailedOutput() const
virtual RooAbsPdf*GetPdf() const
virtual const TStringGetVarName() const
virtual TClass*IsA() const
boolIsOneSidedDiscovery() const
boolIsTwoSided() const
RooStats::TestStatistic&RooStats::TestStatistic::operator=(const RooStats::TestStatistic&)
RooStats::ProfileLikelihoodTestStatProfileLikelihoodTestStat()
RooStats::ProfileLikelihoodTestStatProfileLikelihoodTestStat(RooAbsPdf& pdf)
RooStats::ProfileLikelihoodTestStatProfileLikelihoodTestStat(const RooStats::ProfileLikelihoodTestStat&)
virtual boolRooStats::TestStatistic::PValueIsRightTail() const
static voidSetAlwaysReuseNLL(Bool_t flag)
virtual voidSetConditionalObservables(const RooArgSet& set)
voidSetLOffset(Bool_t flag = kTRUE)
voidSetMinimizer(const char* minimizer)
voidSetOneSided(Bool_t flag = true)
voidSetOneSidedDiscovery(Bool_t flag = true)
voidSetPrintLevel(Int_t printlevel)
voidSetReuseNLL(Bool_t flag)
voidSetSigned(Bool_t flag = true)
voidSetStrategy(Int_t strategy)
voidSetTolerance(double tol)
virtual voidSetVarName(const char* name)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)

Data Members

public:
enum LimitType { twoSided
oneSided
oneSidedDiscovery
};
private:
const RooArgSet*fCachedBestFitParams
RooArgSetfConditionalObsconditional observables
RooArgSet*fDetailedOutput!
boolfDetailedOutputEnabled
boolfDetailedOutputWithErrorsAndPulls
Bool_tfLOffset
RooAbsData*fLastData
RooStats::ProfileLikelihoodTestStat::LimitTypefLimitType
TStringfMinimizer
RooAbsReal*fNll!
RooAbsPdf*fPdf
Int_tfPrintLevel
Bool_tfReuseNll
Bool_tfSigned
Int_tfStrategy
Double_tfTolerance
TStringfVarName
static Bool_tfgAlwaysReuseNll

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

ProfileLikelihoodTestStat()
 Proof constructor. Do not use.
ProfileLikelihoodTestStat(RooAbsPdf& pdf)
virtual ~ProfileLikelihoodTestStat()
void SetOneSided(Bool_t flag = true)
LM use default copy constructor and assignment copying the pointers. Is this what we want ?
{fLimitType = (flag ? oneSided : twoSided);}
void SetOneSidedDiscovery(Bool_t flag = true)
void SetSigned(Bool_t flag = true)
void SetOneSidedDiscovery(Bool_t flag=true) {fOneSidedDiscovery = flag;}
{fSigned = flag;}
bool IsTwoSided() const
{ return fLimitType == twoSided; }
bool IsOneSidedDiscovery() const
void SetAlwaysReuseNLL(Bool_t flag)
void SetReuseNLL(Bool_t flag)
{ fReuseNll = flag ; }
void SetLOffset(Bool_t flag = kTRUE)
{ fLOffset = flag ; }
void SetMinimizer(const char* minimizer)
{ fMinimizer=minimizer;}
void SetStrategy(Int_t strategy)
{fStrategy=strategy;}
void SetTolerance(double tol)
{fTolerance=tol;}
void SetPrintLevel(Int_t printlevel)
{fPrintLevel=printlevel;}
Double_t Evaluate(RooAbsData& data, RooArgSet& paramsOfInterest)
 Main interface to evaluate the test statistic on a dataset
return EvaluateProfileLikelihood(int type, RooAbsData& data, RooArgSet& paramsOfInterest)
void EnableDetailedOutput(bool e = true, bool withErrorsAndPulls = false)
const RooArgSet* GetDetailedOutput(void)
 Returns detailed output. The value returned by this function is updated after each call to Evaluate().
 The returned RooArgSet contains the following:
 <ul>
 <li> the minimum nll, fitstatus and convergence quality for each fit </li>
 <li> for each fit and for each non-constant parameter, the value, error and pull of the parameter are stored </li>
 </ul>
void SetConditionalObservables(const RooArgSet& set)
 set the conditional observables which will be used when creating the NLL
 so the pdf's will not be normalized on the conditional observables when computing the NLL
void SetVarName(const char* name)
{ fVarName = name; }
const TString GetVarName() const
{return fVarName;}
RooAbsPdf * GetPdf() const
{ return fPdf; }
RooFitResult* GetMinNLL()
      const bool PValueIsRightTail(void) { return false; } // overwrites default