Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooStats::ProfileLikelihoodTestStat Class Reference

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:

Definition at line 30 of file ProfileLikelihoodTestStat.h.

Public Member Functions

 ProfileLikelihoodTestStat ()
 Proof constructor. Do not use.
 
 ProfileLikelihoodTestStat (RooAbsPdf &pdf)
 
 ~ProfileLikelihoodTestStat () override
 
virtual void EnableDetailedOutput (bool e=true, bool withErrorsAndPulls=false)
 
double Evaluate (RooAbsData &data, RooArgSet &paramsOfInterest) override
 Main interface to evaluate the test statistic on a dataset.
 
virtual double EvaluateProfileLikelihood (int type, RooAbsData &data, RooArgSet &paramsOfInterest)
 evaluate the profile likelihood ratio (type = 0) or the minimum of likelihood (type=1) or the conditional LL (type = 2)
 
const RooArgSetGetDetailedOutput (void) const override
 Returns detailed output.
 
virtual RooAbsPdfGetPdf () const
 
const TString GetVarName () const override
 
TClassIsA () const override
 
bool IsOneSidedDiscovery () const
 
bool IsTwoSided () const
 
void SetConditionalObservables (const RooArgSet &set) override
 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 SetGlobalObservables (const RooArgSet &set) override
 set the global observables which will be used when creating the NLL so the constraint pdf's will be normalized correctly on the global observables when computing the NLL
 
void SetLOffset (bool flag=true)
 
void SetMinimizer (const char *minimizer)
 
void SetOneSided (bool flag=true)
 
void SetOneSidedDiscovery (bool flag=true)
 
void SetPrintLevel (Int_t printlevel)
 
void SetReuseNLL (bool flag)
 
void SetSigned (bool flag=true)
 
void SetStrategy (Int_t strategy)
 
void SetTolerance (double tol)
 
virtual void SetVarName (const char *name)
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from RooStats::TestStatistic
virtual ~TestStatistic ()
 
virtual bool PValueIsRightTail (void) const
 Defines the sign convention of the test statistic. Overwrite function if necessary.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static void SetAlwaysReuseNLL (bool flag)
 
- Static Public Member Functions inherited from RooStats::TestStatistic
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Private Types

enum  LimitType { twoSided , oneSided , oneSidedDiscovery }
 

Private Member Functions

std::unique_ptr< RooFitResultGetMinNLL ()
 find minimum of NLL using RooMinimizer
 

Private Attributes

const RooArgSetfCachedBestFitParams = nullptr
 
RooArgSet fConditionalObs
 conditional observables
 
std::unique_ptr< RooArgSetfDetailedOutput
 !
 
bool fDetailedOutputEnabled = false
 this will store a snapshot of the unconditional nuisance parameter fit.
 
bool fDetailedOutputWithErrorsAndPulls = false
 
RooArgSet fGlobalObs
 global observables
 
RooAbsDatafLastData = nullptr
 
LimitType fLimitType = twoSided
 
bool fLOffset
 
TString fMinimizer
 
std::unique_ptr< RooAbsRealfNll
 
RooAbsPdffPdf = nullptr
 
Int_t fPrintLevel
 
bool fReuseNll = false
 
bool fSigned = false
 
Int_t fStrategy
 
double fTolerance
 
TString fVarName = "Profile Likelihood Ratio"
 

Static Private Attributes

static bool fgAlwaysReuseNll = true
 

#include <RooStats/ProfileLikelihoodTestStat.h>

Inheritance diagram for RooStats::ProfileLikelihoodTestStat:
[legend]

Member Enumeration Documentation

◆ LimitType

Enumerator
twoSided 
oneSided 
oneSidedDiscovery 

Definition at line 32 of file ProfileLikelihoodTestStat.h.

Constructor & Destructor Documentation

◆ ProfileLikelihoodTestStat() [1/2]

RooStats::ProfileLikelihoodTestStat::ProfileLikelihoodTestStat ( )
inline

Proof constructor. Do not use.

Definition at line 36 of file ProfileLikelihoodTestStat.h.

◆ ProfileLikelihoodTestStat() [2/2]

RooStats::ProfileLikelihoodTestStat::ProfileLikelihoodTestStat ( RooAbsPdf pdf)
inline

Definition at line 44 of file ProfileLikelihoodTestStat.h.

◆ ~ProfileLikelihoodTestStat()

RooStats::ProfileLikelihoodTestStat::~ProfileLikelihoodTestStat ( )
inlineoverride

Definition at line 54 of file ProfileLikelihoodTestStat.h.

Member Function Documentation

◆ Class()

static TClass * RooStats::ProfileLikelihoodTestStat::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * RooStats::ProfileLikelihoodTestStat::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t RooStats::ProfileLikelihoodTestStat::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 142 of file ProfileLikelihoodTestStat.h.

◆ DeclFileName()

static const char * RooStats::ProfileLikelihoodTestStat::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 142 of file ProfileLikelihoodTestStat.h.

◆ EnableDetailedOutput()

virtual void RooStats::ProfileLikelihoodTestStat::EnableDetailedOutput ( bool  e = true,
bool  withErrorsAndPulls = false 
)
inlinevirtual

