CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LimitAlgo.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_LimitAlgo_h
2 #define HiggsAnalysis_CombinedLimit_LimitAlgo_h
3 
11 #include <boost/program_options.hpp>
12 #include <string>
13 class RooWorkspace;
14 class RooAbsData;
15 namespace RooStats { class ModelConfig; }
16 
17 class LimitAlgo {
18 public:
19  LimitAlgo() { }
20  LimitAlgo(const char * desc) : options_(desc) { }
21  virtual void applyOptions(const boost::program_options::variables_map &vm) { }
22  virtual void applyDefaultOptions() { }
23  virtual void setToyNumber(const int) { }
24  virtual void setNToys(const int) { }
25  virtual bool run(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint) = 0;
26  virtual const std::string & name() const = 0;
27  const boost::program_options::options_description & options() const {
28  return options_;
29  }
30 protected:
31  boost::program_options::options_description options_;
32 };
33 
34 #endif
virtual void applyDefaultOptions()
Definition: LimitAlgo.h:22
virtual void setNToys(const int)
Definition: LimitAlgo.h:24
virtual void applyOptions(const boost::program_options::variables_map &vm)
Definition: LimitAlgo.h:21
const boost::program_options::options_description & options() const
Definition: LimitAlgo.h:27
virtual const std::string & name() const =0
LimitAlgo()
Definition: LimitAlgo.h:19
LimitAlgo(const char *desc)
Definition: LimitAlgo.h:20
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
virtual void setToyNumber(const int)
Definition: LimitAlgo.h:23
boost::program_options::options_description options_
Definition: LimitAlgo.h:31
virtual bool run(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint)=0
T w() const