]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/AliHFMassFitter.h
(1) Fix on mass range limits (C.Bianchin), (2) Add enum for the fit options (C.Bianch...
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliHFMassFitter.h
index 6d665a89409a3f38db28d8377908e9abd873d7a8..f2dd64ad9a0c5f878a6e7e5ddba7b8e4de57875a 100644 (file)
@@ -26,8 +26,12 @@ class TVirtualPad;
 class AliHFMassFitter : public TNamed {
 
  public:
+
+  enum ETypeOfBkg{ kExpo=0, kLin=1, kPol2=2, kNoBk=3, kPow=4, kPowEx=5 };
+  enum ETypeOfSgn{ kGaus=0, k2Gaus=1  };
+
   AliHFMassFitter();
-  AliHFMassFitter(const TH1F* histoToFit, Double_t minvalue, Double_t maxvalue, Int_t rebin=1,Int_t fittypeb=0,Int_t fittypes=0);
+  AliHFMassFitter(const TH1F* histoToFit, Double_t minvalue, Double_t maxvalue, Int_t rebin=1, Int_t fittypeb=kExpo, Int_t fittypes=kGaus);
   virtual ~AliHFMassFitter();
 
   AliHFMassFitter(const AliHFMassFitter &mfit);
@@ -61,7 +65,9 @@ class AliHFMassFitter : public TNamed {
   void     GetTypeOfFit(Bool_t &background, Int_t &typeb) const {background = fWithBkg; typeb = ftypeOfFit4Bkg;}
   Int_t    GetReflectionSigmaFactor() const {return ffactor;} 
   Double_t GetMean() const {return fMass;}
+  Double_t GetMeanUncertainty() const {return fMassErr;}
   Double_t GetSigma()const {return fSigmaSgn;}
+  Double_t GetSigmaUncertainty()const { return fSigmaSgnErr;}
   Double_t GetRawYield()const {return fRawYield;}
   Double_t GetRawYieldError()const {return fRawYieldErr;}
   Double_t GetChiSquare() const;
@@ -108,7 +114,9 @@ class AliHFMassFitter : public TNamed {
   TF1*     GetMassFunc(){
     return fhistoInvMass->GetFunction("funcmass");
   }
-
+  void SetUseLikelihoodFit(){fFitOption="L,";}
+  void SetUseLikelihoodWithWeightsFit(){fFitOption="WL,";}
+  void SetUseChi2Fit(){fFitOption="";}
 
  private:
 
@@ -135,7 +143,9 @@ class AliHFMassFitter : public TNamed {
   Int_t     ffactor;           // number to multiply to the sigma of the signal to obtain the reflected gaussian
   TNtuple*  fntuParam;         // contains fit parameters
   Double_t  fMass;             // signal gaussian mean value
+  Double_t  fMassErr;          // err signal gaussian mean value
   Double_t  fSigmaSgn;         // signal gaussian sigma
+  Double_t  fSigmaSgnErr;      // err signal gaussian sigma
   Double_t  fRawYield;         // signal gaussian integral
   Double_t  fRawYieldErr;      // err on signal gaussian integral
   Bool_t    fSideBands;        // kTRUE = only side bands considered
@@ -143,9 +153,10 @@ class AliHFMassFitter : public TNamed {
   Int_t     fSideBandl;        // left side band limit (bin number)
   Int_t     fSideBandr;        // right side band limit (bin number)
   Int_t     fcounter;          // internal counter
+  TString   fFitOption;        // L, LW or Chi2
   TList*    fContourGraph;     // TList of TGraph containing contour plots
 
-  ClassDef(AliHFMassFitter,5); // class for invariant mass fit
+  ClassDef(AliHFMassFitter,8); // class for invariant mass fit
 };
 
 #endif