Definition at line 83 of file ProfileLikelihoodTestStat.h.

◆ Evaluate()

double RooStats::ProfileLikelihoodTestStat::Evaluate ( RooAbsData data,
RooArgSet paramsOfInterest 
)
inlineoverridevirtual

Main interface to evaluate the test statistic on a dataset.

Implements RooStats::TestStatistic.

Definition at line 76 of file ProfileLikelihoodTestStat.h.

◆ EvaluateProfileLikelihood()

double RooStats::ProfileLikelihoodTestStat::EvaluateProfileLikelihood ( int  type,
RooAbsData data,
RooArgSet paramsOfInterest 
)
virtual

evaluate the profile likelihood ratio (type = 0) or the minimum of likelihood (type=1) or the conditional LL (type = 2)

internal function to evaluate test statistics can do depending on type:

  • type = 0 standard evaluation,
  • type = 1 find only unconditional NLL minimum,
  • type = 2 conditional MLL

Definition at line 55 of file ProfileLikelihoodTestStat.cxx.

◆ GetDetailedOutput()

const RooArgSet * RooStats::ProfileLikelihoodTestStat::GetDetailedOutput ( void  ) const
inlineoverridevirtual

Returns detailed output.

The value returned by this function is updated after each call to Evaluate(). The returned RooArgSet contains the following:

  • the minimum nll, fitstatus and convergence quality for each fit
  • for each fit and for each non-constant parameter, the value, error and pull of the parameter are stored

Reimplemented from RooStats::TestStatistic.

Definition at line 94 of file ProfileLikelihoodTestStat.h.

◆ GetMinNLL()

std::unique_ptr< RooFitResult > RooStats::ProfileLikelihoodTestStat::GetMinNLL ( )
private

find minimum of NLL using RooMinimizer

Definition at line 289 of file ProfileLikelihoodTestStat.cxx.

◆ GetPdf()

virtual RooAbsPdf * RooStats::ProfileLikelihoodTestStat::GetPdf ( ) const
inlinevirtual

Definition at line 109 of file ProfileLikelihoodTestStat.h.

◆ GetVarName()

const TString RooStats::ProfileLikelihoodTestStat::GetVarName ( ) const
inlineoverridevirtual

Implements RooStats::TestStatistic.

Definition at line 107 of file ProfileLikelihoodTestStat.h.

◆ IsA()

TClass * RooStats::ProfileLikelihoodTestStat::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from RooStats::TestStatistic.

Definition at line 142 of file ProfileLikelihoodTestStat.h.

◆ IsOneSidedDiscovery()

bool RooStats::ProfileLikelihoodTestStat::IsOneSidedDiscovery ( ) const
inline

Definition at line 63 of file ProfileLikelihoodTestStat.h.

◆ IsTwoSided()

bool RooStats::ProfileLikelihoodTestStat::IsTwoSided ( ) const
inline

Definition at line 62 of file ProfileLikelihoodTestStat.h.

◆ SetAlwaysReuseNLL()

void RooStats::ProfileLikelihoodTestStat::SetAlwaysReuseNLL ( bool  flag)
static

Definition at line 46 of file ProfileLikelihoodTestStat.cxx.

◆ SetConditionalObservables()

void RooStats::ProfileLikelihoodTestStat::SetConditionalObservables ( const RooArgSet set)
inlineoverridevirtual

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

Reimplemented from RooStats::TestStatistic.

Definition at line 100 of file ProfileLikelihoodTestStat.h.

◆ SetGlobalObservables()

void RooStats::ProfileLikelihoodTestStat::SetGlobalObservables ( const RooArgSet set)
inlineoverridevirtual

set the global observables which will be used when creating the NLL so the constraint pdf's will be normalized correctly on the global observables when computing the NLL

Reimplemented from RooStats::TestStatistic.

Definition at line 104 of file ProfileLikelihoodTestStat.h.

◆ SetLOffset()

void RooStats::ProfileLikelihoodTestStat::SetLOffset ( bool  flag = true)
inline

Definition at line 68 of file ProfileLikelihoodTestStat.h.

◆ SetMinimizer()

void RooStats::ProfileLikelihoodTestStat::SetMinimizer ( const char *  minimizer)
inline

Definition at line 70 of file ProfileLikelihoodTestStat.h.

◆ SetOneSided()

void RooStats::ProfileLikelihoodTestStat::SetOneSided ( bool  flag = true)
inline

Definition at line 58 of file ProfileLikelihoodTestStat.h.

◆ SetOneSidedDiscovery()

void RooStats::ProfileLikelihoodTestStat::SetOneSidedDiscovery ( bool  flag = true)
inline

Definition at line 59 of file ProfileLikelihoodTestStat.h.

◆ SetPrintLevel()

void RooStats::ProfileLikelihoodTestStat::SetPrintLevel ( Int_t  printlevel)
inline

Definition at line 73 of file ProfileLikelihoodTestStat.h.

◆ SetReuseNLL()

void RooStats::ProfileLikelihoodTestStat::SetReuseNLL ( bool  flag)
inline

