ROOT logo
AliRoot » PWGDQ » DIELECTRON » AliDielectronBtoJPSItoEleCDFfitFCN

class AliDielectronBtoJPSItoEleCDFfitFCN: public TNamed

                        Class AliDielectronBtoJPSItoEleCDFfitFCN
                   Definition of main function used in
                     unbinned log-likelihood fit for
                 the channel B -> JPsi + X -> e+e- + X

                           Origin: C.Di Giglio
       Contact: Carmelo.Digiglio@ba.infn.it , Giuseppe.Bruno@ba.infn.it

Function Members (Methods)

public:
AliDielectronBtoJPSItoEleCDFfitFCN()
AliDielectronBtoJPSItoEleCDFfitFCN(const AliDielectronBtoJPSItoEleCDFfitFCN& source)
virtual~AliDielectronBtoJPSItoEleCDFfitFCN()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
voidComputeMassIntegral()
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tEvaluateCDFDecayTimeBkgDistr(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
Double_tEvaluateCDFInvMassBkgDistr(Double_t m) const
Double_tEvaluateCDFInvMassSigDistr(Double_t m) const
Double_tEvaluateLikelihood(const Double_t* pseudoproperdecaytime, const Double_t* invariantmass, const Double_t* pt, const Int_t* type, Int_t ncand) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TF1*GetBkgFunction(Int_t massRange, Int_t ptB, Int_t type) const
Double_tGetBkgInvMassConst() const
Double_tGetBkgInvMassMean() const
Double_tGetBkgInvMassNorm() const
Double_tGetBkgInvMassSlope() const
Double_tGetCrystalBallAlpha() const
Double_tGetCrystalBallMmean() const
Double_tGetCrystalBallNexp() const
Double_tGetCrystalBallNorm() const
Bool_tGetCrystalBallParam() const
Double_tGetCrystalBallSigma() const
TF1*GetCsiMC(Double_t xmin, Double_t xmax, Double_t normalization)
TH1F*GetCsiMcHisto() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TF1*GetEvaluateCDFDecayTimeBkgDistr(Double_t xmin, Double_t xmax, Double_t normalization, Int_t type = 2, Double_t mass = 3.09, Double_t pt = 200., Int_t npx = 5000)
TF1*GetEvaluateCDFDecayTimeBkgDistrAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
TF1*GetEvaluateCDFDecayTimeSigDistr(Double_t xmin, Double_t xmax, Double_t normalization, Double_t type)
TF1*GetEvaluateCDFDecayTimeTotalDistr(Double_t xMin, Double_t xMax, Double_t normalization, Double_t pt = 200., Int_t type = 2)
TF1*GetEvaluateCDFDecayTimeTotalDistrAllTypes(Double_t xMin, Double_t xMax, Double_t normalization)
TF1*GetEvaluateCDFInvMassBkgDistr(Double_t mMin, Double_t mMax, Double_t normalization)
TF1*GetEvaluateCDFInvMassSigDistr(Double_t mMin, Double_t mMax, Double_t normalization)
TF1*GetEvaluateCDFInvMassTotalDistr(Double_t mMin, Double_t mMax, Double_t normalization)
Bool_tGetExponentialParam() const
Double_tGetFMinus() const
Double_tGetFPlus() const
Double_tGetFractionJpsiFromBeauty() const
Double_tGetFsig() const
Double_tGetFSym() const
Double_tGetFSym1() const
TF1*GetFunB(Double_t xmin, Double_t xmax, Double_t normalization, Double_t pt, Int_t type = 2, Int_t npx = 5000)
TF1*GetFunBAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
virtual const char*TObject::GetIconName() const
Double_tGetIntegralMassBkg() const
Double_tGetIntegralMassSig() const
Double_tGetLamMinus() const
Double_tGetLamPlus() const
Double_tGetLamSym() const
Double_tGetLamSym1() const
Bool_tGetMultivariate() const
virtual const char*TNamed::GetName() const
Double_tGetNormGaus1ResFunc(Int_t type) const
Double_tGetNormGaus2ResFunc(Int_t type) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPolyn4() const
Double_tGetPolyn5() const
Double_tGetResAlfa(Int_t type) const
Double_tGetResLambda(Int_t type) const
Double_tGetResMean1(Int_t type) const
Double_tGetResMean2(Int_t type) const
Double_tGetResNormExp(Int_t type) const
TF1*GetResolutionFunc(Double_t xmin, Double_t xmax, Double_t normalization, Double_t pt, Int_t type = 2)
TF1*GetResolutionFuncAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
Double_tGetResSigma1(Int_t type) const
Double_tGetResSigma2(Int_t type) const
Double_tGetResWeight() const
Double_tGetResWeight(Int_t iW) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInitializeFunctions(Int_t ptSize, Int_t massSize)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliDielectronBtoJPSItoEleCDFfitFCN&operator=(const AliDielectronBtoJPSItoEleCDFfitFCN& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintStatus()
virtual Int_tTObject::Read(const char* name)
voidReadMCtemplates(Int_t BinNum)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
Double_tResolutionFunc(Double_t x, Double_t pt, Int_t type) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAllParameters(const Double_t* parameters)
voidSetBackgroundSpecificParameters(Int_t pt, Int_t mb, Int_t tp)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBkgFunction(Int_t massRange, Int_t type, Int_t ptB, TF1* histBkg)
voidSetBkgInvMassConst(Double_t BkgInvMassConst)
voidSetBkgInvMassMean(Double_t BkgInvMassMean)
voidSetBkgInvMassNorm(Double_t BkgInvMassNorm)
voidSetBkgInvMassPolyn4(Double_t coeffPol4)
voidSetBkgInvMassPolyn5(Double_t coeffPol5)
voidSetBkgInvMassSlope(Double_t BkgInvMassSlope)
voidSetBkgParams(Float_t**** pars)
voidSetBkgWeights(Double_t*** bkgWgt)
voidSetChangeMass(Double_t change)
voidSetChangeResolution(Double_t change)
voidSetCrystalBallAlpha(Double_t CrystalBallAlpha)
voidSetCrystalBallFunction(Bool_t okCB)
voidSetCrystalBallMmean(Double_t CrystalBallMmean)
voidSetCrystalBallNexp(Double_t CrystalBallNexp)
voidSetCrystalBallNorm(Double_t CrystalBallNorm)
voidSetCrystalBallSigma(Double_t CrystalBallSigma)
voidSetCsiMC(const TH1F* MCtemplate)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetExponentialFunction(Bool_t okExp)
voidSetExtrapolationRegion(Int_t extrRegion)
voidSetFMinus(Double_t minus)
voidSetFPlus(Double_t plus)
voidSetFractionJpsiFromBeauty(Double_t B)
voidSetFsig(Double_t Fsig)
voidSetFSym(Double_t sym)
voidSetFSym1(Double_t sym)
voidSetFunBFunction(Int_t type, Int_t ptB, TF1* histSec)
voidSetFunctionsSaved(Int_t npxFunB = 5000, Int_t npxFunBkg = 5000, Double_t funBLimits = 20000., Double_t funBkgLimits = 40000., Int_t signalRegion = 2)
voidSetIntegralMassBkg(Double_t integral)
voidSetIntegralMassSig(Double_t integral)
voidSetLamMinus(Double_t lamminus)
voidSetLamPlus(Double_t lamplus)
voidSetLamSym(Double_t lamsym)
voidSetLamSym1(Double_t lamsym)
voidSetLoadFunction(Bool_t loadFunc)
voidSetMassWindows(TArrayD* msWnd)
voidSetMassWndHigh(Double_t limit)
voidSetMassWndLow(Double_t limit)
voidSetMultivariateFit(Bool_t multVar)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNormGaus1ResFunc(Double_t norm1)
voidSetNormGaus2ResFunc(Double_t norm2)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPtWindows(TArrayD* ptWnd)
voidSetResolutionConstants(const Double_t* resolutionConst, Int_t type)
voidSetResParams(Double_t*** pars)
voidSetResWeight(Double_t resWgt)
voidSetTemplateShift(Double_t shift = 0.)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWeightType(Double_t wFF, Double_t wFS, Double_t wSS)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Double_tCsiMC(Double_t x) const
Double_tCsiMCfunc(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFDecayTimeBkgDistrDifferential(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
Double_tEvaluateCDFDecayTimeBkgDistrFunc(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFDecayTimeBkgDistrFuncAllTypes(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFDecayTimeBkgDistrSaved(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
Double_tEvaluateCDFDecayTimeSigDistr(Double_t x, Double_t pt, Int_t type) const
Double_tEvaluateCDFDecayTimeSigDistrFunc(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFDecayTimeTotalDistr(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFDecayTimeTotalDistrAllTypes(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFfunc(Double_t x, Double_t m, Double_t pt, Int_t type) const
Double_tEvaluateCDFfuncBkgPart(Double_t x, Double_t m, Double_t pt, Int_t type) const
Double_tEvaluateCDFfuncNorm(Double_t x, Double_t m, Double_t pt, Int_t type) const
Double_tEvaluateCDFfuncSignalPart(Double_t x, Double_t m, Double_t pt, Int_t type) const
Double_tEvaluateCDFInvMassBkgDistrFunc(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFInvMassSigDistrFunc(const Double_t* x, const Double_t* par) const
Double_tEvaluateCDFInvMassTotalDistr(const Double_t* x, const Double_t* par) const
Double_tFunB(Double_t x, Double_t pt, Int_t type) const
Double_tFunBfunc(const Double_t* x, const Double_t* par) const
Double_tFunBfuncAllTypes(const Double_t* x, const Double_t* par) const
Double_tFunBkgNeg(Double_t x, Double_t pt, Int_t type) const
Double_tFunBkgPos(Double_t x, Double_t pt, Int_t type) const
Double_tFunBkgSym(Double_t x, Double_t pt, Int_t type) const
Double_tFunBkgSym1(Double_t x, Double_t pt, Int_t type) const
Double_tFunBsaved(Double_t x, Double_t pt, Int_t type) const
Double_tFunP(Double_t x, Double_t pt, Int_t type) const
Double_tResolutionFuncAllTypes(const Double_t* x, const Double_t* par) const
Double_tResolutionFuncf(const Double_t* x, const Double_t* par) const

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Float_t****fBkgParamsx background parameters in pt, mass, type bins
Double_tfChangeMassconstant to change the RMS of the signal mass function
Double_tfChangeResolutionconstant to change the RMS of the resolution function
Bool_tfCrystalBallParamBoolean to switch to Crystall Ball parameterisation
Bool_tfExponentialParamBoolean to switch to Exponential parameterisation
Double_tfFMinusslopes of the x distributions of the background
Double_tfFPlusparameter of the log-likelihood function
Double_tfFSymfunctions
TF1***fFunBSavedpointers to save functions for x of non-prompt J/psi in pt, mass, type bins
TF1****fFunBkgSavedpointers to save functions for x of background in pt, mass, type bins
Bool_tfLoadFunctionsboolean to load functions saved
TArrayD*fMassWindowslimits for invariant mass bins
Double_tfMassWndHighJPSI Mass window higher limit
Double_tfMassWndLowJPSI Mass window lower limit
Bool_tfMultivariateswitch-on multivariate fit
Double_tfParameters[49]par[0] = weightRes;
TArrayD*fPtWindowslimits for pt bins
Double_t***fResParamsresolution function parameters in pt and type bins
Double_tfShiftTemplateto shift the MC template
Double_tfSignalBinForExtrapolationinv. mass region in which extrapolate the background shape
Double_tfWeightType[3]vector with weights of candidates types (used to draw functions)
Double_t***fWeightsweights to interpolate bkg shape in pt, mass, type bins under signal region
TH1F*fhCsiMCX distribution used as MC template for JPSI from B
Double_tfintmMassBkgintegral of invariant mass distribution for the bkg
Double_tfintmMassSigintegral of invariant mass distribution for the signal

Class Charts

Inheritance Chart:
TNamed
AliDielectronBtoJPSItoEleCDFfitFCN

Function documentation

AliDielectronBtoJPSItoEleCDFfitFCN()
 constructor

AliDielectronBtoJPSItoEleCDFfitFCN(const AliDielectronBtoJPSItoEleCDFfitFCN& source)
 Copy constructor

AliDielectronBtoJPSItoEleCDFfitFCN& operator=(const AliDielectronBtoJPSItoEleCDFfitFCN& source)
 Assignment operator

~AliDielectronBtoJPSItoEleCDFfitFCN()
 Default destructor

Double_t EvaluateLikelihood(const Double_t* pseudoproperdecaytime, const Double_t* invariantmass, const Double_t* pt, const Int_t* type, Int_t ncand) const
 This function evaluates the Likelihood fnction
 It returns the -Log(of the likelihood function)

void SetAllParameters(const Double_t* parameters)
 Sets array of FCN parameters

void ComputeMassIntegral()
 this function compute the integral of the likelihood function
 (theoretical function) in order to normalize it to unity

void PrintStatus()
  Print the parameters of the fits

void SetResolutionConstants(const Double_t* resolutionConst, Int_t type)
 Resolution function is parametrized as the sum of two gaussian

Double_t EvaluateCDFfunc(Double_t x, Double_t m, Double_t pt, Int_t type) const
 evaluate likelihood function
printf("CDF func ---> x = %f m = %f pt = %f type = %d \n",x,m,pt,type);
Double_t EvaluateCDFfuncNorm(Double_t x, Double_t m, Double_t pt, Int_t type) const
 evaluate likelihood function
Double_t EvaluateCDFfuncSignalPart(Double_t x, Double_t m, Double_t pt, Int_t type) const
 evaluate psproper signal
Double_t EvaluateCDFDecayTimeSigDistr(Double_t x, Double_t pt, Int_t type) const
 Implementation of the Background part of the Likelyhood function

Double_t EvaluateCDFInvMassSigDistr(Double_t m) const
 Parametrization of signal part invariant mass distribution
 It can be either Crystal Ball function or sum of two Landau

Double_t FunB(Double_t x, Double_t pt, Int_t type) const
 Parameterisation of the fit function for the x part of the Background

Double_t FunP(Double_t x, Double_t pt, Int_t type) const
  Parameterisation of the Prompt part for the x distribution

Double_t CsiMC(Double_t x) const
  Distribution (template) of the x distribution for the x variable
  for the J/psi coming from Beauty hadrons

Double_t EvaluateCDFfuncBkgPart(Double_t x, Double_t m, Double_t pt, Int_t type) const
 Return the part of the likelihood function for the background hypothesis

Double_t EvaluateCDFDecayTimeBkgDistr(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
 it returns the value of the probability to have a given x for the background
 in the pt, m , type correspondent range

Double_t EvaluateCDFInvMassBkgDistr(Double_t m) const
 it returns the value of the probability to have a given mass for the background

Double_t FunBkgPos(Double_t x, Double_t pt, Int_t type) const
 exponential with positive slopes for the background part (x)

Double_t FunBkgNeg(Double_t x, Double_t pt, Int_t type) const
 exponential with negative slopes for the background part (x)

Double_t FunBkgSym(Double_t x, Double_t pt, Int_t type) const
 exponential with both positive and negative slopes for the background part (x)

Double_t FunBkgSym1(Double_t x, Double_t pt, Int_t type) const
 exponential with both positive and negative slopes for the background part (x)

Double_t ResolutionFunc(Double_t x, Double_t pt, Int_t type) const
 parametrization with 2 gaus

TF1* GetCsiMC(Double_t xmin, Double_t xmax, Double_t normalization)
 return the pointer to the templateMC function
TF1* GetResolutionFunc(Double_t xmin, Double_t xmax, Double_t normalization, Double_t pt, Int_t type = 2)
 return the pointer to the resolution function
TF1* GetResolutionFuncAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
 return the pointer to the resolution function
TF1* GetEvaluateCDFDecayTimeBkgDistr(Double_t xmin, Double_t xmax, Double_t normalization, Int_t type = 2, Double_t mass = 3.09, Double_t pt = 200., Int_t npx = 5000)
 return the pointer to the background x distribution function
TF1* GetEvaluateCDFDecayTimeBkgDistrAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
 return the pointer to the background x distribution function
TF1* GetEvaluateCDFDecayTimeSigDistr(Double_t xmin, Double_t xmax, Double_t normalization, Double_t type)
 return the pointer to the signal x distribution function
TF1* GetEvaluateCDFInvMassBkgDistr(Double_t mMin, Double_t mMax, Double_t normalization)
 return the pointer to the invariant mass distribution for the background
TF1* GetEvaluateCDFInvMassSigDistr(Double_t mMin, Double_t mMax, Double_t normalization)
 return the pointer to the invariant mass distribution for the signal
TF1 * GetEvaluateCDFInvMassTotalDistr(Double_t mMin, Double_t mMax, Double_t normalization)
 return the pointer to the invariant mass distribution
Double_t EvaluateCDFInvMassTotalDistr(const Double_t* x, const Double_t* par) const
 evaluate invariant mass total distribution
TF1 * GetEvaluateCDFDecayTimeTotalDistr(Double_t xMin, Double_t xMax, Double_t normalization, Double_t pt = 200., Int_t type = 2)
 return the pointer to the pseudoproper distribution for the background
Double_t EvaluateCDFDecayTimeTotalDistr(const Double_t* x, const Double_t* par) const
 evaluate the total pseudoproper distribution for a given candidate's type. par[1] should be the candidate's type.
Double_t EvaluateCDFDecayTimeTotalDistrAllTypes(const Double_t* x, const Double_t* par) const
 evaluate the total pseudoproper distribution considering all candidate's types
TF1 * GetEvaluateCDFDecayTimeTotalDistrAllTypes(Double_t xMin, Double_t xMax, Double_t normalization)
 return the pointer to the pseudoproper function for the background considering all candidate's types
TF1 * GetFunB(Double_t xmin, Double_t xmax, Double_t normalization, Double_t pt, Int_t type = 2, Int_t npx = 5000)
 return the pointer to the function that describe secondary jpsi pseudoproper distribution for a given candidate's type
TF1 * GetFunBAllTypes(Double_t xmin, Double_t xmax, Double_t normalization)
 return the pointer to the function that describe secondary jpsi pseudoproper distribution for all types
void SetBackgroundSpecificParameters(Int_t pt, Int_t mb, Int_t tp)
 methods to set specific background parameters in bins(pt, inv. mass, type)

void InitializeFunctions(Int_t ptSize, Int_t massSize)
 initialize pointers to save functions for the  multivariate fit

Double_t FunBsaved(Double_t x, Double_t pt, Int_t type) const
   functions to describe non-prompt J/psi x distributions

void SetFunctionsSaved(Int_t npxFunB = 5000, Int_t npxFunBkg = 5000, Double_t funBLimits = 20000., Double_t funBkgLimits = 40000., Int_t signalRegion = 2)
 save functions for the multivariate fit

Double_t EvaluateCDFDecayTimeBkgDistrDifferential(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
 it returns the value of the probability to have a given x for the background
 in the pt, m , type correspondent range

Double_t EvaluateCDFDecayTimeBkgDistrSaved(Double_t x, Int_t type, Double_t m = 3.09, Double_t pt = 200.) const
 it returns the value of the probability to have a given x for the background
 in the pt, m , type correspondent range

Double_t GetResWeight() const
 getters for parameters
{ return fParameters[0]; }
Double_t GetFPlus() const
{ return fParameters[1]; }
Double_t GetFMinus() const
{ return fParameters[2]; }
Double_t GetFSym() const
{ return fParameters[3]; }
Double_t GetFSym1() const
{ return fParameters[46]; }
Double_t GetLamPlus() const
{ return fParameters[4]; }
Double_t GetLamMinus() const
{ return fParameters[5]; }
Double_t GetLamSym() const
{ return fParameters[6]; }
Double_t GetLamSym1() const
{ return fParameters[45]; }
Double_t GetFractionJpsiFromBeauty() const
{ return fParameters[7]; }
Double_t GetFsig() const
{ return fParameters[8]; }
Double_t GetCrystalBallMmean() const
{ return fParameters[9]; }
Double_t GetCrystalBallNexp() const
{ return fParameters[10]; }
Double_t GetCrystalBallSigma() const
{ return fParameters[11]; }
Double_t GetCrystalBallAlpha() const
{ return fParameters[12]; }
Double_t GetCrystalBallNorm() const
{ return fParameters[13]; }
Double_t GetBkgInvMassNorm() const
{ return fParameters[14]; }
Double_t GetBkgInvMassMean() const
{ return fParameters[15]; }
Double_t GetBkgInvMassSlope() const
{ return fParameters[16]; }
Double_t GetBkgInvMassConst() const
{ return fParameters[17]; }
Double_t GetNormGaus1ResFunc(Int_t type) const
{ return fParameters[18+(2-type)*9]; }
Double_t GetNormGaus2ResFunc(Int_t type) const
{ return fParameters[19+(2-type)*9]; }
Double_t GetIntegralMassSig() const
{ return fintmMassSig; }
Double_t GetIntegralMassBkg() const
{ return fintmMassBkg; }
Double_t GetResMean1(Int_t type) const
{ return fParameters[20+(2-type)*9]; }
Double_t GetResSigma1(Int_t type) const
{ return fParameters[21+(2-type)*9]; }
Double_t GetResMean2(Int_t type) const
{ return fParameters[22+(2-type)*9]; }
Double_t GetResSigma2(Int_t type) const
{ return fParameters[23+(2-type)*9]; }
Double_t GetResAlfa(Int_t type) const
{ return fParameters[24+(2-type)*9]; }
Double_t GetResLambda(Int_t type) const
{ return fParameters[25+(2-type)*9]; }
Double_t GetResNormExp(Int_t type) const
{ return fParameters[26+(2-type)*9]; }
Double_t GetPolyn4() const
{ return fParameters[47]; }
Double_t GetPolyn5() const
{ return fParameters[48]; }
Bool_t GetCrystalBallParam() const
{ return fCrystalBallParam; }
Bool_t GetExponentialParam() const
{ return fExponentialParam; }
TH1F * GetCsiMcHisto() const
{ return fhCsiMC; }
Double_t GetResWeight(Int_t iW) const
{ return fWeightType[iW]; }
void SetResWeight(Double_t resWgt)
{fParameters[0] = resWgt;}
void SetFPlus(Double_t plus)
{fParameters[1] = plus;}
void SetFMinus(Double_t minus)
{fParameters[2] = minus;}
void SetFSym(Double_t sym)
{fParameters[3] = sym;}
void SetFSym1(Double_t sym)
{fParameters[46] = sym;}
void SetLamPlus(Double_t lamplus)
{fParameters[4] = lamplus;}
void SetLamMinus(Double_t lamminus)
{fParameters[5] = lamminus;}
void SetLamSym(Double_t lamsym)
{fParameters[6] = lamsym;}
void SetLamSym1(Double_t lamsym)
{fParameters[45] = lamsym;}
void SetFractionJpsiFromBeauty(Double_t B)
{fParameters[7] = B;}
void SetFsig(Double_t Fsig)
{fParameters[8] = Fsig;}
void SetCrystalBallMmean(Double_t CrystalBallMmean)
{fParameters[9] = CrystalBallMmean;}
void SetCrystalBallNexp(Double_t CrystalBallNexp)
{fParameters[10] = CrystalBallNexp;}
void SetCrystalBallSigma(Double_t CrystalBallSigma)
{fParameters[11] = CrystalBallSigma;}
void SetCrystalBallAlpha(Double_t CrystalBallAlpha)
{fParameters[12] = CrystalBallAlpha;}
void SetCrystalBallNorm(Double_t CrystalBallNorm)
{fParameters[13] = CrystalBallNorm;}
void SetBkgInvMassNorm(Double_t BkgInvMassNorm)
{fParameters[14] = BkgInvMassNorm;}
void SetBkgInvMassMean(Double_t BkgInvMassMean)
{fParameters[15] = BkgInvMassMean;}
void SetBkgInvMassSlope(Double_t BkgInvMassSlope)
{fParameters[16] = BkgInvMassSlope;}
void SetBkgInvMassConst(Double_t BkgInvMassConst)
{fParameters[17] = BkgInvMassConst;}
void SetBkgInvMassPolyn4(Double_t coeffPol4)
{fParameters[47] = coeffPol4;}
void SetBkgInvMassPolyn5(Double_t coeffPol5)
{fParameters[48] = coeffPol5;}
void SetNormGaus1ResFunc(Double_t norm1)
{fParameters[18] = norm1;}
void SetNormGaus2ResFunc(Double_t norm2)
{fParameters[19] = norm2;}
void SetIntegralMassSig(Double_t integral)
{ fintmMassSig = integral; }
void SetIntegralMassBkg(Double_t integral)
{ fintmMassBkg = integral; }
void SetCsiMC(const TH1F* MCtemplate)
{fhCsiMC = (TH1F*)MCtemplate->Clone("fhCsiMC");}
void SetTemplateShift(Double_t shift = 0.)
{fShiftTemplate = shift;}
void SetMassWndHigh(Double_t limit)
{ fMassWndHigh = TDatabasePDG::Instance()->GetParticle(443)->Mass() + limit ;}
void SetMassWndLow(Double_t limit)
{ fMassWndLow = TDatabasePDG::Instance()->GetParticle(443)->Mass() - limit ;}
void SetCrystalBallFunction(Bool_t okCB)
void SetExponentialFunction(Bool_t okExp)
void SetWeightType(Double_t wFF, Double_t wFS, Double_t wSS)
{fWeightType[0]= wSS; fWeightType[1]= wFS; fWeightType[2]= wFF;}
void SetChangeResolution(Double_t change)
{fChangeResolution = change;}
void SetChangeMass(Double_t change)
{fChangeMass = change;}
void ReadMCtemplates(Int_t BinNum)
void SetBkgWeights(Double_t*** bkgWgt)
specific methods for multi-variational fit
void SetBkgFunction(Int_t massRange, Int_t type, Int_t ptB, TF1* histBkg)
TF1 * GetBkgFunction(Int_t massRange, Int_t ptB, Int_t type) const
{return fFunBkgSaved[ptB][massRange][type];}
void SetFunBFunction(Int_t type, Int_t ptB, TF1* histSec)
{ fFunBSaved[ptB][type] = histSec; }
void SetExtrapolationRegion(Int_t extrRegion)
void SetMultivariateFit(Bool_t multVar)
{ fMultivariate = multVar;}
Bool_t GetMultivariate() const
{ return fMultivariate;}
void SetResParams(Double_t*** pars)
{ fResParams = pars;}
void SetBkgParams(Float_t**** pars)
{ fBkgParams = pars;}
void SetMassWindows(TArrayD* msWnd)
{ fMassWindows = msWnd;}
void SetPtWindows(TArrayD* ptWnd)
{ fPtWindows = ptWnd;}
Double_t EvaluateCDFDecayTimeSigDistrFunc(const Double_t* x, const Double_t* par) const
{ return par[0]*EvaluateCDFDecayTimeSigDistr(x[0],par[1],(Int_t)par[2]);}
Double_t EvaluateCDFInvMassSigDistrFunc(const Double_t* x, const Double_t* par) const
Double_t EvaluateCDFDecayTimeBkgDistrFunc(const Double_t* x, const Double_t* par) const
{ return EvaluateCDFDecayTimeBkgDistr(x[0],(Int_t)par[1],par[2],par[3])*par[0];}
Double_t EvaluateCDFDecayTimeBkgDistrFuncAllTypes(const Double_t* x, const Double_t* par) const
Double_t EvaluateCDFInvMassBkgDistrFunc(const Double_t* x, const Double_t* par) const
Double_t FunBfunc(const Double_t* x, const Double_t* par) const
{return FunB(x[0],par[1],(Int_t)par[2])*par[0];}
Double_t FunBfuncAllTypes(const Double_t* x, const Double_t* par) const
{return (fWeightType[2]*FunB(x[0],200.,2)+fWeightType[1]*FunB(x[0],200.,1)+fWeightType[0]*FunB(x[0],200.,0))*par[0];}
Double_t CsiMCfunc(const Double_t* x, const Double_t* par) const
{ return CsiMC(x[0])*par[0];}
Double_t ResolutionFuncf(const Double_t* x, const Double_t* par) const
{ return ResolutionFunc(x[0],par[1],(Int_t)par[2])*par[0];}
Double_t ResolutionFuncAllTypes(const Double_t* x, const Double_t* par) const
{ return (fWeightType[2]*ResolutionFunc(x[0],200.,2)+fWeightType[1]*ResolutionFunc(x[0],200.,1)+fWeightType[0]*ResolutionFunc(x[0],200.,0))*par[0]; }