00001 #ifndef HiggsAnalysis_CombinedLimit_PdfDiagonalizer_h 00002 #define HiggsAnalysis_CombinedLimit_PdfDiagonalizer_h 00003 00004 class RooWorkspace; 00005 struct RooFitResult; 00006 struct RooAbsPdf; 00007 00008 #include <string> 00009 #include <RooArgList.h> 00010 00011 class PdfDiagonalizer { 00012 public: 00013 PdfDiagonalizer(const char *name, RooWorkspace *w, RooFitResult &result); 00014 00015 RooAbsPdf *diagonalize(RooAbsPdf &pdf) ; 00016 const RooArgList & originalParams() { return parameters_; } 00017 const RooArgList & diagonalParams() { return eigenVars_; } 00018 private: 00019 std::string name_; 00020 RooArgList parameters_; 00021 RooArgList eigenVars_; 00022 RooArgList replacements_; 00023 }; 00024 00025 #endif