Go to the documentation of this file.00001 #ifndef HiggsAnalysis_CombinedLimit_GoodnessOfFit_h
00002 #define HiggsAnalysis_CombinedLimit_GoodnessOfFit_h
00003
00011 #include "../interface/LimitAlgo.h"
00012 #include "../interface/ProfileLikelihood.h"
00013
00014 class GoodnessOfFit : public LimitAlgo {
00015 public:
00016 GoodnessOfFit() ;
00017 virtual bool run(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint);
00018 virtual const std::string & name() const {
00019 static const std::string name("GoodnessOfFit");
00020 return name;
00021 }
00022 virtual void applyOptions(const boost::program_options::variables_map &vm) ;
00023
00024 virtual bool runSaturatedModel(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint);
00025
00026 protected:
00027 static std::string algo_;
00028
00029 static std::string minimizerAlgo_;
00030 static float minimizerTolerance_;
00031 static int minimizerStrategy_;
00032
00033 static float mu_;
00034 static bool fixedMu_;
00035
00036
00037 RooAbsPdf *makeSaturatedPdf(RooAbsData &data);
00038 mutable std::vector<RooAbsData*> tempData_;
00039
00040 };
00041
00042
00043 #endif