ROOT logo
////////////////////////////////////////////////////////////////////////////////
///                                                                          ///
/// AliFemtoChi2CorrFctn - A correlation function that saves the correlation ///
/// function as a function of single track quality (chi2/ndof) for its and   ///
/// tpc                                                                      ///
/// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
///                                                                          ///
////////////////////////////////////////////////////////////////////////////////

#include "AliFemtoChi2CorrFctn.h"
//#include "AliFemtoHisto.hh"
#include <cstdio>

#ifdef __ROOT__ 
ClassImp(AliFemtoChi2CorrFctn)
#endif

//____________________________
AliFemtoChi2CorrFctn::AliFemtoChi2CorrFctn(char* title, const int& nbins, const float& QinvLo, const float& QinvHi):
  AliFemtoCorrFctn(),
  fChi2ITSSUMNumerator(0),
  fChi2ITSSUMDenominator(0),
  fChi2TPCSUMNumerator(0),
  fChi2TPCSUMDenominator(0),
  fChi2ITSONENumerator(0),
  fChi2ITSONEDenominator(0),
  fChi2TPCONENumerator(0),
  fChi2TPCONEDenominator(0),
  fSigmaToVertexNumerator(0),
  fSigmaToVertexDenominator(0)
{
  // set up numerator
  char tTitNum[101] = "NumChi2ITSSUM";
  strncat(tTitNum,title, 100);
  fChi2ITSSUMNumerator = new TH2D(tTitNum,title,nbins,QinvLo,QinvHi,200,0.0,6.0);
  // set up denominator
  char tTitDen[101] = "DenChi2ITSSUM";
  strncat(tTitDen,title, 100);
  fChi2ITSSUMDenominator = new TH2D(tTitDen,title,nbins,QinvLo,QinvHi,200,0.0,6.0);

  // set up numerator
  char tTit2Num[101] = "NumChi2TPCSUM";
  strncat(tTit2Num,title, 100);
  fChi2TPCSUMNumerator = new TH2D(tTit2Num,title,nbins,QinvLo,QinvHi,200,0.0,6.0);
  // set up denominator
  char tTit2Den[101] = "DenChi2TPCSUM";
  strncat(tTit2Den,title, 100);
  fChi2TPCSUMDenominator = new TH2D(tTit2Den,title,nbins,QinvLo,QinvHi,200,0.0,6.0);

  // to enable error bar calculation...
  fChi2ITSSUMNumerator->Sumw2();
  fChi2ITSSUMDenominator->Sumw2();

  fChi2TPCSUMNumerator->Sumw2();
  fChi2TPCSUMDenominator->Sumw2();
  // set up numerator
  snprintf(tTitNum , 100, "%s%s","NumChi2ITSONE",title);
  fChi2ITSONENumerator = new TH2D(tTitNum,title,nbins,QinvLo,QinvHi,200,0.0,6.0);
  // set up denominator
  snprintf(tTitDen , 100, "%s%s", "DenChi2ITSONE", title);
  fChi2ITSONEDenominator = new TH2D(tTitDen,title,nbins,QinvLo,QinvHi,200,0.0,6.0);

  // set up numerator
  snprintf(tTit2Num , 100, "%s%s","NumChi2TPCONE",title);
  fChi2TPCONENumerator = new TH2D(tTit2Num,title,nbins,QinvLo,QinvHi,200,0.0,6.0);
  // set up denominator
  snprintf(tTit2Den , 100, "%s%s", "DenChi2TPCONE", title);
  fChi2TPCONEDenominator = new TH2D(tTit2Den,title,nbins,QinvLo,QinvHi,200,0.0,6.0);

  // set up numerator
  snprintf(tTit2Num , 100, "%s%s","NumSigmaToVertex",title);
  fSigmaToVertexNumerator = new TH2D(tTit2Num,title,nbins,QinvLo,QinvHi,200,0.0,6.0);
  // set up denominator
  snprintf(tTit2Den , 100, "%s%s", "DenSigmaToVertex", title);
  fSigmaToVertexDenominator = new TH2D(tTit2Den,title,nbins,QinvLo,QinvHi,200,0.0,6.0);

  // to enable error bar calculation...
  fChi2ITSONENumerator->Sumw2();
  fChi2ITSONEDenominator->Sumw2();

  fChi2TPCONENumerator->Sumw2();
  fChi2TPCONEDenominator->Sumw2();
}