Definition at line 67 of file ProfileLikelihoodTestStat.h.

◆ SetSigned()

void RooStats::ProfileLikelihoodTestStat::SetSigned ( bool  flag = true)
inline

Definition at line 60 of file ProfileLikelihoodTestStat.h.

◆ SetStrategy()

void RooStats::ProfileLikelihoodTestStat::SetStrategy ( Int_t  strategy)
inline

Definition at line 71 of file ProfileLikelihoodTestStat.h.

◆ SetTolerance()

void RooStats::ProfileLikelihoodTestStat::SetTolerance ( double  tol)
inline

Definition at line 72 of file ProfileLikelihoodTestStat.h.

◆ SetVarName()

virtual void RooStats::ProfileLikelihoodTestStat::SetVarName ( const char *  name)
inlinevirtual

Definition at line 106 of file ProfileLikelihoodTestStat.h.

◆ Streamer()

void RooStats::ProfileLikelihoodTestStat::Streamer ( TBuffer )
overridevirtual

Reimplemented from RooStats::TestStatistic.

◆ StreamerNVirtual()

void RooStats::ProfileLikelihoodTestStat::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 142 of file ProfileLikelihoodTestStat.h.

Member Data Documentation

◆ fCachedBestFitParams

const RooArgSet* RooStats::ProfileLikelihoodTestStat::fCachedBestFitParams = nullptr
private

Definition at line 117 of file ProfileLikelihoodTestStat.h.

◆ fConditionalObs

RooArgSet RooStats::ProfileLikelihoodTestStat::fConditionalObs
private

conditional observables

Definition at line 127 of file ProfileLikelihoodTestStat.h.

◆ fDetailedOutput

std::unique_ptr<RooArgSet> RooStats::ProfileLikelihoodTestStat::fDetailedOutput
private

!

Definition at line 126 of file ProfileLikelihoodTestStat.h.

◆ fDetailedOutputEnabled

bool RooStats::ProfileLikelihoodTestStat::fDetailedOutputEnabled = false
private

this will store a snapshot of the unconditional nuisance parameter fit.

Definition at line 124 of file ProfileLikelihoodTestStat.h.

◆ fDetailedOutputWithErrorsAndPulls

bool RooStats::ProfileLikelihoodTestStat::fDetailedOutputWithErrorsAndPulls = false
private

Definition at line 125 of file ProfileLikelihoodTestStat.h.

◆ fgAlwaysReuseNll

bool RooStats::ProfileLikelihoodTestStat::fgAlwaysReuseNll = true
staticprivate

Definition at line 132 of file ProfileLikelihoodTestStat.h.

◆ fGlobalObs

RooArgSet RooStats::ProfileLikelihoodTestStat::fGlobalObs
private

global observables

Definition at line 128 of file ProfileLikelihoodTestStat.h.

◆ fLastData

RooAbsData* RooStats::ProfileLikelihoodTestStat::fLastData = nullptr
private

Definition at line 118 of file ProfileLikelihoodTestStat.h.

◆ fLimitType

LimitType RooStats::ProfileLikelihoodTestStat::fLimitType = twoSided
private

Definition at line 119 of file ProfileLikelihoodTestStat.h.

◆ fLOffset

bool RooStats::ProfileLikelihoodTestStat::fLOffset
private

Definition at line 138 of file ProfileLikelihoodTestStat.h.

◆ fMinimizer

TString RooStats::ProfileLikelihoodTestStat::fMinimizer
private

Definition at line 134 of file ProfileLikelihoodTestStat.h.

◆ fNll

std::unique_ptr<RooAbsReal> RooStats::ProfileLikelihoodTestStat::fNll
private

Definition at line 116 of file ProfileLikelihoodTestStat.h.

◆ fPdf

RooAbsPdf* RooStats::ProfileLikelihoodTestStat::fPdf = nullptr
private

Definition at line 115 of file ProfileLikelihoodTestStat.h.

◆ fPrintLevel

Int_t RooStats::ProfileLikelihoodTestStat::fPrintLevel
private

Definition at line 137 of file ProfileLikelihoodTestStat.h.

◆ fReuseNll

bool RooStats::ProfileLikelihoodTestStat::fReuseNll = false
private

Definition at line 133 of file ProfileLikelihoodTestStat.h.

◆ fSigned

bool RooStats::ProfileLikelihoodTestStat::fSigned = false
private

Definition at line 120 of file ProfileLikelihoodTestStat.h.

◆ fStrategy

Int_t RooStats::ProfileLikelihoodTestStat::fStrategy
private

Definition at line 135 of file ProfileLikelihoodTestStat.h.

◆ fTolerance

double RooStats::ProfileLikelihoodTestStat::fTolerance
private

Definition at line 136 of file ProfileLikelihoodTestStat.h.

◆ fVarName

TString RooStats::ProfileLikelihoodTestStat::fVarName = "Profile Likelihood Ratio"
private

Definition at line 130 of file ProfileLikelihoodTestStat.h.

Libraries for RooStats::ProfileLikelihoodTestStat:

The documentation for this class was generated from the following files: