CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProfileLikelihood.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_ProfileLikelihood_h
2 #define HiggsAnalysis_CombinedLimit_ProfileLikelihood_h
3 
11 #include "../interface/LimitAlgo.h"
12 
13 class RooAbsPdf; class RooRealVar; class RooAbsData; class RooArgSet;
14 
15 class ProfileLikelihood : public LimitAlgo {
16 public:
18  virtual bool run(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint);
19  virtual const std::string & name() const {
20  static const std::string name("ProfileLikelihood");
21  return name;
22  }
23  virtual void applyOptions(const boost::program_options::variables_map &vm) ;
24 
27  public:
28  MinimizerSentry(const std::string &algo, double tolerance);
30  private:
33  };
34 
35 protected:
36  static std::string minimizerAlgo_, minimizerAlgoForBF_,;
38 
39  static bool useMinos_, bruteForce_;
40  static std::string bfAlgo_;
41  static int points_;
42 
43  // ----- options for handling cases where the likelihood fit misbihaves ------
45  static int tries_;
47  static int maxTries_;
49  static float maxRelDeviation_;
51  static float maxOutlierFraction_;
53  static int maxOutliers_;
55  static bool preFit_;
56 
58  static bool reportPVal_;
59 
60  static float signalForSignificance_;
61  static float mass_;
62 
63  static std::string plot_;
64 
65  bool runSignificance(RooWorkspace *w, RooStats::ModelConfig *mc, RooAbsData &data, double &limit, double &limitErr);
66  bool runLimit(RooWorkspace *w, RooStats::ModelConfig *mc, RooAbsData &data, double &limit, double &limitErr);
67 
68  double upperLimitWithMinos(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, double cl) const ;
69  std::pair<double,double> upperLimitBruteForce(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, double cl) const ;
70  double significanceBruteForce(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance) const ;
71  double significanceFromScan(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, int npoints) const ;
72 };
73 
74 #endif
bool runLimit(RooWorkspace *w, RooStats::ModelConfig *mc, RooAbsData &data, double &limit, double &limitErr)
static int maxOutliers_
Stop trying after finding N outliers.
static float signalForSignificance_
bool runSignificance(RooWorkspace *w, RooStats::ModelConfig *mc, RooAbsData &data, double &limit, double &limitErr)
static std::string static float minimizerToleranceForBF_
static float maxOutlierFraction_
Ignore up to this fraction of results if they&#39;re too far from the median.
double significanceFromScan(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, int npoints) const
static bool bruteForce_
virtual void applyOptions(const boost::program_options::variables_map &vm)
static int maxTries_
trying up to M times from different points
static bool preFit_
Try first a plain fit.
static std::string plot_
virtual bool run(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint)
double upperLimitWithMinos(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, double cl) const
float cl
Definition: Combine.cc:71
std::pair< double, double > upperLimitBruteForce(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance, double cl) const
virtual const std::string & name() const
static float maxRelDeviation_
maximum relative deviation of the different points from the median to accept
MinimizerSentry(const std::string &algo, double tolerance)
double significanceBruteForce(RooAbsPdf &pdf, RooAbsData &data, RooRealVar &poi, const RooArgSet *nuisances, double tolerance) const
Setup Minimizer configuration on creation, reset the previous one on destruction. ...
static std::string bfAlgo_
static std::string minimizerAlgoForBF_
static std::string static float minimizerTolerance_
static std::string minimizerAlgo_
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
static int tries_
compute the limit N times
LimitAlgo * algo
Definition: Combine.cc:60
T w() const
static bool reportPVal_
Report p-value instead of significance.