//____________________________
AliFemtoChi2CorrFctn::AliFemtoChi2CorrFctn(const AliFemtoChi2CorrFctn& aCorrFctn) :
  AliFemtoCorrFctn(),
  fChi2ITSSUMNumerator(0),
  fChi2ITSSUMDenominator(0),
  fChi2TPCSUMNumerator(0),
  fChi2TPCSUMDenominator(0),
  fChi2ITSONENumerator(0),
  fChi2ITSONEDenominator(0),
  fChi2TPCONENumerator(0),
  fChi2TPCONEDenominator(0),
  fSigmaToVertexNumerator(0),
  fSigmaToVertexDenominator(0)
{
  // copy constructor
  if (aCorrFctn.fChi2ITSSUMNumerator)
    fChi2ITSSUMNumerator = new TH2D(*aCorrFctn.fChi2ITSSUMNumerator);
  if (aCorrFctn.fChi2ITSSUMDenominator)
    fChi2ITSSUMDenominator = new TH2D(*aCorrFctn.fChi2ITSSUMDenominator);
  if (aCorrFctn.fChi2TPCSUMNumerator)
    fChi2TPCSUMNumerator = new TH2D(*aCorrFctn.fChi2TPCSUMNumerator);
  if (aCorrFctn.fChi2TPCSUMDenominator)
    fChi2TPCSUMDenominator = new TH2D(*aCorrFctn.fChi2TPCSUMDenominator);
  if (aCorrFctn.fChi2ITSONENumerator)
    fChi2ITSONENumerator = new TH2D(*aCorrFctn.fChi2ITSONENumerator);
  if (aCorrFctn.fChi2ITSONEDenominator)
    fChi2ITSONEDenominator = new TH2D(*aCorrFctn.fChi2ITSONEDenominator);
  if (aCorrFctn.fChi2TPCONENumerator)
    fChi2TPCONENumerator = new TH2D(*aCorrFctn.fChi2TPCONENumerator);
  if (aCorrFctn.fChi2TPCONEDenominator)
    fChi2TPCONEDenominator = new TH2D(*aCorrFctn.fChi2TPCONEDenominator);
  if (aCorrFctn.fSigmaToVertexNumerator)
    fSigmaToVertexNumerator = new TH2D(*aCorrFctn.fSigmaToVertexNumerator);
  if (aCorrFctn.fSigmaToVertexDenominator)
    fSigmaToVertexDenominator = new TH2D(*aCorrFctn.fSigmaToVertexDenominator);
}
//____________________________
AliFemtoChi2CorrFctn::~AliFemtoChi2CorrFctn(){
  // destructor
  delete fChi2ITSSUMNumerator;
  delete fChi2ITSSUMDenominator;
  delete fChi2TPCSUMNumerator;
  delete fChi2TPCSUMDenominator;
  delete fChi2ITSONENumerator;
  delete fChi2ITSONEDenominator;
  delete fChi2TPCONENumerator;
  delete fChi2TPCONEDenominator;
  delete fSigmaToVertexNumerator;
  delete fSigmaToVertexDenominator;
}
//_________________________
AliFemtoChi2CorrFctn& AliFemtoChi2CorrFctn::operator=(const AliFemtoChi2CorrFctn& aCorrFctn)
{
  // assignment operator
  if (this == &aCorrFctn)
    return *this;

  if (aCorrFctn.fChi2ITSSUMNumerator)
    fChi2ITSSUMNumerator = new TH2D(*aCorrFctn.fChi2ITSSUMNumerator);
  else
    fChi2ITSSUMNumerator = 0;
  if (aCorrFctn.fChi2ITSSUMDenominator)
    fChi2ITSSUMDenominator = new TH2D(*aCorrFctn.fChi2ITSSUMDenominator);
  else
    fChi2ITSSUMDenominator = 0;
  if (aCorrFctn.fChi2TPCSUMNumerator)
    fChi2TPCSUMNumerator = new TH2D(*aCorrFctn.fChi2TPCSUMNumerator);
  else
    fChi2TPCSUMNumerator = 0;
  if (aCorrFctn.fChi2TPCSUMDenominator)
    fChi2TPCSUMDenominator = new TH2D(*aCorrFctn.fChi2TPCSUMDenominator);
  else
    fChi2TPCSUMDenominator = 0;
  if (aCorrFctn.fChi2ITSONENumerator)
    fChi2ITSONENumerator = new TH2D(*aCorrFctn.fChi2ITSONENumerator);
  else
    fChi2ITSONENumerator = 0;
  if (aCorrFctn.fChi2ITSONEDenominator)
    fChi2ITSONEDenominator = new TH2D(*aCorrFctn.fChi2ITSONEDenominator);
  else
    fChi2ITSONEDenominator = 0;
  if (aCorrFctn.fChi2TPCONENumerator)
    fChi2TPCONENumerator = new TH2D(*aCorrFctn.fChi2TPCONENumerator);
  else
    fChi2TPCONENumerator = 0;
  if (aCorrFctn.fChi2TPCONEDenominator)
    fChi2TPCONEDenominator = new TH2D(*aCorrFctn.fChi2TPCONEDenominator);
  else
    fChi2TPCONEDenominator = 0;
  if (aCorrFctn.fSigmaToVertexNumerator)
    fSigmaToVertexNumerator = new TH2D(*aCorrFctn.fSigmaToVertexNumerator);
  else
    fSigmaToVertexNumerator = 0;
  if (aCorrFctn.fSigmaToVertexDenominator)
    fSigmaToVertexDenominator = new TH2D(*aCorrFctn.fSigmaToVertexDenominator);
  else
    fSigmaToVertexDenominator = 0;

  return *this;
}
//_________________________
void AliFemtoChi2CorrFctn::Finish(){
  // here is where we should normalize, fit, etc...
  // we should NOT Draw() the histos (as I had done it below),
  // since we want to insulate ourselves from root at this level
  // of the code.  Do it instead at root command line with browser.
  //  mShareNumerator->Draw();
  //mShareDenominator->Draw();
  //mRatio->Draw();

}

