ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
#include "AliDielectronBtoJPSItoEleCDFfitFCNfitter.h"
#include "TArrayD.h"
#include "TFormula.h"
#include "TF1.h"
#include "TF2.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TMath.h"

AliDielectronBtoJPSItoEleCDFfitFCNfitter::AliDielectronBtoJPSItoEleCDFfitFCNfitter():
 fInvMass(0x0),
 fX(0x0),
 fX2D(0x0),
 fFCN(0x0),
 fFitOpt("")
{
 //
 // ctor
 //
 fFCN = new AliDielectronBtoJPSItoEleCDFfitFCN();
 fFCN->SetCrystalBallFunction(kTRUE);
 for(Int_t i=0; i<kInvMassTotal; i++) fParameterInvMassToFix[i]=kFALSE;
 for(Int_t i=0; i<kPseudo; i++)  fParameterXToFix[i]=kFALSE;
 for(Int_t i=0; i<kPseudoBkg; i++)  fParameterXbkgToFix[i]=kFALSE;
}
//__________________________________________________________________________________________
AliDielectronBtoJPSItoEleCDFfitFCNfitter::~AliDielectronBtoJPSItoEleCDFfitFCNfitter()
{
 //
 // dtor
 //
 if(fInvMass) delete fInvMass;
 if(fX) delete fX;
 if(fX2D) delete fX2D;
 if(fFCN) delete fFCN;
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::SetInvMassSignalParameters(const Double_t massPar[5])
{
 //
 // Setter of the inv mass signal distribution parameters
 //
fFCN->SetCrystalBallMmean(massPar[0]); //9
fFCN->SetCrystalBallNexp(massPar[1]); //10
fFCN->SetCrystalBallSigma(massPar[2]); //11
fFCN->SetCrystalBallAlpha(massPar[3]); //12
fFCN->SetCrystalBallNorm(massPar[4]); //13
 //for(Int_t i=0; i<kInvMassSignal; i++) printf(" par%i %f \n",i,massPar[i]);
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::SetInvMassParameters(const Double_t massPar[9])
{
 //
 // Setter of the inv mass total distribution parameters
 //
 Double_t massParSig[5];
 Double_t massParBkg[4];

 for(Int_t iPar=0; iPar<9; iPar++){
  if(iPar<5) massParSig[iPar]=massPar[iPar];
  else massParBkg[iPar-5]=massPar[iPar];
 }
 SetInvMassSignalParameters(massParSig);
 SetInvMassBkgParameters(massParBkg);
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::SetInvMassBkgParameters(const Double_t massPar[4])
{
 //
 // Setter of the Inv Mass background distribution parameters
 //
fFCN->SetBkgInvMassNorm(massPar[0]);//14
fFCN->SetBkgInvMassMean(massPar[1]);//15
fFCN->SetBkgInvMassSlope(massPar[2]);//16
fFCN->SetBkgInvMassConst(massPar[3]);//17
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::GetInvMassParameters(TArrayD &massPar)
{
 //
 // Getter of the inv mass total distribution parameters
 //
 massPar.Reset();
 massPar.Set(kInvMassTotal);
 massPar.AddAt(fFCN->GetCrystalBallMmean(),0); //9
 massPar.AddAt(fFCN->GetCrystalBallNexp(),1); //10
 massPar.AddAt(fFCN->GetCrystalBallSigma(),2); //11
 massPar.AddAt(fFCN->GetCrystalBallAlpha(),3); //12
 massPar.AddAt(fFCN->GetCrystalBallNorm(),4); //13
 massPar.AddAt(fFCN->GetBkgInvMassNorm(),5);//14
 massPar.AddAt(fFCN->GetBkgInvMassMean(),6);//15
 massPar.AddAt(fFCN->GetBkgInvMassSlope(),7); //16
 massPar.AddAt(fFCN->GetBkgInvMassConst(),8); //17
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::GetInvMassSignalParameters(TArrayD &massPar)
{
 //
 // Getter of the Inv Mass signal distribution parameters
 //
 massPar.Reset();
 massPar.Set(kInvMassSignal);
 massPar.AddAt(fFCN->GetCrystalBallMmean(),0); //9
 massPar.AddAt(fFCN->GetCrystalBallNexp(),1); //10
 massPar.AddAt(fFCN->GetCrystalBallSigma(),2); //11
 massPar.AddAt(fFCN->GetCrystalBallAlpha(),3); //12
 massPar.AddAt(fFCN->GetCrystalBallNorm(),4); //13

}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::GetInvMassBkgParameters(TArrayD &massPar)
{
 //
 // Getter of the Inv Mass background distribution parameters
 //
 massPar.Reset();
 massPar.Set(kInvMassBkg);
 massPar.AddAt(fFCN->GetBkgInvMassNorm(),0); //14
 massPar.AddAt(fFCN->GetBkgInvMassMean(),1); //15
 massPar.AddAt(fFCN->GetCrystalBallSigma(),2); //11
 massPar.AddAt(fFCN->GetCrystalBallAlpha(),3); //12
}

//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::SetPseudoProperBkgParameters(Double_t xBkgPar[7])
{
 //
 // Setter of the psudoproper background distribution parameters
 //
 fFCN->SetResWeight(xBkgPar[0]);//0
 fFCN->SetFPlus(xBkgPar[1]);//1
 fFCN->SetFMinus(xBkgPar[2]);//2
 fFCN->SetFSym(xBkgPar[3]);//3
 fFCN->SetLamPlus(xBkgPar[4]); //4
 fFCN->SetLamMinus(xBkgPar[5]); // 5	
 fFCN->SetLamSym(xBkgPar[6]); // 6

}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::GetPseudoProperBkgParameters(TArrayD &xBkgPar)
{
 //
 // Getter of the psudoproper background distribution parameters
 //
 xBkgPar.Reset();
 xBkgPar.Set(kPseudoBkg);
 xBkgPar.AddAt(fFCN->GetResWeight(),0);
 xBkgPar.AddAt(fFCN->GetFPlus(),1);
 xBkgPar.AddAt(fFCN->GetFMinus(),2);
 xBkgPar.AddAt(fFCN->GetFSym(),3);
 xBkgPar.AddAt(fFCN->GetLamPlus(),4);
 xBkgPar.AddAt(fFCN->GetLamMinus(),5);
 xBkgPar.AddAt(fFCN->GetLamSym(),6);
}
//__________________________________________________________________________________________
TH1F* AliDielectronBtoJPSItoEleCDFfitFCNfitter::FitInvMassSignal(Double_t norm,Double_t mMin, Double_t mMax)
{
 //
 // Fit on the invariant mass signal distribution ( Crystal ball params ) 
 //
 if(!fInvMass){
  printf("no histogram...exiting\n");
  return 0x0;
 }

 TArrayD pars;
 GetInvMassSignalParameters(pars);

 TF1 * invMass = new TF1("invMassSignal",this,&AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFInvMassSignal,mMin,mMax,kInvMassSignal+1);
 for(Int_t i=0; i<kInvMassSignal ; i++) {
  if(fParameterInvMassToFix[i]) invMass->FixParameter(i,pars.At(i));
  else invMass->SetParameter(i,pars.At(i));
 }
 invMass->SetParameter(kInvMassSignal,norm);
 fInvMass->Fit("invMassSignal",Form("R%s",fFitOpt.Data()),"",mMin,mMax);
 return fInvMass;
}
//__________________________________________________________________________________________
TH1F * AliDielectronBtoJPSItoEleCDFfitFCNfitter::FitInvMass(Double_t norm[2],Double_t mMin, Double_t mMax)
{
 //
 // Fit on the invariant mass total distribution
 //
 if(!fInvMass){
  printf("no histogram...exiting\n");
  return 0x0;
 }

 TArrayD pars;
 GetInvMassParameters(pars);

 TF1 * invMassTot = new TF1("invMassTot",this,&AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFInvMassTotal,mMin,mMax,11);

 for(Int_t i=0; i<kInvMassTotal ; i++) {
  if(fParameterInvMassToFix[i]) invMassTot->FixParameter(i,pars.At(i));
  else invMassTot->SetParameter(i,pars.At(i));
 }

 if(!fParameterInvMassToFix[5]) invMassTot->SetParLimits(5,0,999999999);


 invMassTot->SetParameter(9,norm[0]);
 invMassTot->SetParLimits(9,0,999999999);
 invMassTot->SetParameter(10,norm[1]);
 invMassTot->SetParLimits(10,0,999999999);

 fInvMass->Fit("invMassTot",Form("R%s",fFitOpt.Data()),"",mMin,mMax);

 //printf("Inv Mass Params : ");
 //for(Int_t i=0; i< 11; i++) printf("p%i %f ",i,invMassTot->GetParameter(i));
 //printf("\n");

 return fInvMass;
}
//__________________________________________________________________________________________
void AliDielectronBtoJPSItoEleCDFfitFCNfitter::GetPseudoProperParameters(TArrayD &xPar, Int_t type)
{
 //
 // Getter of the psudoproper background distribution parameters per dielectron type (FF, FS, SS)
 //
 xPar.Reset();
 xPar.Set(kPseudo);
 xPar.AddAt(fFCN->GetNormGaus1ResFunc(type),0); 
 xPar.AddAt(fFCN->GetNormGaus2ResFunc(type),3); 
 xPar.AddAt(fFCN->GetResMean1(type),1); 
 xPar.AddAt(fFCN->GetResSigma1(type),2); 
 xPar.AddAt(fFCN->GetResMean2(type),4); 
 xPar.AddAt(fFCN->GetResSigma2(type),5); 
 xPar.AddAt(fFCN->GetResAlfa(type),6); 
 xPar.AddAt(fFCN->GetResLambda(type),7); 
 xPar.AddAt(fFCN->GetResNormExp(type),8); 
}
//__________________________________________________________________________________________
TH1F * AliDielectronBtoJPSItoEleCDFfitFCNfitter::FitResolutionFunction(Double_t xMin, Double_t xMax, Int_t type, Double_t norm)
{
 //
 // Fit on the resolution function distribution per dielectron type
 //
 if(!fX){
  printf("no Pseudoproper decayhistogram...exiting\n");
  return 0x0;
 }

 TArrayD pars;
 GetPseudoProperParameters(pars,type);

 TF1 * xPrompt = new TF1("xPrompt",this,&AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFResolutionFunction,xMin,xMax,11);
 for(Int_t i=0; i<kPseudo ; i++) {
  if(fParameterXToFix[i]) xPrompt->FixParameter(i,pars.At(i));
  else xPrompt->SetParameter(i,pars.At(i));
  printf("%f ",pars.At(i));
 }
 printf("\n");
 if(!fParameterXToFix[3]) xPrompt->SetParLimits(3,0,999999999);
 xPrompt->FixParameter(9,type);
 xPrompt->SetParameter(10,norm);
 fX->Fit("xPrompt",Form("R%s",fFitOpt.Data()),"",xMin,xMax);

// printf("Res Func type %i : ",type);
// for(Int_t i=0; i< 11; i++) printf("p%i %6.3f ",i,xPrompt->GetParameter(i));
// printf("\n");
 return fX;
}

//__________________________________________________________________________________________
TH2F * AliDielectronBtoJPSItoEleCDFfitFCNfitter::FitBkgPsudoProper(Double_t xMin, Double_t xMax, Double_t norm)
{
 //
 // Fit on the resolution function distribution of the background ( in 2 D, whose one D is the dielectron
 // type)
 //

 if(!fX2D){
  printf("no BKG Pseudoproper decay 2D histogram ...exiting\n");
  return 0x0;
 }

 TArrayD bkgParam;
 GetPseudoProperBkgParameters(bkgParam);

 TF2 *psProperBkgnd = new TF2("bkgPseudoProper",this,
   &AliDielectronBtoJPSItoEleCDFfitFCNfitter::PsProperBackFitFunc,xMin,xMax,-0.5,2.5,8,"AliDielectronBtoJPSItoEleCDFfitFCNfitter","PsProperBackFitFunc");

 for(Int_t i=0; i< kPseudoBkg ; i++) {
  if(fParameterXbkgToFix[i]) psProperBkgnd->FixParameter(i,bkgParam.At(i));
  else psProperBkgnd->SetParameter(i,bkgParam.At(i));
 }
 psProperBkgnd->SetParameter(kPseudoBkg,norm);

 fX2D->Fit("bkgPseudoProper",Form("R%s",fFitOpt.Data()),"LEGO2",xMin,xMax);

 return fX2D;
}

//__________________________________________________________________________________________
Double_t AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFInvMassSignal(const Double_t *x,const Double_t *par)
{
 //
 // function
 //
 SetInvMassSignalParameters(par);
 return par[5]*fFCN->EvaluateCDFInvMassSigDistr(x[0]);
}
//__________________________________________________________________________________________
Double_t AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFInvMassBkg(const Double_t *x,const Double_t *par)
{
 //
 // function
 //
 SetInvMassBkgParameters(par);
 return fFCN->EvaluateCDFInvMassBkgDistr(x[0]);
}
//__________________________________________________________________________________________
Double_t AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFInvMassTotal(const Double_t *x,const Double_t *par)
{
 //
 // function (it doesn't use the function integral->pay attention to it)
 //
 SetInvMassParameters(par);
 //return ((EvaluateCDFInvMassSigDistr(x[0])))*par[9] + (EvaluateCDFInvMassBkgDistr(x[0]))*par[10];
 return (((fFCN->EvaluateCDFInvMassSigDistr(x[0])))*par[9] + (1-par[9])*(fFCN->EvaluateCDFInvMassBkgDistr(x[0])))*par[10];
}
//__________________________________________________________________________________________
Double_t AliDielectronBtoJPSItoEleCDFfitFCNfitter::CDFResolutionFunction(const Double_t *x,const Double_t *par)
{
 //
 // function 
 //
//  Double_t resParam[kPseudo];
//  for(Int_t i=0; i<kPseudo; i++) {
//   resParam[i] = par[i];
//  }
 fFCN->SetResolutionConstants(par,(Int_t)par[9]);
 return par[10]*fFCN->ResolutionFunc(x[0],-1.,(Int_t)(par[9]));
}
//__________________________________________________________________________________________
Double_t AliDielectronBtoJPSItoEleCDFfitFCNfitter::PsProperBackFitFunc(const Double_t* x, const Double_t* par)
{	
 //
 // function 
 //
 Int_t type = TMath::Nint(x[1]);
 Double_t params[7];
 for(Int_t i=0; i<7; i++) params[i]=par[i]; 
 SetPseudoProperBkgParameters(params);		
 return fFCN->EvaluateCDFDecayTimeBkgDistr(x[0],type)*par[7]*fFCN->GetResWeight(type);
}
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:1
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:2
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:3
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:4
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:5
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:6
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:7
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:8
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:9
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:10
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:11
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:12
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:13
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:14
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:15
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:16
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:17
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:18
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:19
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:20
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:21
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:22
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:23
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:24
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:25
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:26
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:27
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:28
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:29
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:30
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:31
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:32
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:33
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:34
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:35
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:36
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:37
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:38
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:39
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:40
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:41
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:42
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:43
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:44
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:45
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:46
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:47
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:48
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:49
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:50
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:51
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:52
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:53
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:54
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:55
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:56
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:57
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:58
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:59
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:60
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:61
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:62
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:63
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:64
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:65
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:66
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:67
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:68
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:69
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:70
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:71
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:72
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:73
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:74
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:75
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:76
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:77
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:78
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:79
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:80
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:81
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:82
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:83
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:84
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:85
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:86
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:87
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:88
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:89
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:90
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:91
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:92
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:93
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:94
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:95
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:96
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:97
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:98
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:99
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:100
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:101
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:102
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:103
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:104
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:105
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:106
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:107
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:108
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:109
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:110
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:111
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:112
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:113
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:114
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:115
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:116
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:117
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:118
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:119
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:120
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:121
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:122
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:123
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:124
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:125
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:126
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:127
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:128
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:129
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:130
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:131
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:132
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:133
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:134
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:135
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:136
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:137
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:138
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:139
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:140
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:141
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:142
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:143
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:144
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:145
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:146
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:147
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:148
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:149
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:150
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:151
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:152
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:153
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:154
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:155
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:156
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:157
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:158
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:159
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:160
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:161
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:162
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:163
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:164
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:165
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:166
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:167
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:168
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:169
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:170
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:171
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:172
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:173
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:174
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:175
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:176
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:177
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:178
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:179
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:180
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:181
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:182
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:183
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:184
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:185
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:186
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:187
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:188
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:189
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:190
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:191
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:192
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:193
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:194
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:195
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:196
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:197
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:198
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:199
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:200
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:201
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:202
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:203
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:204
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:205
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:206
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:207
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:208
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:209
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:210
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:211
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:212
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:213
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:214
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:215
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:216
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:217
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:218
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:219
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:220
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:221
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:222
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:223
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:224
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:225
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:226
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:227
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:228
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:229
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:230
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:231
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:232
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:233
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:234
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:235
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:236
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:237
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:238
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:239
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:240
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:241
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:242
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:243
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:244
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:245
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:246
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:247
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:248
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:249
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:250
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:251
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:252
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:253
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:254
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:255
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:256
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:257
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:258
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:259
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:260
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:261
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:262
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:263
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:264
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:265
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:266
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:267
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:268
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:269
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:270
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:271
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:272
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:273
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:274
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:275
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:276
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:277
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:278
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:279
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:280
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:281
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:282
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:283
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:284
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:285
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:286
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:287
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:288
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:289
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:290
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:291
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:292
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:293
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:294
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:295
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:296
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:297
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:298
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:299
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:300
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:301
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:302
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:303
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:304
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:305
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:306
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:307
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:308
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:309
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:310
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:311
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:312
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:313
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:314
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:315
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:316
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:317
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:318
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:319
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:320
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:321
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:322
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:323
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:324
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:325
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:326
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:327
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:328
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:329
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:330
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:331
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:332
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:333
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:334
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:335
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:336
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:337
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:338
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:339
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:340
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:341
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:342
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:343
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:344
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:345
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:346
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:347
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:348
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:349
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:350
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:351
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:352
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:353
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:354
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:355
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:356
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:357
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:358
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:359
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:360
 AliDielectronBtoJPSItoEleCDFfitFCNfitter.cxx:361