#ifndef ALIDIELECTRONBTOJPSITOELECDFFITHANDLER_H
#define ALIDIELECTRONBTOJPSITOELECDFFITHANDLER_H
#include <TNamed.h>
#include <TBits.h>
#include <TGraph.h>
#include <TFitter.h>
class AliDielectronBtoJPSItoEleCDFfitFCN ;
class AliDielectronBtoJPSItoEleCDFfitHandler : public TNamed {
public:
AliDielectronBtoJPSItoEleCDFfitHandler();
AliDielectronBtoJPSItoEleCDFfitHandler& operator= (const AliDielectronBtoJPSItoEleCDFfitHandler& c);
AliDielectronBtoJPSItoEleCDFfitHandler(const AliDielectronBtoJPSItoEleCDFfitHandler& c);
AliDielectronBtoJPSItoEleCDFfitHandler(Double_t* decaytime, Double_t* invariantmass, Double_t *pt, Int_t *type, Int_t ncand);
~AliDielectronBtoJPSItoEleCDFfitHandler();
Double_t Up() const { return fUp; }
void SetErrorDef(Double_t up) {fUp = up;}
void SetPrintStatus(Bool_t okPrintStatus) { fPrintStatus = okPrintStatus; }
Bool_t GetPrintStatus() const { return fPrintStatus ; }
void SetParamStartValues (Double_t*);
Double_t* GetStartParamValues() { return fParamStartValues; }
TBits GetFixedParamList() const { return fIsParamFixed; }
TFitter *GetFitter() const {return fitter;}
Double_t GetParameter(Int_t numPar) const {return fitter->GetParameter(numPar);}
Double_t GetParameterError(Int_t numPar) const {return fitter->GetParError(numPar);}
void FixParam(UInt_t param, Bool_t value) { fIsParamFixed.SetBitNumber(param,value); }
void FixAllParam(Bool_t value) { for(UInt_t par=0;par<49;par++) fIsParamFixed.SetBitNumber(par,value); }
Bool_t IsParamFixed(UInt_t param) { return fIsParamFixed.TestBitNumber(param); }
void SetResolutionConstants(Double_t* resolutionConst, Int_t type);
void SetCrystalBallFunction(Bool_t okCB);
void SetExponentialFunction(Bool_t okEpx);
void SetMassWndHigh(Double_t limit);
void SetMassWndLow(Double_t limit);
Double_t operator()(const Double_t* par) const ;
void CdfFCN(Int_t & , Double_t * , Double_t &f, Double_t *par, Int_t );
Double_t* Decaytime() const { return fX; }
Double_t* InvariantMass() const { return fM; }
Double_t* TransverseMom() const { return fPt; }
Int_t* TypeCand() const { return fType;}
AliDielectronBtoJPSItoEleCDFfitFCN* LikelihoodPointer() const { return fLikely; }
Int_t DoMinimization(Int_t step = 0);
private:
TBits fIsParamFixed;
Bool_t fPrintStatus;
Double_t fParamStartValues[49];
Double_t fUp;
Double_t* fX;
Double_t* fM;
Double_t* fPt;
Int_t* fType;
AliDielectronBtoJPSItoEleCDFfitFCN* fLikely;
Int_t fNcand;
TGraph* fContPlot1;
TGraph* fContPlot2;
TGraph* fContPlot3;
TFitter *fitter;
ClassDef(AliDielectronBtoJPSItoEleCDFfitHandler,1);
};
#endif
AliDielectronBtoJPSItoEleCDFfitHandler.h:1 AliDielectronBtoJPSItoEleCDFfitHandler.h:2 AliDielectronBtoJPSItoEleCDFfitHandler.h:3 AliDielectronBtoJPSItoEleCDFfitHandler.h:4 AliDielectronBtoJPSItoEleCDFfitHandler.h:5 AliDielectronBtoJPSItoEleCDFfitHandler.h:6 AliDielectronBtoJPSItoEleCDFfitHandler.h:7 AliDielectronBtoJPSItoEleCDFfitHandler.h:8 AliDielectronBtoJPSItoEleCDFfitHandler.h:9 AliDielectronBtoJPSItoEleCDFfitHandler.h:10 AliDielectronBtoJPSItoEleCDFfitHandler.h:11 AliDielectronBtoJPSItoEleCDFfitHandler.h:12 AliDielectronBtoJPSItoEleCDFfitHandler.h:13 AliDielectronBtoJPSItoEleCDFfitHandler.h:14 AliDielectronBtoJPSItoEleCDFfitHandler.h:15 AliDielectronBtoJPSItoEleCDFfitHandler.h:16 AliDielectronBtoJPSItoEleCDFfitHandler.h:17 AliDielectronBtoJPSItoEleCDFfitHandler.h:18 AliDielectronBtoJPSItoEleCDFfitHandler.h:19 AliDielectronBtoJPSItoEleCDFfitHandler.h:20 AliDielectronBtoJPSItoEleCDFfitHandler.h:21 AliDielectronBtoJPSItoEleCDFfitHandler.h:22 AliDielectronBtoJPSItoEleCDFfitHandler.h:23 AliDielectronBtoJPSItoEleCDFfitHandler.h:24 AliDielectronBtoJPSItoEleCDFfitHandler.h:25 AliDielectronBtoJPSItoEleCDFfitHandler.h:26 AliDielectronBtoJPSItoEleCDFfitHandler.h:27 AliDielectronBtoJPSItoEleCDFfitHandler.h:28 AliDielectronBtoJPSItoEleCDFfitHandler.h:29 AliDielectronBtoJPSItoEleCDFfitHandler.h:30 AliDielectronBtoJPSItoEleCDFfitHandler.h:31 AliDielectronBtoJPSItoEleCDFfitHandler.h:32 AliDielectronBtoJPSItoEleCDFfitHandler.h:33 AliDielectronBtoJPSItoEleCDFfitHandler.h:34 AliDielectronBtoJPSItoEleCDFfitHandler.h:35 AliDielectronBtoJPSItoEleCDFfitHandler.h:36 AliDielectronBtoJPSItoEleCDFfitHandler.h:37 AliDielectronBtoJPSItoEleCDFfitHandler.h:38 AliDielectronBtoJPSItoEleCDFfitHandler.h:39 AliDielectronBtoJPSItoEleCDFfitHandler.h:40 AliDielectronBtoJPSItoEleCDFfitHandler.h:41 AliDielectronBtoJPSItoEleCDFfitHandler.h:42 AliDielectronBtoJPSItoEleCDFfitHandler.h:43 AliDielectronBtoJPSItoEleCDFfitHandler.h:44 AliDielectronBtoJPSItoEleCDFfitHandler.h:45 AliDielectronBtoJPSItoEleCDFfitHandler.h:46 AliDielectronBtoJPSItoEleCDFfitHandler.h:47 AliDielectronBtoJPSItoEleCDFfitHandler.h:48 AliDielectronBtoJPSItoEleCDFfitHandler.h:49 AliDielectronBtoJPSItoEleCDFfitHandler.h:50 AliDielectronBtoJPSItoEleCDFfitHandler.h:51 AliDielectronBtoJPSItoEleCDFfitHandler.h:52 AliDielectronBtoJPSItoEleCDFfitHandler.h:53 AliDielectronBtoJPSItoEleCDFfitHandler.h:54 AliDielectronBtoJPSItoEleCDFfitHandler.h:55 AliDielectronBtoJPSItoEleCDFfitHandler.h:56 AliDielectronBtoJPSItoEleCDFfitHandler.h:57 AliDielectronBtoJPSItoEleCDFfitHandler.h:58 AliDielectronBtoJPSItoEleCDFfitHandler.h:59 AliDielectronBtoJPSItoEleCDFfitHandler.h:60 AliDielectronBtoJPSItoEleCDFfitHandler.h:61 AliDielectronBtoJPSItoEleCDFfitHandler.h:62 AliDielectronBtoJPSItoEleCDFfitHandler.h:63 AliDielectronBtoJPSItoEleCDFfitHandler.h:64 AliDielectronBtoJPSItoEleCDFfitHandler.h:65 AliDielectronBtoJPSItoEleCDFfitHandler.h:66 AliDielectronBtoJPSItoEleCDFfitHandler.h:67 AliDielectronBtoJPSItoEleCDFfitHandler.h:68 AliDielectronBtoJPSItoEleCDFfitHandler.h:69 AliDielectronBtoJPSItoEleCDFfitHandler.h:70 AliDielectronBtoJPSItoEleCDFfitHandler.h:71 AliDielectronBtoJPSItoEleCDFfitHandler.h:72 AliDielectronBtoJPSItoEleCDFfitHandler.h:73 AliDielectronBtoJPSItoEleCDFfitHandler.h:74 AliDielectronBtoJPSItoEleCDFfitHandler.h:75 AliDielectronBtoJPSItoEleCDFfitHandler.h:76 AliDielectronBtoJPSItoEleCDFfitHandler.h:77 AliDielectronBtoJPSItoEleCDFfitHandler.h:78 AliDielectronBtoJPSItoEleCDFfitHandler.h:79 AliDielectronBtoJPSItoEleCDFfitHandler.h:80