CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ProfiledLikelihoodRatioTestStat Class Reference

#include <ProfiledLikelihoodRatioTestStat.h>

Inheritance diagram for ProfiledLikelihoodRatioTestStat:

Public Member Functions

virtual Double_t Evaluate (RooAbsData &data, RooArgSet &nullPOI)
 
virtual const TString GetVarName () const
 
 ProfiledLikelihoodRatioTestStat (RooAbsPdf &pdfNull, RooAbsPdf &pdfAlt, const RooArgSet *nuisances, const RooArgSet &paramsNull=RooArgSet(), const RooArgSet &paramsAlt=RooArgSet())
 

Private Attributes

RooArgSet nuisances_
 
std::auto_ptr< RooArgSet > paramsAlt_
 
std::auto_ptr< RooArgSet > paramsNull_
 
RooAbsPdf * pdfAlt_
 
RooAbsPdf * pdfNull_
 
RooArgSet snapAlt_
 
RooArgSet snapNull_
 

Detailed Description

Definition at line 10 of file ProfiledLikelihoodRatioTestStat.h.

Constructor & Destructor Documentation

ProfiledLikelihoodRatioTestStat::ProfiledLikelihoodRatioTestStat ( RooAbsPdf &  pdfNull,
RooAbsPdf &  pdfAlt,
const RooArgSet *  nuisances,
const RooArgSet &  paramsNull = RooArgSet(),
const RooArgSet &  paramsAlt = RooArgSet() 
)
inline

Definition at line 12 of file ProfiledLikelihoodRatioTestStat.h.

References nuisances_, snapAlt_, and snapNull_.

12  :
13  pdfNull_(&pdfNull), pdfAlt_(&pdfAlt),
14  paramsNull_(pdfNull_->getVariables()),
15  paramsAlt_(pdfAlt_->getVariables())
16  {
17  snapNull_.addClone(paramsNull);
18  snapAlt_.addClone(paramsAlt);
19  if (nuisances) nuisances_.addClone(*nuisances);
20  }

Member Function Documentation

Double_t ProfiledLikelihoodRatioTestStat::Evaluate ( RooAbsData &  data,
RooArgSet &  nullPOI 
)
virtual

Definition at line 6 of file ProfiledLikelihoodRatioTestStat.cc.

References create_public_lumi_plots::log, nuisances_, paramsAlt_, paramsNull_, pdfAlt_, pdfNull_, snapAlt_, and snapNull_.

7 {
8  if (data.numEntries() != 1) throw std::invalid_argument("HybridNew::TestSimpleStatistics: dataset doesn't have exactly 1 entry.");
9  CloseCoutSentry(true);
10 
11  const RooArgSet *entry = data.get(0);
12  *paramsNull_ = *entry;
15  *paramsNull_ = nullPOI;
16 
17  pdfNull_->fitTo(data, RooFit::Constrain(nuisances_), RooFit::Hesse(0), RooFit::PrintLevel(-1), RooFit::PrintEvalErrors(-1));
18  double nullNLL = pdfNull_->getVal();
19 
20  *paramsAlt_ = *entry;
23 
24  pdfAlt_->fitTo(data, RooFit::Constrain(nuisances_), RooFit::Hesse(0), RooFit::PrintLevel(-1), RooFit::PrintEvalErrors(-1));
25 
26  double altNLL = pdfAlt_->getVal();
27  return -log(nullNLL/altNLL);
28 }
std::pair< std::string, MonitorElement * > entry
Definition: ME_MAP.h:8
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
virtual const TString ProfiledLikelihoodRatioTestStat::GetVarName ( ) const
inlinevirtual

Definition at line 24 of file ProfiledLikelihoodRatioTestStat.h.

References pdfAlt_, and pdfNull_.

24  {
25  return TString::Format("-log(%s/%s)", pdfNull_->GetName(), pdfAlt_->GetName());
26  }

Member Data Documentation

RooArgSet ProfiledLikelihoodRatioTestStat::nuisances_
private

Definition at line 31 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and ProfiledLikelihoodRatioTestStat().

std::auto_ptr<RooArgSet> ProfiledLikelihoodRatioTestStat::paramsAlt_
private

Definition at line 32 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate().

std::auto_ptr<RooArgSet> ProfiledLikelihoodRatioTestStat::paramsNull_
private

Definition at line 32 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate().

RooAbsPdf * ProfiledLikelihoodRatioTestStat::pdfAlt_
private

Definition at line 29 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and GetVarName().

RooAbsPdf* ProfiledLikelihoodRatioTestStat::pdfNull_
private

Definition at line 29 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and GetVarName().

RooArgSet ProfiledLikelihoodRatioTestStat::snapAlt_
private

Definition at line 30 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and ProfiledLikelihoodRatioTestStat().

RooArgSet ProfiledLikelihoodRatioTestStat::snapNull_
private

Definition at line 30 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and ProfiledLikelihoodRatioTestStat().