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
6 //___________________________________________________________________________
\r
7 // Class AliDielectronBtoJPSItoEleCDFfitHandler
\r
8 // Class to perform unbinned log-likelihood fit
\r
10 // Origin: C. Di Giglio
\r
11 // Contact: Carmelo.Digiglio@ba.infn.it; Giuseppe.Bruno@ba.infn.it
\r
12 //____________________________________________________________________________
\r
17 class AliDielectronBtoJPSItoEleCDFfitFCN;
\r
19 class AliDielectronBtoJPSItoEleCDFfitHandler : public TNamed {
\r
22 AliDielectronBtoJPSItoEleCDFfitHandler();
\r
23 AliDielectronBtoJPSItoEleCDFfitHandler& operator= (const AliDielectronBtoJPSItoEleCDFfitHandler& c);
\r
24 AliDielectronBtoJPSItoEleCDFfitHandler(const AliDielectronBtoJPSItoEleCDFfitHandler& c);
\r
25 AliDielectronBtoJPSItoEleCDFfitHandler(Double_t* decaytime, Double_t* invariantmass, Int_t ncand);
\r
26 ~AliDielectronBtoJPSItoEleCDFfitHandler();
\r
27 Double_t Up() const { return fUp; }
\r
28 void SetErrorDef(Double_t up) {fUp = up;}
\r
29 void SetPrintStatus(Bool_t okPrintStatus) { fPrintStatus = okPrintStatus; }
\r
30 Bool_t GetPrintStatus() const { return fPrintStatus ; }
\r
31 void SetParamStartValues (Double_t*);
\r
32 Double_t* GetStartParamValues() { return fParamStartValues; }
\r
33 TBits GetFixedParamList() const { return fIsParamFixed; }
\r
34 void FixParam(UInt_t param, Bool_t value) { fIsParamFixed.SetBitNumber(param,value); }
\r
35 void FixAllParam(Bool_t value) { for(UInt_t par=0;par<20;par++) fIsParamFixed.SetBitNumber(par,value); }
\r
36 Bool_t IsParamFixed(UInt_t param) { return fIsParamFixed.TestBitNumber(param); }
\r
37 void SetResolutionConstants(Double_t* resolutionConst);
\r
38 void SetCrystalBallFunction(Bool_t okCB);
\r
39 void SetMassWndHigh(Double_t limit);
\r
40 void SetMassWndLow(Double_t limit);
\r
42 Double_t operator()(const Double_t* par) const ;
\r
43 void CdfFCN(Int_t & /* npar */, Double_t * /* gin */, Double_t &f, Double_t *par, Int_t /* iflag */);
\r
45 Double_t* Decaytime() const { return fX; }
\r
46 Double_t* InvariantMass() const { return fM; }
\r
47 AliDielectronBtoJPSItoEleCDFfitFCN* LikelihoodPointer() const { return fLikely; }
\r
48 Int_t DoMinimization();
\r
52 TBits fIsParamFixed; //array of bits: 0 = param free; 1 = param fixed;
\r
53 Bool_t fPrintStatus; //flag to enable the prit out of the algorithm at each step
\r
54 Double_t fParamStartValues[20]; //array of parameters input value
\r
55 Double_t fUp; //error definition
\r
56 Double_t* fX; //pseudo-proper decay time X
\r
57 Double_t* fM; //invariant mass M
\r
58 AliDielectronBtoJPSItoEleCDFfitFCN* fLikely; //Log likelihood function
\r
59 Int_t fNcand; //number of candidates
\r
61 ClassDef(AliDielectronBtoJPSItoEleCDFfitHandler,1);
\r