]>
Commit | Line | Data |
---|---|---|
7b54a483 | 1 | #ifndef ALIBTOJPSITOELECDFFITHANDLER_H\r |
2 | #define ALIBTOJPSITOELECDFFITHANDLER_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 AliBtoJPSItoEleCDFfitHandler\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 | |
f9fd1412 | 15 | #include <TBits.h>\r |
7b54a483 | 16 | #include "TMath.h"\r |
17 | #include "AliBtoJPSItoEleCDFfitFCN.h"\r | |
f9fd1412 | 18 | #include "AliLog.h"\r |
19 | \r | |
20 | class TBits; \r | |
7b54a483 | 21 | \r |
22 | class AliBtoJPSItoEleCDFfitHandler : public TNamed {\r | |
23 | public:\r | |
24 | //\r | |
25 | AliBtoJPSItoEleCDFfitHandler();\r | |
26 | AliBtoJPSItoEleCDFfitHandler& operator= (const AliBtoJPSItoEleCDFfitHandler& c);\r | |
27 | AliBtoJPSItoEleCDFfitHandler(const AliBtoJPSItoEleCDFfitHandler& c);\r | |
28 | AliBtoJPSItoEleCDFfitHandler(Double_t* decaytime, Double_t* invariantmass, Int_t ncand);\r | |
29 | ~AliBtoJPSItoEleCDFfitHandler(); \r | |
f9fd1412 | 30 | //Double_t Up() const { return fUp*TMath::Sqrt(fLikely->GetIntegral()); }\r |
31 | Double_t Up() const { return fUp; }\r | |
7b54a483 | 32 | void SetErrorDef(Double_t up) {fUp = up;}\r |
f9fd1412 | 33 | void SetPrintStatus(Bool_t okPrintStatus) { fPrintStatus = okPrintStatus; } \r |
34 | Bool_t GetPrintStatus() { return fPrintStatus ; }\r | |
35 | void SetParamStartValues (Double_t*);\r | |
36 | Double_t* GetStartParamValues() { return fParamStartValues; }\r | |
37 | TBits GetFixedParamList() { return fIsParamFixed; }\r | |
38 | void FixParam(UInt_t param, Bool_t value) { fIsParamFixed.SetBitNumber(param,value); }\r | |
39 | void FixAllParam(Bool_t value) { for(UInt_t par=0;par<16;par++) fIsParamFixed.SetBitNumber(par,value); }\r | |
40 | Bool_t IsParamFixed(UInt_t param) { return fIsParamFixed.TestBitNumber(param); }\r | |
41 | void SetResolutionConstants();\r | |
42 | void SetCrystalBallFunction(Bool_t okCB);\r | |
43 | void SetMassWndHigh(Double_t limit);\r | |
44 | void SetMassWndLow(Double_t limit);\r | |
7b54a483 | 45 | \r |
46 | Double_t operator()(const Double_t* par) const ;\r | |
47 | void CdfFCN(Int_t & /* npar */, Double_t * /* gin */, Double_t &f, Double_t *par, Int_t /* iflag */);\r | |
48 | \r | |
49 | Double_t* Decaytime() const { return fX; }\r | |
50 | Double_t* InvariantMass() const { return fM; }\r | |
51 | AliBtoJPSItoEleCDFfitFCN* LikelihoodPointer() const { return fLikely; }\r | |
52 | Int_t DoMinimization();\r | |
53 | \r | |
54 | private:\r | |
55 | //\r | |
f9fd1412 | 56 | TBits fIsParamFixed; //array of bits: 0 = param free; 1 = param fixed;\r |
57 | Bool_t fPrintStatus; //flag to enable the prit out of the algorithm at each step\r | |
58 | Double_t fParamStartValues[16]; //array of parameters input value\r | |
7b54a483 | 59 | Double_t fUp; //error definition \r |
60 | Double_t* fX; //pseudo-proper decay time X\r | |
61 | Double_t* fM; //invariant mass M\r | |
62 | AliBtoJPSItoEleCDFfitFCN* fLikely; //Log likelihood function\r | |
63 | Int_t fNcand; //number of candidates\r | |
64 | //\r | |
f9fd1412 | 65 | ClassDef(AliBtoJPSItoEleCDFfitHandler,1);\r |
7b54a483 | 66 | \r |
67 | }; \r | |
68 | #endif\r |