// Author : Gero Flucke // created : 2002-2004 // last change: $Date: 2004/06/29 17:00:38 $ // by : $author$ #ifndef DstarDmFitterMeSiSq_h #define DstarDmFitterMeSiSq_h #include "DstarDmFitterSpecial_I.h" class TH1F; class TH1D; class TF1; class DstarDmFitterMeSiSq : public DstarDmFitterSpecial_I { public: // con- and destructor: // ==================== explicit DstarDmFitterMeSiSq(TH1* = 0); explicit DstarDmFitterMeSiSq(const DstarDmFitterSpecial_I&); explicit DstarDmFitterMeSiSq(const DstarDmFitterMeSiSq&); virtual ~DstarDmFitterMeSiSq(); virtual DstarDmFitterMeSiSq& operator=(const DstarDmFitterMeSiSq& rhs); virtual DstarDmFitterMeSiSq& operator=(const DstarDmFitterSpecial_I& rhs); // setters: // ======== virtual void SetSigma() {SetSigma(fgSigmaDefault);} virtual void SetSigma(Double_t s) {fgSigma = s;} virtual void SetMean() {SetMean(fgMeanDefault);} virtual void SetMean(Double_t m) {fgMean = m;} virtual void SetBackgrExp() {SetBackgrExp(fgBackgrExpDefault);} virtual void SetBackgrExp(Double_t e); virtual void SetBackgrSqr() {SetBackgrSqr(fgBackgrSqrDefault);} virtual void SetBackgrSqr(Double_t s) {fgBackgrSqr=s;} // getters: // ========= virtual Double_t GetNDstar() const; virtual Double_t GetNDstarErr() const; virtual Double_t GetBackgrNorm() const; virtual Double_t GetBackgrNormErr() const; virtual Double_t GetSigma() const {return fgSigma;} virtual Double_t GetMean() const {return fgMean;} virtual Double_t GetBackgrExp() const; virtual Double_t GetBackgrSqr() const {return fgBackgrSqr;} virtual Double_t GetSignalBack() const; virtual TF1* GetFittedFunc() const; virtual TF1* GetFittedBackgrFunc() const; // fit: // ========= virtual Bool_t Fit(Int_t mode); protected: //abstractly inherited virtual Int_t DoTheFit(Double_t backgrNormStart, Double_t nDstarStart); virtual void SetHistReal(TH1*, TH1* hDummy, Bool_t defaultFitValues); virtual Double_t DetermNDstarStart(Double_t backgrNormStart); virtual void AddBackgrToHist(); private: TF1* fDstarFitFormu; static Double_t BackgrFct(Double_t *x, Double_t *par); static Double_t FitFct(Double_t *x, Double_t *par); // very own: static Double_t fgSigma; // sigma of last fit, unfortunat. static! static Double_t fgMean; // mean of last fit static Double_t fgBackgrSqr; // background square factor ClassDef(DstarDmFitterMeSiSq,0) // 'helper' of DstarDmFitter }; #endif