00001 #ifndef ManipHist_h 00002 #define ManipHist_h 00003 00004 #include "Validation/RecoJets/interface/FitHist.h" 00005 00006 class ManipHist : public FitHist{ 00007 00008 public: 00009 00010 ManipHist(){}; 00011 //~ManipHist(){ file_->Close(); }; 00012 virtual ~ManipHist(){}; 00013 00014 //extra members 00015 void sumHistograms(); 00016 void divideAndDrawPs(); 00017 void divideAndDrawEps(); 00018 00019 protected: 00020 00021 //specific configurables 00022 void configBlockSum(ConfigFile&); 00023 void configBlockDivide(ConfigFile&); 00024 00025 //extra members 00026 TH1F& divideHistograms(TH1F&, TH1F&, int); 00027 double ratioCorrelatedError(double&, double&, double&, double&); 00028 double ratioUncorrelatedError(double&, double&, double&, double&); 00029 00030 protected: 00031 00032 //--------------------------------------------- 00033 // Interface 00034 //--------------------------------------------- 00035 00036 //define histogram manipulations 00037 int errorType_; // define histogram errors (uncorr/corr) 00038 std::vector<double> weights_; // define weights 00039 }; 00040 00041 #endif