DstarDmFitterUnsmart


class description - source file - inheritance tree

class DstarDmFitterUnsmart : public DstarDmFitterSpecial_I


    protected:
virtual void AddBackgrToHist() virtual void DetermFitMode(Int_t mode) virtual Double_t DetermNDstarStart(Double_t backgrNormStart) virtual Int_t DoTheFit(Double_t backgrNormStart, Double_t nDstarStart) virtual TH1* MakeFitFunction(Double_t backgr, Double_t nDstar) virtual void SetHistReal(TH1* histo, TH1* hWc, Bool_t defaultSigmaMeanExpSqr) public:
DstarDmFitterUnsmart(TH1* histo = 0, TH1* hWc = 0) DstarDmFitterUnsmart(const DstarDmFitterUnsmart& source) DstarDmFitterUnsmart(const DstarDmFitterSpecial_I& source) virtual ~DstarDmFitterUnsmart() static Double_t BackgrFct(Double_t* x, Double_t* par) static TClass* Class() virtual Bool_t Fit(Int_t mode) static Double_t FitFct(Double_t* x, Double_t* par) static Double_t FitFctWithWc(Double_t* x, Double_t* par) virtual Double_t GetBackgrExp() const virtual Double_t GetBackgrNorm() const virtual Double_t GetBackgrNormErr() const virtual Double_t GetBackgrSqr() const virtual TF1* GetFittedBackgrFunc() const virtual TF1* GetFittedFunc() const virtual Bool_t GetLimitBackgrExp() const virtual Bool_t GetLimitBackgrSqr() const virtual Double_t GetLowerBackgrExp() const virtual Double_t GetLowerBackgrSqr() const virtual Double_t GetMean() const virtual Double_t GetNDstar() const virtual Double_t GetNDstarErr() const virtual Double_t GetSigma() const virtual Double_t GetSignalBack() const virtual Double_t GetUpperBackgrExp() const virtual Double_t GetUpperBackgrSqr() const virtual Double_t GetWcScale() const virtual TClass* IsA() const virtual DstarDmFitterUnsmart& operator=(const DstarDmFitterUnsmart& rhs) virtual DstarDmFitterUnsmart& operator=(const DstarDmFitterSpecial_I& rhs) virtual void SetBackgrExp() virtual void SetBackgrExp(Double_t e) virtual void SetBackgrSqr() virtual void SetBackgrSqr(Double_t s) virtual void SetLimitBackgrExp(Bool_t l) virtual void SetLimitBackground(Bool_t l) virtual void SetLimitBackgrSqrt(Bool_t l) virtual void SetLowerBackgrExp() virtual void SetLowerBackgrExp(Double_t e) virtual void SetLowerBackgrSqrt() virtual void SetLowerBackgrSqrt(Double_t s) virtual void SetMean() virtual void SetMean(Double_t m) virtual void SetSigma() virtual void SetSigma(Double_t s) virtual void SetUpperBackgrExp() virtual void SetUpperBackgrExp(Double_t e) virtual void SetUpperBackgrSqrt() virtual void SetUpperBackgrSqrt(Double_t s) virtual void SetWcScale(Double_t s) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TF1* fDstarFitFormu pointer to full fitting fct. object Bool_t fFixMean to store the result Bool_t fFixSigma ... of the interpretation of Bool_t fFixBackgrSqr ... the mode for fitting Bool_t fFixBackgrExp ... Bool_t fFixWcScale ... Bool_t fBackGround in case of fitting with N(D*)==0 Double_t fWcScale storage of a scale to be applied to WC background hist Bool_t fLimitBackgrSqr Double_t fUpperBackgrSqr Double_t fLowerBackgrSqr Bool_t fLimitBackgrExp Double_t fUpperBackgrExp Double_t fLowerBackgrExp

Class Description

   last update: $Date: 2005/11/26 20:04:56 $
   by:          $Author: flucke $

 fitting class for D*-Analysis:
                  fits delta-mass-plots (m_{Kpipis} - m_{Kpi})
  (for use in ROOT 3.00_06 or higher only!)

 performs the 'unsmart' fits for DstarDmFitter,
 so please use that class!

DstarDmFitterUnsmart(TH1* hist, TH1* hWc)
 contructor: hist as fitted histogram (may not be a TH2/3*!)

DstarDmFitterUnsmart(const DstarDmFitterUnsmart& source)

DstarDmFitterUnsmart(const DstarDmFitterSpecial_I& source)

~DstarDmFitterUnsmart()
deletes all possibly created objects that members point at

void SetHistReal(TH1* histo, TH1* hWc, Bool_t defaultSigmaMeanExpSqr)
 by default defaultSigmaMeanExpSqr is kFALSE, if kTRUE,
 Sigma, Mean, BackgrExp and BackgrSqr are set to the default.

void SetLimitBackground(Bool_t l)
 switch limits for background parameters

void SetLimitBackgrExp(Bool_t l)
 switch limits for exponent of background

void SetLimitBackgrSqrt(Bool_t l)
 switch limits for sqr-correction of background

void SetUpperBackgrExp(Double_t e)
 set upper limit for exponent of background

void SetLowerBackgrExp(Double_t e)
 set lower limit for exponent of background