//____________________________
AliFemtoString AliFemtoChi2CorrFctn::Report(){
  // create report
  string stemp = "ITS and TPC quality Correlation Function Report:\n";
  char ctemp[100];
  snprintf(ctemp , 100, "Number of entries in numerator:\t%E\n",fChi2ITSSUMNumerator->GetEntries());
  stemp += ctemp;
  snprintf(ctemp , 100, "Number of entries in denominator:\t%E\n",fChi2ITSSUMDenominator->GetEntries());
  stemp += ctemp;
  //  stemp += mCoulombWeight->Report();
  AliFemtoString returnThis = stemp;
  return returnThis;
}
//____________________________
void AliFemtoChi2CorrFctn::AddRealPair( AliFemtoPair* pair){
  // add real (effect) pair
  double tQinv = fabs(pair->QInv());   // note - qInv() will be negative for identical pairs...

  if ((pair->Track1()->Track()->ITSncls() == 0) && (pair->Track2()->Track()->ITSncls() == 0))
    fChi2ITSSUMNumerator->Fill(tQinv, 1000.0);
  else 
    fChi2ITSSUMNumerator->Fill(tQinv, 
			       (pair->Track1()->Track()->ITSchi2() + 
				pair->Track2()->Track()->ITSchi2())/
			       (pair->Track1()->Track()->ITSncls() +
				pair->Track2()->Track()->ITSncls()));
  if ((pair->Track1()->Track()->TPCncls() == 0) && (pair->Track2()->Track()->TPCncls() == 0))
    fChi2TPCSUMNumerator->Fill(tQinv, 1000.0);
  else
    fChi2TPCSUMNumerator->Fill(tQinv, 
			       (pair->Track1()->Track()->TPCchi2() +
				pair->Track2()->Track()->TPCchi2())/
			       (pair->Track1()->Track()->TPCncls() +
				pair->Track2()->Track()->TPCncls()));
  double chi2perpointITS1, chi2perpointITS2;
  if (pair->Track1()->Track()->ITSncls() == 0)
    chi2perpointITS1 = 1000.0;
  else
    chi2perpointITS1 = pair->Track1()->Track()->ITSchi2()/pair->Track1()->Track()->ITSncls();

  if (pair->Track2()->Track()->ITSncls() == 0)
    chi2perpointITS2 = 1000.0;
  else
    chi2perpointITS2 = pair->Track2()->Track()->ITSchi2()/pair->Track2()->Track()->ITSncls();


  if (chi2perpointITS1 > chi2perpointITS2) {
    fChi2ITSONENumerator->Fill(tQinv, chi2perpointITS1);
  }
  else {
    fChi2ITSONENumerator->Fill(tQinv, chi2perpointITS2);
  }

  double chi2perpointTPC1, chi2perpointTPC2;
  if (pair->Track1()->Track()->TPCncls() == 0)
    chi2perpointTPC1 = 1000.0;
  else
    chi2perpointTPC1 = pair->Track1()->Track()->TPCchi2()/pair->Track1()->Track()->TPCncls();

  if (pair->Track2()->Track()->TPCncls() == 0)
    chi2perpointTPC2 = 1000.0;
  else
    chi2perpointTPC2 = pair->Track2()->Track()->TPCchi2()/pair->Track2()->Track()->TPCncls();


  if (chi2perpointTPC1 > chi2perpointTPC2) {
    fChi2TPCONENumerator->Fill(tQinv, chi2perpointTPC1);
  }
  else {
    fChi2TPCONENumerator->Fill(tQinv, chi2perpointTPC2);
  }

  if (pair->Track1()->Track()->SigmaToVertex() > pair->Track2()->Track()->SigmaToVertex()) {
    fSigmaToVertexNumerator->Fill(tQinv, 
				  pair->Track1()->Track()->SigmaToVertex());
  }
  else {
    fSigmaToVertexNumerator->Fill(tQinv, 
				  pair->Track2()->Track()->SigmaToVertex());
  }
}
//____________________________
void AliFemtoChi2CorrFctn::AddMixedPair( AliFemtoPair* pair){
  // add mixed (background) pair
  double tQinv = fabs(pair->QInv());   // note - qInv() will be negative for identical pairs...

  if ((pair->Track1()->Track()->ITSncls() == 0) && (pair->Track2()->Track()->ITSncls() == 0))
    fChi2ITSSUMDenominator->Fill(tQinv, 1000.0);
  else 
    fChi2ITSSUMDenominator->Fill(tQinv, 
				 (pair->Track1()->Track()->ITSchi2() + 
				  pair->Track2()->Track()->ITSchi2())/
				 (pair->Track1()->Track()->ITSncls() +
				  pair->Track2()->Track()->ITSncls()));
  if ((pair->Track1()->Track()->TPCncls() == 0) && (pair->Track2()->Track()->TPCncls() == 0))
    fChi2TPCSUMDenominator->Fill(tQinv, 1000.0);
  else
    fChi2TPCSUMDenominator->Fill(tQinv, 
				 (pair->Track1()->Track()->TPCchi2() +
				  pair->Track2()->Track()->TPCchi2())/
				 (pair->Track1()->Track()->TPCncls() +
				  pair->Track2()->Track()->TPCncls()));
  double chi2perpointITS1, chi2perpointITS2;
  if (pair->Track1()->Track()->ITSncls() == 0)
    chi2perpointITS1 = 1000.0;
  else
    chi2perpointITS1 = pair->Track1()->Track()->ITSchi2()/pair->Track1()->Track()->ITSncls();

  if (pair->Track2()->Track()->ITSncls() == 0)
    chi2perpointITS2 = 1000.0;
  else
    chi2perpointITS2 = pair->Track2()->Track()->ITSchi2()/pair->Track2()->Track()->ITSncls();


  if (chi2perpointITS1 > chi2perpointITS2) {
    fChi2ITSONEDenominator->Fill(tQinv, chi2perpointITS1);
  }
  else {
    fChi2ITSONEDenominator->Fill(tQinv, chi2perpointITS2);
  }

  double chi2perpointTPC1, chi2perpointTPC2;
  if (pair->Track1()->Track()->TPCncls() == 0)
    chi2perpointTPC1 = 1000.0;
  else
    chi2perpointTPC1 = pair->Track1()->Track()->TPCchi2()/pair->Track1()->Track()->TPCncls();

  if (pair->Track2()->Track()->TPCncls() == 0)
    chi2perpointTPC2 = 1000.0;
  else
    chi2perpointTPC2 = pair->Track2()->Track()->TPCchi2()/pair->Track2()->Track()->TPCncls();


  if (chi2perpointTPC1 > chi2perpointTPC2) {
    fChi2TPCONEDenominator->Fill(tQinv, chi2perpointTPC1);
  }
  else {
    fChi2TPCONEDenominator->Fill(tQinv, chi2perpointTPC2);
  }
  if (pair->Track1()->Track()->SigmaToVertex() > pair->Track2()->Track()->SigmaToVertex()) {
    fSigmaToVertexDenominator->Fill(tQinv, 
				  pair->Track1()->Track()->SigmaToVertex());
  }
  else {
    fSigmaToVertexDenominator->Fill(tQinv, 
				  pair->Track2()->Track()->SigmaToVertex());
  }
}


