CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef HiggsAnalysis_CombinedLimit_RooMinimizerOpt
00002 #define HiggsAnalysis_CombinedLimit_RooMinimizerOpt
00003 
00004 #if defined(ROO_MINIMIZER) || defined(ROO_MINIMIZER_FCN)
00005    #error "You cannot include RooMinimizer.h or RooMinimizerFcn.h before RooMinimizerOpt.h"
00006 #else
00007    #define private protected
00008    #include <RooMinimizer.h>
00009    #undef protected
00010 #endif
00011 
00012 class RooMinimizerOpt : public RooMinimizer {
00013     public:
00014         RooMinimizerOpt(RooAbsReal& function) ;
00015         Double_t edm();
00016 };
00017 
00018 class RooMinimizerFcnOpt : public RooMinimizerFcn {
00019     public: 
00020         RooMinimizerFcnOpt(RooAbsReal *funct, RooMinimizer *context,  bool verbose = false);
00021         virtual ROOT::Math::IBaseFunctionMultiDim* Clone() const;
00022     protected:
00023         virtual double DoEval(const double * x) const;
00024         mutable std::vector<RooRealVar *> _vars;
00025 };
00026 
00027 #endif