CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProfiledLikelihoodRatioTestStat.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_ProfiledLikelihoodRatioTestStat_h
2 #define HiggsAnalysis_CombinedLimit_ProfiledLikelihoodRatioTestStat_h
3 
4 #include <memory>
5 #include <RooAbsPdf.h>
6 #include <RooAbsData.h>
7 #include <RooArgSet.h>
8 #include <RooStats/TestStatistic.h>
9 
10 class ProfiledLikelihoodRatioTestStat : public RooStats::TestStatistic {
11  public:
12  ProfiledLikelihoodRatioTestStat(RooAbsPdf &pdfNull, RooAbsPdf &pdfAlt, const RooArgSet *nuisances, const RooArgSet & paramsNull = RooArgSet(), const RooArgSet & paramsAlt = RooArgSet()) :
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  }
21 
22  virtual Double_t Evaluate(RooAbsData& data, RooArgSet& nullPOI) ;
23 
24  virtual const TString GetVarName() const {
25  return TString::Format("-log(%s/%s)", pdfNull_->GetName(), pdfAlt_->GetName());
26  }
27 
28  private:
29  RooAbsPdf *pdfNull_, *pdfAlt_;
30  RooArgSet snapNull_, snapAlt_;
31  RooArgSet nuisances_;
32  std::auto_ptr<RooArgSet> paramsNull_, paramsAlt_;
33 }; // TestSimpleStatistics
34 
35 
36 #endif
virtual const TString GetVarName() const
virtual Double_t Evaluate(RooAbsData &data, RooArgSet &nullPOI)
ProfiledLikelihoodRatioTestStat(RooAbsPdf &pdfNull, RooAbsPdf &pdfAlt, const RooArgSet *nuisances, const RooArgSet &paramsNull=RooArgSet(), const RooArgSet &paramsAlt=RooArgSet())
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82