CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MultiDimFit.h
Go to the documentation of this file.
1 #ifndef HiggsAnalysis_CombinedLimit_MultiDimFit_h
2 #define HiggsAnalysis_CombinedLimit_MultiDimFit_h
3 
11 #include "../interface/FitterAlgoBase.h"
12 #include <RooRealVar.h>
13 #include <vector>
14 
15 class MultiDimFit : public FitterAlgoBase {
16 public:
17  MultiDimFit() ;
18  virtual const std::string & name() const {
19  static const std::string name("MultiDimFit");
20  return name;
21  }
22  virtual void applyOptions(const boost::program_options::variables_map &vm) ;
23 
24 protected:
25  virtual bool runSpecific(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint);
26 
28  static Algo algo_;
29 
30  static std::vector<std::string> poi_;
31  static std::vector<RooRealVar*> poiVars_;
32  static std::vector<float> poiVals_;
33  static RooArgList poiList_;
34  static unsigned int nOtherFloatingPoi_; // keep a count of other POIs that we're ignoring, for proper chisquare normalization
35  static float deltaNLL_;
36 
37  // options
38  static unsigned int points_, firstPoint_, lastPoint_;
39  static bool floatOtherPOIs_;
40  static bool fastScan_;
41 
42  // initialize variables
43  void initOnce(RooWorkspace *w, RooStats::ModelConfig *mc_s) ;
44 
45  // variables
46  void doSingles(RooFitResult &res) ;
47  void doGrid(RooAbsReal &nll) ;
48  void doRandomPoints(RooAbsReal &nll) ;
49  void doContour2D(RooAbsReal &nll) ;
50 
51  // utilities
53  void doBox(RooAbsReal &nll, double cl, const char *name="box", bool commitPoints=true) ;
54 };
55 
56 
57 #endif
static std::vector< std::string > poi_
Definition: MultiDimFit.h:30
static unsigned int points_
Definition: MultiDimFit.h:38
static bool floatOtherPOIs_
Definition: MultiDimFit.h:39
static float deltaNLL_
Definition: MultiDimFit.h:35
void doGrid(RooAbsReal &nll)
Definition: MultiDimFit.cc:191
static unsigned int lastPoint_
Definition: MultiDimFit.h:38
static std::vector< float > poiVals_
Definition: MultiDimFit.h:32
void initOnce(RooWorkspace *w, RooStats::ModelConfig *mc_s)
Definition: MultiDimFit.cc:129
void doBox(RooAbsReal &nll, double cl, const char *name="box", bool commitPoints=true)
for each RooRealVar, set a range &#39;box&#39; from the PL profiling all other parameters ...
Definition: MultiDimFit.cc:345
static Algo algo_
Definition: MultiDimFit.h:28
virtual void applyOptions(const boost::program_options::variables_map &vm)
Definition: MultiDimFit.cc:53
std::auto_ptr< RooAbsReal > nll
static unsigned int nOtherFloatingPoi_
Definition: MultiDimFit.h:34
virtual bool runSpecific(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint)
Definition: MultiDimFit.cc:73
void doSingles(RooFitResult &res)
Definition: MultiDimFit.cc:153
float cl
Definition: Combine.cc:71
virtual const std::string & name() const
Definition: MultiDimFit.h:18
static std::vector< RooRealVar * > poiVars_
Definition: MultiDimFit.h:31
void doRandomPoints(RooAbsReal &nll)
Definition: MultiDimFit.cc:269
static RooArgList poiList_
Definition: MultiDimFit.h:33
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void doContour2D(RooAbsReal &nll)
Definition: MultiDimFit.cc:297
static unsigned int firstPoint_
Definition: MultiDimFit.h:38
static bool fastScan_
Definition: MultiDimFit.h:40
Definition: fakeMenu.h:4
T w() const