CMS 3D CMS Logo

Public Member Functions | Private Attributes

ProfiledLikelihoodRatioTestStat Class Reference

#include <ProfiledLikelihoodRatioTestStat.h>

List of all members.

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_.

                                                                                                                                                                                                  : 
            pdfNull_(&pdfNull), pdfAlt_(&pdfAlt),
            paramsNull_(pdfNull_->getVariables()), 
            paramsAlt_(pdfAlt_->getVariables()) 
        {
            snapNull_.addClone(paramsNull);
            snapAlt_.addClone(paramsAlt);
            if (nuisances) nuisances_.addClone(*nuisances);
        }

Member Function Documentation

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

Definition at line 6 of file ProfiledLikelihoodRatioTestStat.cc.

References funct::log(), nuisances_, paramsAlt_, paramsNull_, pdfAlt_, pdfNull_, snapAlt_, and snapNull_.

{
    if (data.numEntries() != 1) throw std::invalid_argument("HybridNew::TestSimpleStatistics: dataset doesn't have exactly 1 entry.");
    CloseCoutSentry(true);

    const RooArgSet *entry = data.get(0);
    *paramsNull_ = *entry;
    *paramsNull_ = nuisances_;
    *paramsNull_ = snapNull_;
    *paramsNull_ = nullPOI;

    pdfNull_->fitTo(data, RooFit::Constrain(nuisances_), RooFit::Hesse(0), RooFit::PrintLevel(-1), RooFit::PrintEvalErrors(-1));
    double nullNLL = pdfNull_->getVal();

    *paramsAlt_ = *entry;
    *paramsAlt_ = nuisances_;
    *paramsAlt_ = snapAlt_;

    pdfAlt_->fitTo(data, RooFit::Constrain(nuisances_), RooFit::Hesse(0), RooFit::PrintLevel(-1), RooFit::PrintEvalErrors(-1));

    double altNLL = pdfAlt_->getVal();
    return -log(nullNLL/altNLL);
}
virtual const TString ProfiledLikelihoodRatioTestStat::GetVarName ( ) const [inline, virtual]

Definition at line 24 of file ProfiledLikelihoodRatioTestStat.h.

References pdfAlt_, and pdfNull_.

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

Member Data Documentation

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().

Definition at line 29 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and GetVarName().

Definition at line 29 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and GetVarName().

Definition at line 30 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and ProfiledLikelihoodRatioTestStat().

Definition at line 30 of file ProfiledLikelihoodRatioTestStat.h.

Referenced by Evaluate(), and ProfiledLikelihoodRatioTestStat().