]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/vertexingHF/AliBtoJPSItoEleCDFfitHandler.h
Update of B->Jpsi->ee analysis classes
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliBtoJPSItoEleCDFfitHandler.h
CommitLineData
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
20class TBits; \r
7b54a483 21\r
22class 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