void SetUpperBackgrSqrt(Double_t s)
 set upper limit for sqr-correction of background

void SetLowerBackgrSqrt(Double_t s)
 set lower limit for sqr-correction of background

void SetBackgrExp(Double_t e)
 set exponent of background

void SetBackgrSqr(Double_t s)
 set sqr-correction of background

void SetMean(Double_t m)
 set mean of D*-Peak

void SetSigma(Double_t s)
 set sigma of D*-peak

void SetWcScale(Double_t s)
 set scale to be applied for Wc background

Double_t GetBackgrNorm() const
 get normalisation factor of background

Double_t GetBackgrNormErr() const
 get sigma of normalisation factor of background

Double_t GetBackgrExp() const
 get exponent of background

Bool_t GetLimitBackgrExp() const
 limit for exponent of backgr. switched on?

Double_t GetUpperBackgrExp() const
 get upper limit for exponent of backgr.

Double_t GetLowerBackgrExp() const
 get lower limit for exponent of backgr.

Double_t GetBackgrSqr() const
 get sqr correction of background

Bool_t GetLimitBackgrSqr() const
 limit for sqrt correction of backgr. switched on?

Double_t GetUpperBackgrSqr() const
 get upper limit for sqrt correction of backgr.

Double_t GetLowerBackgrSqr() const
 get lower limit for sqrt correction of backgr.

Double_t GetMean() const
 get mean of D*-Peak

Double_t GetSigma() const
 get sigma of D*-peak

Double_t GetNDstar() const
 get N(D*)

Double_t GetNDstarErr() const
 get sigma(N(D*))

Double_t GetWcScale() const
 get U_n / U_n,wc

Double_t GetSignalBack() const
 Get ratio of signal over background of last fit
 in (mean +- 2*sigma)-region.
 Gives 0. if MC or background or any other strange result,
 but doesn't check whether you have not fitted yet.

TF1* GetFittedFunc() const
 pointer to the the fitted function associated with the histogram

TF1* GetFittedBackgrFunc() const
 pointer to the background part of the fitted function associated with the histogram

Bool_t Fit(Int_t mode)
 fits the 6(7) parameter fitting fct to the histogram

 the last four digits of 'mode' determine which parameters
 of the fitting function should be fixed:
 If the digit == 0 ==> parameter is fitted
          else     ==> parameter is fixed to actual value
 1st digit:    Mean
 2nd :         Sigma
 3rd :         BackgrExp
 4th :         BackgrSqr
 5th :         WcScale (ignored if no WC hist)

 Digit are counted from the right, so
    mode = 1011 means: fix Mean, Sigma and BackgrSqr,
                       but fit BackgrExp (and WcScale)
                      (and fit BackgrNorm, NDstar)

 never use leading 0's: that will interpret mode as octal!
 so mode = 10   means: fix only sigma, the rest is fitted
 default mode is 0: fit all 6 parameters

 if mode < 0: fit background only:
       mode = -100 means: N(D*) == 0, fit background with fixed BackgrExp

void AddBackgrToHist()

void DetermFitMode(Int_t mode)
interprets mode and saves the result in the foreseen Bool_t's

Int_t DoTheFit(Double_t backgrNormStart, Double_t nDstarStart)
 does the fit having found start values

TH1* MakeFitFunction(Double_t backgrNormStart, Double_t nDstarStart)
 makes fDstarFitFormu fit to environment...
 and if background hist is given creates the corresponding hist that merges
 the two hists - this hist has to be deleted afterwards!
 (else the normal fHist is returned - do not delete that!)

Double_t DetermNDstarStart(Double_t backgrNormStart)
 determines start value of N(D*)

Double_t BackgrFct(Double_t *x, Double_t *par)
 background function:
 par[0]: normalisation
 par[1]: exponent
 par[2]: square factor
 x[0]:   deltaM

Double_t FitFct(Double_t* x, Double_t* par)
 fit function:
par[0]: normalisation of background
par[1]: exponent of background
par[2]: square factor of background
par[3]: gauss' mean
par[4]: gauss' sigma
par[5]: N(D*)
x[0]:   deltaM

Double_t FitFctWithWc(Double_t* x, Double_t* par)
 fit function:
par[0]: normalisation of background
par[1]: exponent of background
par[2]: square factor of background
par[3]: gauss' mean
par[4]: gauss' sigma
par[5]: N(D*)
par[6]: relative factor between par[0] and normalisation of WC background
x[0]:   deltaM



Inline Functions


        DstarDmFitterUnsmart& operator=(const DstarDmFitterUnsmart& rhs)
        DstarDmFitterUnsmart& operator=(const DstarDmFitterSpecial_I& rhs)
                         void SetSigma(Double_t s)
                         void SetMean(Double_t m)
                         void SetBackgrExp(Double_t e)
                         void SetBackgrSqr(Double_t s)
                         void SetUpperBackgrSqrt(Double_t s)
                         void SetLowerBackgrSqrt(Double_t s)
                         void SetUpperBackgrExp(Double_t e)
                         void SetLowerBackgrExp(Double_t e)
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)


Author: Gero Flucke
Last update: Wed Jan 11 14:05:47 2006


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.