CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CascadeMinimizer.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_CascadeMinimizer_h
2 #define HiggsAnalysis_CombinedLimit_CascadeMinimizer_h
3 
4 class RooAbsReal;
5 class RooArgSet;
6 class RooRealVar;
7 #include <RooArgSet.h>
8 #include "../interface/RooMinimizerOpt.h"
9 #include <boost/program_options.hpp>
10 
12  public:
14  CascadeMinimizer(RooAbsReal &nll, Mode mode, RooRealVar *poi=0, int initialStrategy=0) ;
15  // do a new minimization, assuming the initial state is random
16  bool minimize(int verbose=0, bool cascade=true);
17  // do a new minimization, assuming a plausible initial state
18  bool improve(int verbose=0, bool cascade=true);
20  RooFitResult *save() { return minimizer().save(); }
21  void setStrategy(int strategy) { strategy_ = strategy; }
22  void setErrorLevel(float errorLevel) { minimizer_.setErrorLevel(errorLevel); }
23  static void initOptions() ;
24  static void applyOptions(const boost::program_options::variables_map &vm) ;
25  static const boost::program_options::options_description & options() { return options_; }
26  void trivialMinimize(const RooAbsReal &nll, RooRealVar &r, int points=100) const ;
27  private:
28  RooAbsReal & nll_;
31  int strategy_;
32  RooRealVar * poi_;
33 
34  bool improveOnce(int verbose);
35 
37  static boost::program_options::options_description options_;
39  struct Algo {
40  Algo() : algo(), tolerance(), strategy(-1) {}
41  Algo(const std::string &str, float tol=-1.f, int strategy=-1) : algo(str), tolerance(tol), strategy(-1) {}
42  std::string algo; float tolerance; int strategy;
43  static float default_tolerance() { return -1.f; }
44  static int default_strategy() { return -1; }
45  };
47  static std::vector<Algo> fallbacks_;
49  static bool preScan_;
51  static bool poiOnlyFit_;
53  static bool singleNuisFit_;
55  static bool setZeroPoint_;
57  static bool oldFallback_;
58 
59  //static void setDefaultIntegrator(RooCategory &cat, const std::string & val) ;
60 };
61 
62 #endif
static bool poiOnlyFit_
do first a fit of only the POI
bool improveOnce(int verbose)
static bool preScan_
do a pre-scan
bool minimize(int verbose=0, bool cascade=true)
static float default_tolerance()
static void applyOptions(const boost::program_options::variables_map &vm)
static int default_strategy()
bool improve(int verbose=0, bool cascade=true)
static const boost::program_options::options_description & options()
Algo(const std::string &str, float tol=-1.f, int strategy=-1)
CascadeMinimizer(RooAbsReal &nll, Mode mode, RooRealVar *poi=0, int initialStrategy=0)
compact information about an algorithm
static bool singleNuisFit_
do first a minimization of each nuisance individually
static bool oldFallback_
don&#39;t do old fallback using robustMinimize
static bool setZeroPoint_
do first a fit of only the POI
double f[11][100]
static boost::program_options::options_description options_
options configured from command line
RooMinimizerOpt minimizer_
static void initOptions()
RooFitResult * save()
RooAbsReal & nll_
static std::vector< Algo > fallbacks_
list of algorithms to run if the default one fails
void trivialMinimize(const RooAbsReal &nll, RooRealVar &r, int points=100) const
RooMinimizerOpt & minimizer()
void setErrorLevel(float errorLevel)
RooRealVar * poi_
void setStrategy(int strategy)