1 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 //-------------------------------------------------------------------------
5 // Class AliAnalysisBtoJPSItoEle
6 // Unbinned log-likelihood fit analysis class
9 // Contact: Carmelo.Digiglio@ba.infn.it , giuseppe.bruno@ba.infn.it
10 //-------------------------------------------------------------------------
15 #include "AliBtoJPSItoEleCDFfitFCN.h"
16 #include "AliBtoJPSItoEleCDFfitHandler.h"
17 #include "AliAnalysisBtoJPSItoEle.h"
20 ClassImp(AliAnalysisBtoJPSItoEle)
22 //_______________________________________________________________________________
23 AliAnalysisBtoJPSItoEle::AliAnalysisBtoJPSItoEle() :
29 // default constructor
32 //___________________________________________________________________________________
33 AliAnalysisBtoJPSItoEle::AliAnalysisBtoJPSItoEle(const AliAnalysisBtoJPSItoEle& source) :
35 fFCNfunction(source.fFCNfunction),
36 fPtBin(source.fPtBin),
37 fMCtemplate(source.fMCtemplate)
43 //_________________________________________________________________________________________________
45 AliAnalysisBtoJPSItoEle &AliAnalysisBtoJPSItoEle::operator=(const AliAnalysisBtoJPSItoEle& source)
48 // assignment operator
50 if(&source == this) return *this;
51 fFCNfunction = source.fFCNfunction;
52 fPtBin = source.fPtBin;
53 fMCtemplate = source.fMCtemplate;
57 //_________________________________________________________________________________________________
58 AliAnalysisBtoJPSItoEle::~AliAnalysisBtoJPSItoEle()
66 //_________________________________________________________________________________________________
67 Int_t AliAnalysisBtoJPSItoEle::DoMinimization()
70 // performs the minimization
72 Int_t iret=fFCNfunction->DoMinimization();
76 //_________________________________________________________________________________________________
77 void AliAnalysisBtoJPSItoEle::ReadCandidates(TNtuple* nt, Double_t* &pseudoproper,Double_t* &invmass, Int_t& ncand)
80 // Read N-tuple with X and M values
82 Float_t mJPSI = 0; Float_t x = 0;
85 nt->SetBranchAddress("Mass",&mJPSI);
86 nt->SetBranchAddress("Xdecaytime",&x);
87 nentries = (Int_t)nt->GetEntries();
88 pseudoproper = new Double_t[nentries];
89 invmass = new Double_t[nentries];
90 for(Int_t i = 0; i < nentries; i++) {
93 pseudoproper[i]=(Double_t)(10000*x);
94 invmass[i]=(Double_t)mJPSI;
99 //_________________________________________________________________________________________________
100 void AliAnalysisBtoJPSItoEle::SetCsiMC()
103 // Sets X distribution used as MC template for JPSI from B
105 fFCNfunction->LikelihoodPointer()->SetCsiMC(fMCtemplate);
109 //_________________________________________________________________________________________________
110 void AliAnalysisBtoJPSItoEle::SetFitHandler(Double_t* x /*pseudoproper*/, Double_t* m /*inv mass*/, Int_t ncand /*candidates*/)
113 // Create the fit handler object to play with different params of the fitting function
116 fFCNfunction = new AliBtoJPSItoEleCDFfitHandler(x,m,ncand);
119 AliInfo("fFCNfunction not istanziated ---> nothing done");