CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/HiggsAnalysis/CombinedLimit/interface/GoodnessOfFit.h

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   // Return a pdf that matches this data perfectly.
00037   RooAbsPdf *makeSaturatedPdf(RooAbsData &data);
00038   mutable std::vector<RooAbsData*> tempData_;
00039 
00040 };
00041 
00042 
00043 #endif