ROOT logo
/**
 * @file   AliForwardMultiplicityDistribution.cxx
 * @author Christian Holm Christensen <cholm@master.hehi.nbi.dk>
 * @date   Thu Feb  7 01:03:52 2013
 * 
 * @brief  
 * 
 * @ingroup pwglf_forward_multdist
 * 
 */
#include <TH1D.h>
#include "AliForwardMultiplicityDistribution.h"
#include "AliAODForwardMult.h"
#include "AliAODCentralMult.h"
#include "AliAODEvent.h"
#include "TString.h"

ClassImp(AliForwardMultiplicityDistribution)
#if 0
; // This is for Emacs - do not delete
#endif
//______________________________________________________________________
AliForwardMultiplicityDistribution::AliForwardMultiplicityDistribution() 
  : AliBaseAODTask(), 
    fBins(),       // eta bin list
    fNBins(-1)     // multiplicity axis' runs from 0 to fNbins
{
  //
  // Default Constructor
  //
}
 
//_____________________________________________________________________
AliForwardMultiplicityDistribution::AliForwardMultiplicityDistribution(const char* name) 
  : AliBaseAODTask(name, "AliForwardMultiplicityDistribution"),
    fBins(),       // eta bin list
    fNBins(-1)    // multiplicity axis' runs from 0 to fNbins
{
  //
  // Constructor
  //
}
//_____________________________________________________________________
Bool_t AliForwardMultiplicityDistribution::Book()
{
  TH1D* dndetaSumForward = new TH1D("dndetaSumForward","dndetaSumForward", 
				    200,-4,6);
  TH1D* dndetaSumCentral = new TH1D("dndetaSumCentral","dndetaSumCentral", 
				    200,-4,6);
  fSums->Add(dndetaSumForward);
  fSums->Add(dndetaSumCentral);
  
  
  TH1D* dndetaEventForward = new TH1D();
  TH1D* dndetaEventCentral = new TH1D();
  fSums->Add(dndetaEventForward);
  fSums->Add(dndetaEventCentral);
  
  //Loop over all individual eta bins, and define their hisograms 
  TIter next(&fBins);
  Bin * bin = 0;
  while ((bin = static_cast<Bin*>(next()))) { 
    bin->CreateOutputObjectss(fSums, fNBins);
  }
  return true;
}


//_____________________________________________________________________
Bool_t AliForwardMultiplicityDistribution::Event(AliAODEvent& aod)
{
  //
  // User Exec
  //
  AliAODForwardMult* AODforward = GetForward(aod);
  if (!AODforward) return false;

  AliAODCentralMult* AODcentral = GetCentral(aod);
  if (!AODcentral) return false;

  TH2D& forward = AODforward->GetHistogram();
  TH2D& central = AODcentral->GetHistogram();
  
  TH1D* dndetaSumForward   = (TH1D*)fSums->FindObject("dndetaSumForward");
  TH1D* dndetaSumCentral   = (TH1D*)fSums->FindObject("dndetaSumCentral");
  TH1D* dndetaEventForward = 0;//(TH1D*)fList->FindObject("dndetaEventForward");
  TH1D* dndetaEventCentral = 0;//(TH1D*)fList->FindObject("dndetaEventCentral");
  TH1D* normEventForward   = 0;
  TH1D* normEventCentral   = 0;

  // ACHTUNG ACHTUNG ACHTUNG! Serious memory leak here!
  dndetaEventForward = forward.ProjectionX("dndetaForward",1,forward.GetNbinsY(),"");
  dndetaEventCentral = central.ProjectionX("dndetaCentral",1,central.GetNbinsY(),"");
  dndetaSumForward->Add(dndetaEventForward);
  dndetaSumCentral->Add(dndetaEventCentral);
  
  // underflow eta bin of forward/central carry information on whether
  // there is acceptance. 1= acceptance, 0= no acceptance
  // 
  // ACHTUNG ACHTUNG ACHTUNG! Serious memory leak here!
  normEventForward   = forward.ProjectionX("dndetaEventForwardNorm",0,0,"");
  normEventCentral   = central.ProjectionX("dndetaEventCentralNorm",0,0,"");
  
  Double_t VtxZ = AODforward->GetIpZ();

  
  // loop over all eta bins, and fill multiplicity histos
  TIter next(&fBins);
  Bin * bin = 0;
  while ((bin = static_cast<Bin*>(next()))) { 
    bin->Process(dndetaEventForward, dndetaEventCentral, 
		 normEventForward,   normEventCentral, VtxZ);
  }
  
  // ACHTUNG ACHTUNG ACHTUNG! Serious memory leak here!
  // We should do 
  // 
  // delete dndetaEventForward;
  // delete dndetaEventCentral;
  // delete normEventForward;
  // delete normEventCentral;
  // 
  // and remove them from the output list - to prevent the memory leak
  
  return true;
  
}

//______________________________________________________________________
#if 1
const Char_t*
#else
TString
#endif
AliForwardMultiplicityDistribution::FormBinName(Double_t etaLow, Double_t etaHigh)
{
  //
  //  Form name of eta bin
  //
  TString sLow(TString::Format("%+03d",int(10*etaLow)));
  TString sHigh(TString::Format("%+03d",int(10*etaHigh)));
  sLow.ReplaceAll("+", "plus");
  sLow.ReplaceAll("-", "minus");
  sHigh.ReplaceAll("+", "plus");
  sHigh.ReplaceAll("-", "minus");
 #if 0
  TString* combined= new TString();
  combined->Append(TString::Format("%s_%s", sLow.Data(), sHigh.Data()));
  return combined->Data();
#else 
  static TString tmp;
  tmp = TString::Format("%s_%s", sLow.Data(), sHigh.Data());
  return tmp.Data();
#endif
}

//=====================================================================
AliForwardMultiplicityDistribution::Bin::Bin() 
  : TNamed(), 
    fEtaLow(-1111),     // low eta limit 
    fEtaHigh(-1111),    // high eta limit 
    fHist(0),           // multiplicity distribution hist 
    fHistPlus05(0),     // multiplicity distribution hist scaled up with 5%
    fHistPlus075(0),    // multiplicity distribution hist scaled up with 7.5%
    fHistPlus10(0),     // multiplicity distribution hist scaled up with 10%
    fHistMinus05(0),    // multiplicity distribution hist scaled down with 5%
    fHistMinus075(0),   // multiplicity distribution hist scaled down with 7.5%
    fHistMinus10(0),    // multiplicity distribution hist scaled down with 10% 
    fHistPlusSys(0),    // multiplicity distribution hist scaled up with the event uncertainty
    fHistMinusSys(0),   // multiplicity distribution hist scaled down with the event uncertainty
    fAcceptance(0),     // histogram showing the 'holes' in acceptance. 
    fVtxZvsNdataBins(0) // VtxZ vs. number of data acceptance bins (normalised to the eta range) 
{
  // 
  // Default Constructor
  //
}
//_____________________________________________________________________
AliForwardMultiplicityDistribution::Bin::Bin(Double_t etaLow, Double_t etaHigh) 
  : TNamed("", ""), 
    fEtaLow(etaLow),    // low eta limit 
    fEtaHigh(etaHigh),  // high eta limit 
    fHist(0),           // multiplicity distribution hist 
    fHistPlus05(0),     // multiplicity distribution hist scaled up with 5%
    fHistPlus075(0),    // multiplicity distribution hist scaled up with 7.5%
    fHistPlus10(0),     // multiplicity distribution hist scaled up with 10%
    fHistMinus05(0),    // multiplicity distribution hist scaled down with 5%
    fHistMinus075(0),   // multiplicity distribution hist scaled down with 7.5%
    fHistMinus10(0),    // multiplicity distribution hist scaled down with 10% 
    fHistPlusSys(0),    // multiplicity distribution hist scaled up with the event uncertainty
    fHistMinusSys(0),   // multiplicity distribution hist scaled down with the event uncertainty
    fAcceptance(0),     // histogram showing the 'holes' in acceptance. 
    fVtxZvsNdataBins(0) // VtxZ vs. number of data acceptance bins (normalised to the eta range) 
{
  // 
  // Constructor
  //
  const char* name = AliForwardMultiplicityDistribution::FormBinName(fEtaLow,fEtaHigh);

  SetName(name);
  SetTitle(TString::Format("%+4.1f < #eta < %+4.1f", fEtaLow, fEtaHigh));

}
//_____________________________________________________________________
void AliForwardMultiplicityDistribution::Bin::CreateOutputObjectss(TList* cont,  Int_t max)
{
  //
  // Define eta bin output histograms
  //
  TList* out = new TList;
  out->SetName(GetName());
  cont->Add(out);
 
  fHist            = new TH1D("mult", GetTitle(), max, -0.5, max-.5);
  fHistPlus05      = new TH1D("multPlus05", GetTitle(), max, -0.5, max-.5);
  fHistPlus075     = new TH1D("multPlus075", GetTitle(), max, -0.5, max-.5);
  fHistPlus10      = new TH1D("multPlus10", GetTitle(), max, -0.5, max-.5);
  fHistMinus05     = new TH1D("multMinus05", GetTitle(), max, -0.5, max-.5);
  fHistMinus075    = new TH1D("multMinus075", GetTitle(), max, -0.5, max-.5);
  fHistMinus10     = new TH1D("multMinus10", GetTitle(), max, -0.5, max-.5);
  fHistPlusSys     = new TH1D("multPlusSys", GetTitle(), max, -0.5, max-.5);
  fHistMinusSys    = new TH1D("multMinusSys", GetTitle(), max, -0.5, max-.5);
  fVtxZvsNdataBins = new TH2D("VtxZvsNdataBins", "VtxZ vs dataAcceptance/etaRange;z-vtz;dataAcceptance/etaRange", 20, -10,10, 130,0,1.3);
  fAcceptance      = new TH2D("Acceptance","Acceptance;#eta;z-vtx",200,-4, 6 , 20,-10,10);

  out->Add(fHist);
  out->Add(fHistPlus05);
  out->Add(fHistPlus075);
  out->Add(fHistPlus10);
  out->Add(fHistMinus05);
  out->Add(fHistMinus075);
  out->Add(fHistMinus10);
  out->Add(fHistPlusSys);
  out->Add(fHistMinusSys);
  out->Add(fVtxZvsNdataBins);
  out->Add(fAcceptance);

}
 
//_____________________________________________________________________
void AliForwardMultiplicityDistribution::Bin::Process(TH1D* dndetaForward, TH1D* dndetaCentral,
						      TH1D* normForward,   TH1D* normCentral, Double_t VtxZ) 
{
  //
  // Process single eta bin
  //
  
  // Diagnostics on event acceptance
  Int_t    first = dndetaForward->GetXaxis()->FindBin(fEtaLow);
  Int_t    last  = dndetaForward->GetXaxis()->FindBin(fEtaHigh-.0001);
  Double_t acceptanceBins=0;
  for(Int_t n= first;n<=last;n++){
    if(normForward->GetBinContent(n)>0||normCentral->GetBinContent(n)>0){
      acceptanceBins++;
    }
    fAcceptance->SetBinContent(n, fAcceptance->GetYaxis()->FindBin(VtxZ), 1);
    if(normForward->GetBinContent(n)>0||normCentral->GetBinContent(n)>0)
      fAcceptance->SetBinContent(n, fAcceptance->GetYaxis()->FindBin(VtxZ),10);
  }

  //std::cout << "% of bins covered in eta-range: " << acceptanceBins/(last-first+1) << std::endl;
  fVtxZvsNdataBins->Fill(VtxZ, (Double_t)acceptanceBins/(last-first+1));
  

  Double_t c     = 0;
  Double_t e2    = 0;
  for (Int_t i = first; i <= last; i++) { 
    Double_t cForward  = 0;
    Double_t cCentral  = 0;
    Double_t e2Forward = 0;
    Double_t e2Central = 0;
    if (normForward->GetBinContent(i) > 0) {
      cForward  = dndetaForward->GetBinContent(i);
      e2Forward = dndetaForward->GetBinError(i) * dndetaForward->GetBinError(i);
    }
    if (normCentral->GetBinContent(i) > 0) { 
      cCentral  = dndetaCentral->GetBinContent(i);
      e2Central = dndetaCentral->GetBinError(i) * dndetaCentral->GetBinError(i);
    }
    Double_t cc  = 0;
    Double_t ee2 = 0;
    // if overlap between central/forward, use average of the two
    if (cCentral > 0 && cForward > 0) { 
      cc  = 0.5 * (cForward  + cCentral);
      ee2 = 0.5 * (e2Forward + e2Central);
    }
    else if (cCentral > 0) { 
      cc  = cCentral;
      ee2 = e2Central;
    }
    else if (cForward > 0) { 
      cc  = cForward;
      ee2 = e2Forward;
    }
    c  += cc;
    e2 += ee2;
  }
  
  //Systematic errors from here
  
  Double_t fmd=0;
  Double_t spd=0;
  Double_t overlap=0;

  // number of eta bins in fmd, spd and overlap respectively
  for(Int_t i = first;i<=last;i++){
    if(normForward->GetBinContent(i)>0&&normCentral->GetBinContent(i)<1)
      fmd++;
    if(normForward->GetBinContent(i)>0&&normCentral->GetBinContent(i)>0)
      overlap++;
    if(normCentral->GetBinContent(i)>0&&normForward->GetBinContent(i)<1)
      spd++;
  }
  
  Double_t sysErrorSquared = 0;
  // estimate of systematic uncertainty on the event multiplicity - hardcoded :(. estimates taken from Hans Hjersing Dalsgaard or Casper Nygaard phd theses.
  Double_t fmdSysError= 0.08;
  Double_t spdSysError= 0.067;
  
  Double_t total = 0;
  total= fmd+ spd + overlap; 
  // Combined systematc event uncertainty, by weighting with the number of eta-bins of fmd-only, spd-only and the overlap.
  if(total){
    sysErrorSquared= (fmd*TMath::Power(fmdSysError,2)+ spd*TMath::Power(spdSysError,2)+
		      0.5*overlap*TMath::Power(fmdSysError,2)+ 0.5*overlap*TMath::Power(spdSysError,2))/total;
  }
    
  //Strangeness correction, assumed to be 2.0 +- 1% (syst),  taken from HHD and CN thesis
  c=0.98*c;
  

  // correction for missing material description. Correction is based on separate PbPb analysis of difference between nominel and displaced vertices
  if(fEtaHigh<1.55&&fEtaHigh>1.45)
    c=0.98*c;
  if(fEtaHigh<2.05&&fEtaHigh>1.95)
    c=0.963*c;
  if(fEtaHigh<2.45&&fEtaHigh>2.35)
    c=0.956*c;
  if(fEtaHigh>2.95)
    c=0.955*c;
  
  fHist->Fill(c);
  fHistPlusSys->Fill((1+TMath::Sqrt(sysErrorSquared))*c);
  fHistMinusSys->Fill((1-TMath::Sqrt(sysErrorSquared))*c);
  fHistPlus05->Fill(1.05*c);
  fHistPlus075->Fill(1.075*c);
  fHistPlus10->Fill(1.1*c);
  fHistMinus05->Fill(0.95*c);
  fHistMinus075->Fill(0.925*c);
  fHistMinus10->Fill(0.9*c);

  
}
 



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