void AliFemtoChi2CorrFctn::WriteHistos()
{
  // Write out result histograms
  fChi2ITSSUMNumerator->Write();
  fChi2ITSSUMDenominator->Write();
  fChi2TPCSUMNumerator->Write();
  fChi2TPCSUMDenominator->Write();
  fChi2ITSONENumerator->Write();
  fChi2ITSONEDenominator->Write();
  fChi2TPCONENumerator->Write();
  fChi2TPCONEDenominator->Write();
  fSigmaToVertexNumerator->Write();
  fSigmaToVertexDenominator->Write();
  
}

TList* AliFemtoChi2CorrFctn::GetOutputList()
{
  // Prepare the list of objects to be written to the output
  TList *tOutputList = new TList();

  tOutputList->Add(fChi2ITSSUMNumerator);
  tOutputList->Add(fChi2ITSSUMDenominator);
  tOutputList->Add(fChi2TPCSUMNumerator);
  tOutputList->Add(fChi2TPCSUMDenominator);
  tOutputList->Add(fChi2ITSONENumerator);
  tOutputList->Add(fChi2ITSONEDenominator);
  tOutputList->Add(fChi2TPCONENumerator);
  tOutputList->Add(fChi2TPCONEDenominator);
  tOutputList->Add(fSigmaToVertexNumerator);
  tOutputList->Add(fSigmaToVertexDenominator);
  
  return tOutputList;

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