]>
Commit | Line | Data |
---|---|---|
ba15fdfb | 1 | #ifndef ALIDIELECTRONBTOJPSITOELECDFFITHANDLER_H\r |
2 | #define ALIDIELECTRONBTOJPSITOELECDFFITHANDLER_H\r | |
3 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *\r | |
4 | * See cxx source for full Copyright notice */\r | |
5 | \r | |
6 | //___________________________________________________________________________\r | |
7 | // Class AliDielectronBtoJPSItoEleCDFfitHandler\r | |
8 | // Class to perform unbinned log-likelihood fit\r | |
9 | // \r | |
10 | // Origin: C. Di Giglio\r | |
11 | // Contact: Carmelo.Digiglio@ba.infn.it; Giuseppe.Bruno@ba.infn.it\r | |
12 | //____________________________________________________________________________\r | |
13 | \r | |
14 | #include <TNamed.h>\r | |
15 | #include <TBits.h>\r | |
5720c765 | 16 | #include <TGraph.h>\r |
17 | #include <TFitter.h>\r | |
ba15fdfb | 18 | \r |
5720c765 | 19 | class AliDielectronBtoJPSItoEleCDFfitFCN ;\r |
ba15fdfb | 20 | \r |
21 | class AliDielectronBtoJPSItoEleCDFfitHandler : public TNamed {\r | |
22 | public:\r | |
23 | //\r | |
24 | AliDielectronBtoJPSItoEleCDFfitHandler();\r | |
25 | AliDielectronBtoJPSItoEleCDFfitHandler& operator= (const AliDielectronBtoJPSItoEleCDFfitHandler& c);\r | |
26 | AliDielectronBtoJPSItoEleCDFfitHandler(const AliDielectronBtoJPSItoEleCDFfitHandler& c);\r | |
5720c765 | 27 | AliDielectronBtoJPSItoEleCDFfitHandler(Double_t* decaytime, Double_t* invariantmass, Int_t *type, Int_t ncand);\r |
ba15fdfb | 28 | ~AliDielectronBtoJPSItoEleCDFfitHandler(); \r |
29 | Double_t Up() const { return fUp; }\r | |
30 | void SetErrorDef(Double_t up) {fUp = up;}\r | |
31 | void SetPrintStatus(Bool_t okPrintStatus) { fPrintStatus = okPrintStatus; } \r | |
32 | Bool_t GetPrintStatus() const { return fPrintStatus ; }\r | |
33 | void SetParamStartValues (Double_t*);\r | |
34 | Double_t* GetStartParamValues() { return fParamStartValues; }\r | |
35 | TBits GetFixedParamList() const { return fIsParamFixed; }\r | |
5720c765 | 36 | TFitter *GetFitter() const {return fitter;}\r |
37 | Double_t GetParameter(Int_t numPar) const {return fitter->GetParameter(numPar);}\r | |
38 | Double_t GetParameterError(Int_t numPar) const {return fitter->GetParError(numPar);} \r | |
39 | \r | |
40 | void FixParam(UInt_t param, Bool_t value) { fIsParamFixed.SetBitNumber(param,value); }\r | |
41 | void FixAllParam(Bool_t value) { for(UInt_t par=0;par<45;par++) fIsParamFixed.SetBitNumber(par,value); }\r | |
ba15fdfb | 42 | Bool_t IsParamFixed(UInt_t param) { return fIsParamFixed.TestBitNumber(param); }\r |
5720c765 | 43 | void SetResolutionConstants(Double_t* resolutionConst, Int_t type);\r |
ba15fdfb | 44 | void SetCrystalBallFunction(Bool_t okCB);\r |
45 | void SetMassWndHigh(Double_t limit);\r | |
46 | void SetMassWndLow(Double_t limit);\r | |
47 | \r | |
48 | Double_t operator()(const Double_t* par) const ;\r | |
49 | void CdfFCN(Int_t & /* npar */, Double_t * /* gin */, Double_t &f, Double_t *par, Int_t /* iflag */);\r | |
50 | \r | |
51 | Double_t* Decaytime() const { return fX; }\r | |
52 | Double_t* InvariantMass() const { return fM; }\r | |
5720c765 | 53 | Int_t* TypeCand() const { return fType;}\r |
54 | AliDielectronBtoJPSItoEleCDFfitFCN* LikelihoodPointer() const { return fLikely; }\r | |
55 | Int_t DoMinimization(Int_t step = 0);\r | |
56 | \r | |
ba15fdfb | 57 | \r |
58 | private:\r | |
59 | //\r | |
60 | TBits fIsParamFixed; //array of bits: 0 = param free; 1 = param fixed;\r | |
61 | Bool_t fPrintStatus; //flag to enable the prit out of the algorithm at each step\r | |
5720c765 | 62 | Double_t fParamStartValues[45]; //array of parameters input value\r |
ba15fdfb | 63 | Double_t fUp; //error definition \r |
5720c765 | 64 | Double_t* fX; //pseudo-proper decay time X\r |
ba15fdfb | 65 | Double_t* fM; //invariant mass M\r |
5720c765 | 66 | Int_t* fType; //candidate type\r |
67 | AliDielectronBtoJPSItoEleCDFfitFCN* fLikely; //Log likelihood function\r | |
ba15fdfb | 68 | Int_t fNcand; //number of candidates\r |
5720c765 | 69 | TGraph* fContPlot1; //contour plot \r |
70 | TGraph* fContPlot2; //contour plot \r | |
71 | TGraph* fContPlot3; //contour plot \r | |
72 | TFitter *fitter; //pointer to TFitter object \r | |
ba15fdfb | 73 | //\r |
74 | ClassDef(AliDielectronBtoJPSItoEleCDFfitHandler,1);\r | |
75 | \r | |
76 | }; \r | |
77 | #endif\r |