CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/HiggsAnalysis/CombinedLimit/interface/MaxLikelihoodFit.h

Go to the documentation of this file.
00001 #ifndef HiggsAnalysis_CombinedLimit_MaxLikelihoodFit_h
00002 #define HiggsAnalysis_CombinedLimit_MaxLikelihoodFit_h
00003 
00011 #include "../interface/FitterAlgoBase.h"
00012 #include "TTree.h"
00013 class MaxLikelihoodFit : public FitterAlgoBase {
00014 public:
00015   MaxLikelihoodFit() ;
00016   virtual const std::string & name() const {
00017     static const std::string name("MaxLikelihoodFit");
00018     return name;
00019   }
00020   ~MaxLikelihoodFit();
00021   virtual void applyOptions(const boost::program_options::variables_map &vm) ;
00022   virtual void setToyNumber(const int) ;
00023   virtual void setNToys(const int);
00024 
00025 protected:
00026   virtual bool runSpecific(RooWorkspace *w, RooStats::ModelConfig *mc_s, RooStats::ModelConfig *mc_b, RooAbsData &data, double &limit, double &limitErr, const double *hint);
00027 
00028   static std::string name_;
00029 
00030   static std::string minos_;
00031 
00032   static bool justFit_, noErrors_;
00033   static std::string out_; 
00034   static bool        makePlots_;
00035   static float       rebinFactor_;
00036   static std::string signalPdfNames_, backgroundPdfNames_;
00037   static bool        saveNormalizations_;
00038   static bool        reuseParams_;
00039   int currentToy_, nToys;
00040   int fitStatus_, numbadnll_;
00041   double mu_, nll_nll0_, nll_bonly_,nll_sb_;
00042   std::auto_ptr<TFile> fitOut;
00043   double* globalObservables_;
00044   double* nuisanceParameters_;
00045 
00046   TTree *t_fit_b_, *t_fit_sb_;
00047    
00048   void getNormalizations(RooAbsPdf *pdf, const RooArgSet &obs, RooArgSet &out);
00049   void createFitResultTrees(const RooStats::ModelConfig &);
00050   void setFitResultTrees(const RooArgSet *, double *);
00051 };
00052 
00053 
00054 #endif