#ifndef __GFFITHISTFRAC_H #define __GFFITHISTFRAC_H // ROOT includes #include "TObject.h" #include "TArrayD.h" class TObjArray; class TH1; class GFFitHistFrac : public TObject{ public: explicit GFFitHistFrac(); GFFitHistFrac(const TH1* dataHist, const TObjArray* mcHists); virtual ~GFFitHistFrac(); Bool_t SetHistData(const TH1* hist); Bool_t SetHistsMc(const TObjArray* hists); Bool_t SetHistDataMc(const TH1* histData, const TObjArray* histsMc); TArrayD Fit(); TArrayD Fit(const TH1* dataHist, const TObjArray* mcHists); TArrayD GetFactors() const; TArrayD GetFactorErrors() const; TArrayD GetFractions() const {return fFractions;} TArrayD GetFractionErrors() const {return fFractionErrors;} TArrayD GetScalesMc() const {return fScalesMc;} Double_t GetScaleData() const {return fScaleData;} protected: Bool_t CheckConsistency(); private: static Double_t FitFunc1D(Double_t* x, Double_t* par); // fitting fct. static TObjArray* fgMcHists; // 'global' pointer to Mc hists for fitting fct. TH1* fHistDataNorm; TObjArray* fHistsMcNorm; Double_t fScaleData; TArrayD fScalesMc; TArrayD fFractions; TArrayD fFractionErrors; ClassDef(GFFitHistFrac,0) //class for fitting fractions of contributions }; #endif // __GFFITHISTFRAC_H