#include "AliForwardMCMultiplicityTask.h"
#include "AliTriggerAnalysis.h"
#include "AliPhysicsSelection.h"
#include "AliLog.h"
#include "AliESDEvent.h"
#include "AliAODHandler.h"
#include "AliMultiplicity.h"
#include "AliInputEventHandler.h"
#include "AliForwardCorrectionManager.h"
#include "AliAnalysisManager.h"
#include <TH1.h>
#include <TDirectory.h>
#include <TTree.h>
#include <TROOT.h>
#define MCAOD_SLOT 4
#define PRIMARY_SLOT 5
#ifdef POST_AOD
# define DEFINE(N,C) DefineOutput(N,C)
# define POST(N,O) PostData(N,O)
#else
# define DEFINE(N,C) do { } while(false)
# define POST(N,O) do { } while(false)
#endif
#ifndef ENABLE_TIMING
# define MAKE_SW(NAME) do {} while(false)
# define START_SW(NAME) do {} while(false)
# define FILL_SW(NAME,WHICH) do {} while(false)
#else
# define MAKE_SW(NAME) TStopwatch NAME
# define START_SW(NAME) if (fDoTiming) NAME.Start(true)
# define FILL_SW(NAME,WHICH) \
if (fDoTiming) fHTiming->Fill(WHICH,NAME.CpuTime())
#endif
AliForwardMCMultiplicityTask::AliForwardMCMultiplicityTask()
: AliForwardMultiplicityBase(),
fESDFMD(),
fMCESDFMD(),
fMCHistos(),
fMCAODFMD(),
fMCRingSums(),
fPrimary(0),
fEventInspector(),
fESDFixer(),
fSharingFilter(),
fDensityCalculator(),
fCorrections(),
fHistCollector(),
fEventPlaneFinder()
{
}
AliForwardMCMultiplicityTask::AliForwardMCMultiplicityTask(const char* name)
: AliForwardMultiplicityBase(name),
fESDFMD(),
fMCESDFMD(),
fMCHistos(),
fMCAODFMD(kTRUE),
fMCRingSums(),
fPrimary(0),
fEventInspector("event"),
fESDFixer("esdFizer"),
fSharingFilter("sharing"),
fDensityCalculator("density"),
fCorrections("corrections"),
fHistCollector("collector"),
fEventPlaneFinder("eventplane")
{
fPrimary = new TH2D("primary", "MC Primaries", 1,0,1,20,0,TMath::TwoPi());
fPrimary->SetXTitle("#eta");
fPrimary->SetYTitle("#varphi [radians]");
fPrimary->SetZTitle("d^{2}N_{ch}/d#etad#phi");
fPrimary->Sumw2();
fPrimary->SetStats(0);
fPrimary->SetDirectory(0);
DEFINE(MCAOD_SLOT,AliAODForwardMult::Class());
DEFINE(PRIM_SLOT, TH2D::Class());
}
void
AliForwardMCMultiplicityTask::SetOnlyPrimary(Bool_t use)
{
fSharingFilter.GetTrackDensity().SetUseOnlyPrimary(use);
fCorrections.SetSecondaryForMC(!use);
}
void
AliForwardMCMultiplicityTask::CreateBranches(AliAODHandler* ah)
{
AliForwardMultiplicityBase::CreateBranches(ah);
TObject* mcobj = &fMCAODFMD;
ah->AddBranch("AliAODForwardMult", &mcobj);
ah->AddBranch("TH2D", &fPrimary);
}
Bool_t
AliForwardMCMultiplicityTask::Book()
{
GetESDFixer().SetRecoNoiseFactor(5);
Bool_t ret = AliForwardMultiplicityBase::Book();
POST(MCAOD_SLOT, &fMCAODFMD);
POST(PRIM_SLOT, fPrimary);
return ret;
}
void
AliForwardMCMultiplicityTask::InitMembers(const TAxis& eta, const TAxis& vertex)
{
AliForwardMultiplicityBase::InitMembers(eta, vertex);
fMCHistos.Init(eta);
fMCAODFMD.Init(eta);
fMCRingSums.Init(eta);
AliForwardUtil::Histos::RebinEta(fPrimary, eta);
DMSG(fDebug,0,"Primary histogram rebinned to %d,%f,%f eta axis %d,%f,%f",
fPrimary->GetXaxis()->GetNbins(),
fPrimary->GetXaxis()->GetXmin(),
fPrimary->GetXaxis()->GetXmax(),
eta.GetNbins(),
eta.GetXmin(),
eta.GetXmax());
TList* mcRings = new TList;
mcRings->SetName("mcRingSums");
mcRings->SetOwner();
fList->Add(mcRings);
mcRings->Add(fMCRingSums.Get(1, 'I'));
mcRings->Add(fMCRingSums.Get(2, 'I'));
mcRings->Add(fMCRingSums.Get(2, 'O'));
mcRings->Add(fMCRingSums.Get(3, 'I'));
mcRings->Add(fMCRingSums.Get(3, 'O'));
fMCRingSums.Get(1, 'I')->SetMarkerColor(AliForwardUtil::RingColor(1, 'I'));
fMCRingSums.Get(2, 'I')->SetMarkerColor(AliForwardUtil::RingColor(2, 'I'));
fMCRingSums.Get(2, 'O')->SetMarkerColor(AliForwardUtil::RingColor(2, 'O'));
fMCRingSums.Get(3, 'I')->SetMarkerColor(AliForwardUtil::RingColor(3, 'I'));
fMCRingSums.Get(3, 'O')->SetMarkerColor(AliForwardUtil::RingColor(3, 'O'));
}
Bool_t
AliForwardMCMultiplicityTask::PreEvent()
{
if (fFirstEvent)
fEventInspector.ReadProductionDetails(MCEvent());
fHistos.Clear();
fESDFMD.Clear();
fAODFMD.Clear();
fAODEP.Clear();
fMCHistos.Clear();
fMCESDFMD.Clear();
fMCAODFMD.Clear();
fPrimary->Reset();
return true;
}
Bool_t
AliForwardMCMultiplicityTask::Event(AliESDEvent& esd)
{
MAKE_SW(total);
MAKE_SW(individual);
START_SW(total);
START_SW(individual);
AliMCEvent* mcEvent = MCEvent();
if (!mcEvent) return false;
Bool_t lowFlux = kFALSE;
UInt_t triggers = 0;
UShort_t ivz = 0;
TVector3 ip(1024, 1024, 0);
Double_t cent = -1;
UShort_t nClusters = 0;
UInt_t found = fEventInspector.Process(&esd, triggers, lowFlux,
ivz, ip, cent, nClusters);
UShort_t ivzMC = 0;
Double_t vzMC = 0;
Double_t phiR = 0;
Double_t b = 0;
Double_t cMC = 0;
Int_t npart = 0;
Int_t nbin = 0;
fEventInspector.ProcessMC(mcEvent, triggers, ivzMC, vzMC, b, cMC,
npart, nbin, phiR);
fEventInspector.CompareResults(ip.Z(), vzMC, cent, cMC, b, npart, nbin);
FILL_SW(individual,kTimingEventInspector);
MarkEventForStore();
Bool_t isAccepted = true;
if (found & AliFMDEventInspector::kNoEvent) {
fHStatus->Fill(1);
isAccepted = false;
}
if (found & AliFMDEventInspector::kNoTriggers) {
fHStatus->Fill(2);
isAccepted = false;
}
triggers |= AliAODForwardMult::kB;
fAODFMD.SetTriggerBits(triggers);
fAODFMD.SetSNN(fEventInspector.GetEnergy());
fAODFMD.SetSystem(fEventInspector.GetCollisionSystem());
fAODFMD.SetCentrality(cent);
fAODFMD.SetNClusters(nClusters);
fMCAODFMD.SetTriggerBits(triggers);
fMCAODFMD.SetSNN(fEventInspector.GetEnergy());
fMCAODFMD.SetSystem(fEventInspector.GetCollisionSystem());
fMCAODFMD.SetCentrality(cent);
fMCAODFMD.SetNClusters(nClusters);
if (found & AliFMDEventInspector::kNoFMD) {
fHStatus->Fill(4);
isAccepted = false;
}
if (found & AliFMDEventInspector::kNoVertex) {
fHStatus->Fill(5);
isAccepted = false;
}
if (isAccepted) {
fAODFMD.SetIpZ(ip.Z());
fMCAODFMD.SetIpZ(ip.Z());
}
if (found & AliFMDEventInspector::kBadVertex) isAccepted = false;
if (!fEnableLowFlux) lowFlux = false;
AliESDFMD* esdFMD = esd.GetFMDData();
GetESDFixer().Fix(*esdFMD, ip.Z());
START_SW(individual);
if (isAccepted && !fSharingFilter.Filter(*esdFMD, lowFlux, fESDFMD,ip.Z())){
AliWarning("Sharing filter failed!");
fHStatus->Fill(8);
return false;
}
if (!fSharingFilter.FilterMC(*esdFMD, *mcEvent, ip.Z(),fMCESDFMD,fPrimary)){
AliWarning("MC Sharing filter failed!");
fHStatus->Fill(8);
return false;
}
fPrimary->SetBinContent(0, 0, vzMC);
fPrimary->SetBinContent(fPrimary->GetNbinsX()+1,0, phiR);
fPrimary->SetBinContent(fPrimary->GetNbinsX()+1,fPrimary->GetNbinsY(),cMC);
if (!isAccepted) {
FILL_SW(individual,kTimingSharingFilter);
return false;
}
fSharingFilter.CompareResults(fESDFMD, fMCESDFMD);
FILL_SW(individual,kTimingSharingFilter);
START_SW(individual);
if (!fDensityCalculator.Calculate(fESDFMD, fHistos, lowFlux, cent, ip)) {
AliWarning("Density calculator failed!");
fHStatus->Fill(9);
return false;
}
if (!fDensityCalculator.CalculateMC(fMCESDFMD, fMCHistos)) {
AliWarning("MC Density calculator failed!");
fHStatus->Fill(9);
return false;
}
fDensityCalculator.CompareResults(fHistos, fMCHistos);
FILL_SW(individual,kTimingDensityCalculator);
if (fEventInspector.GetCollisionSystem() == AliFMDEventInspector::kPbPb) {
START_SW(individual);
if (!fEventPlaneFinder.FindEventplane(&esd, fAODEP,
&(fAODFMD.GetHistogram()), &fHistos)){
AliWarning("Eventplane finder failed!");
fHStatus->Fill(10);
}
FILL_SW(individual,kTimingEventPlaneFinder);
}
START_SW(individual);
if (!fCorrections.Correct(fHistos, ivz)) {
AliWarning("Corrections failed");
fHStatus->Fill(12);
return false;
}
if (!fCorrections.CorrectMC(fMCHistos, ivz)) {
AliWarning("MC Corrections failed");
fHStatus->Fill(12);
return false;
}
fCorrections.CompareResults(fHistos, fMCHistos);
FILL_SW(individual,kTimingCorrections);
Bool_t add = fAODFMD.IsTriggerBits(AliAODForwardMult::kInel);
START_SW(individual);
if (!fHistCollector.Collect(fHistos,
fRingSums,
ivz,
fAODFMD.GetHistogram(),
fAODFMD.GetCentrality(),
false,
add)) {
AliWarning("Histogram collector failed");
fHStatus->Fill(13);
return false;
}
if (!fHistCollector.Collect(fMCHistos,
fMCRingSums,
ivz,
fMCAODFMD.GetHistogram(),
-1,
true,
add)) {
AliWarning("MC Histogram collector failed");
fHStatus->Fill(13);
return false;
}
FILL_SW(individual,kTimingHistCollector);
#if 0
TH2& hMC = fMCAODFMD.GetHistogram();
Int_t nEta = hMC.GetNbinsX();
Int_t nY = hMC.GetNbinsY();
for (Int_t iEta = 1; iEta <= nEta; iEta++) {
hMC.SetBinContent(iEta, nY+1, hMC.GetBinContent(iEta, 0));
}
#endif
if (add) {
fHData->Add(&(fAODFMD.GetHistogram()));
fHStatus->Fill(15);
}
else {
fHStatus->Fill(14);
}
FILL_SW(total,kTimingTotal);
return true;
}
Bool_t
AliForwardMCMultiplicityTask::PostEvent()
{
Bool_t ret = AliForwardMultiplicityBase::PostEvent();
POST(MCAOD_SLOT, &fMCAODFMD);
POST(PRIMARY_SLOT, fPrimary);
return ret;
}
void
AliForwardMCMultiplicityTask::EstimatedNdeta(const TList* input,
TList* output) const
{
AliForwardMultiplicityBase::EstimatedNdeta(input, output);
MakeRingdNdeta(input, "mcRingSums", output, "mcRingResults", 24);
}
AliForwardMCMultiplicityTask.cxx:1 AliForwardMCMultiplicityTask.cxx:2 AliForwardMCMultiplicityTask.cxx:3 AliForwardMCMultiplicityTask.cxx:4 AliForwardMCMultiplicityTask.cxx:5 AliForwardMCMultiplicityTask.cxx:6 AliForwardMCMultiplicityTask.cxx:7 AliForwardMCMultiplicityTask.cxx:8 AliForwardMCMultiplicityTask.cxx:9 AliForwardMCMultiplicityTask.cxx:10 AliForwardMCMultiplicityTask.cxx:11 AliForwardMCMultiplicityTask.cxx:12 AliForwardMCMultiplicityTask.cxx:13 AliForwardMCMultiplicityTask.cxx:14 AliForwardMCMultiplicityTask.cxx:15 AliForwardMCMultiplicityTask.cxx:16 AliForwardMCMultiplicityTask.cxx:17 AliForwardMCMultiplicityTask.cxx:18 AliForwardMCMultiplicityTask.cxx:19 AliForwardMCMultiplicityTask.cxx:20 AliForwardMCMultiplicityTask.cxx:21 AliForwardMCMultiplicityTask.cxx:22 AliForwardMCMultiplicityTask.cxx:23 AliForwardMCMultiplicityTask.cxx:24 AliForwardMCMultiplicityTask.cxx:25 AliForwardMCMultiplicityTask.cxx:26 AliForwardMCMultiplicityTask.cxx:27 AliForwardMCMultiplicityTask.cxx:28 AliForwardMCMultiplicityTask.cxx:29 AliForwardMCMultiplicityTask.cxx:30 AliForwardMCMultiplicityTask.cxx:31 AliForwardMCMultiplicityTask.cxx:32 AliForwardMCMultiplicityTask.cxx:33 AliForwardMCMultiplicityTask.cxx:34 AliForwardMCMultiplicityTask.cxx:35 AliForwardMCMultiplicityTask.cxx:36 AliForwardMCMultiplicityTask.cxx:37 AliForwardMCMultiplicityTask.cxx:38 AliForwardMCMultiplicityTask.cxx:39 AliForwardMCMultiplicityTask.cxx:40 AliForwardMCMultiplicityTask.cxx:41 AliForwardMCMultiplicityTask.cxx:42 AliForwardMCMultiplicityTask.cxx:43 AliForwardMCMultiplicityTask.cxx:44 AliForwardMCMultiplicityTask.cxx:45 AliForwardMCMultiplicityTask.cxx:46 AliForwardMCMultiplicityTask.cxx:47 AliForwardMCMultiplicityTask.cxx:48 AliForwardMCMultiplicityTask.cxx:49 AliForwardMCMultiplicityTask.cxx:50 AliForwardMCMultiplicityTask.cxx:51 AliForwardMCMultiplicityTask.cxx:52 AliForwardMCMultiplicityTask.cxx:53 AliForwardMCMultiplicityTask.cxx:54 AliForwardMCMultiplicityTask.cxx:55 AliForwardMCMultiplicityTask.cxx:56 AliForwardMCMultiplicityTask.cxx:57 AliForwardMCMultiplicityTask.cxx:58 AliForwardMCMultiplicityTask.cxx:59 AliForwardMCMultiplicityTask.cxx:60 AliForwardMCMultiplicityTask.cxx:61 AliForwardMCMultiplicityTask.cxx:62 AliForwardMCMultiplicityTask.cxx:63 AliForwardMCMultiplicityTask.cxx:64 AliForwardMCMultiplicityTask.cxx:65 AliForwardMCMultiplicityTask.cxx:66 AliForwardMCMultiplicityTask.cxx:67 AliForwardMCMultiplicityTask.cxx:68 AliForwardMCMultiplicityTask.cxx:69 AliForwardMCMultiplicityTask.cxx:70 AliForwardMCMultiplicityTask.cxx:71 AliForwardMCMultiplicityTask.cxx:72 AliForwardMCMultiplicityTask.cxx:73 AliForwardMCMultiplicityTask.cxx:74 AliForwardMCMultiplicityTask.cxx:75 AliForwardMCMultiplicityTask.cxx:76 AliForwardMCMultiplicityTask.cxx:77 AliForwardMCMultiplicityTask.cxx:78 AliForwardMCMultiplicityTask.cxx:79 AliForwardMCMultiplicityTask.cxx:80 AliForwardMCMultiplicityTask.cxx:81 AliForwardMCMultiplicityTask.cxx:82 AliForwardMCMultiplicityTask.cxx:83 AliForwardMCMultiplicityTask.cxx:84 AliForwardMCMultiplicityTask.cxx:85 AliForwardMCMultiplicityTask.cxx:86 AliForwardMCMultiplicityTask.cxx:87 AliForwardMCMultiplicityTask.cxx:88 AliForwardMCMultiplicityTask.cxx:89 AliForwardMCMultiplicityTask.cxx:90 AliForwardMCMultiplicityTask.cxx:91 AliForwardMCMultiplicityTask.cxx:92 AliForwardMCMultiplicityTask.cxx:93 AliForwardMCMultiplicityTask.cxx:94 AliForwardMCMultiplicityTask.cxx:95 AliForwardMCMultiplicityTask.cxx:96 AliForwardMCMultiplicityTask.cxx:97 AliForwardMCMultiplicityTask.cxx:98 AliForwardMCMultiplicityTask.cxx:99 AliForwardMCMultiplicityTask.cxx:100 AliForwardMCMultiplicityTask.cxx:101 AliForwardMCMultiplicityTask.cxx:102 AliForwardMCMultiplicityTask.cxx:103 AliForwardMCMultiplicityTask.cxx:104 AliForwardMCMultiplicityTask.cxx:105 AliForwardMCMultiplicityTask.cxx:106 AliForwardMCMultiplicityTask.cxx:107 AliForwardMCMultiplicityTask.cxx:108 AliForwardMCMultiplicityTask.cxx:109 AliForwardMCMultiplicityTask.cxx:110 AliForwardMCMultiplicityTask.cxx:111 AliForwardMCMultiplicityTask.cxx:112 AliForwardMCMultiplicityTask.cxx:113 AliForwardMCMultiplicityTask.cxx:114 AliForwardMCMultiplicityTask.cxx:115 AliForwardMCMultiplicityTask.cxx:116 AliForwardMCMultiplicityTask.cxx:117 AliForwardMCMultiplicityTask.cxx:118 AliForwardMCMultiplicityTask.cxx:119 AliForwardMCMultiplicityTask.cxx:120 AliForwardMCMultiplicityTask.cxx:121 AliForwardMCMultiplicityTask.cxx:122 AliForwardMCMultiplicityTask.cxx:123 AliForwardMCMultiplicityTask.cxx:124 AliForwardMCMultiplicityTask.cxx:125 AliForwardMCMultiplicityTask.cxx:126 AliForwardMCMultiplicityTask.cxx:127 AliForwardMCMultiplicityTask.cxx:128 AliForwardMCMultiplicityTask.cxx:129 AliForwardMCMultiplicityTask.cxx:130 AliForwardMCMultiplicityTask.cxx:131 AliForwardMCMultiplicityTask.cxx:132 AliForwardMCMultiplicityTask.cxx:133 AliForwardMCMultiplicityTask.cxx:134 AliForwardMCMultiplicityTask.cxx:135 AliForwardMCMultiplicityTask.cxx:136 AliForwardMCMultiplicityTask.cxx:137 AliForwardMCMultiplicityTask.cxx:138 AliForwardMCMultiplicityTask.cxx:139 AliForwardMCMultiplicityTask.cxx:140 AliForwardMCMultiplicityTask.cxx:141 AliForwardMCMultiplicityTask.cxx:142 AliForwardMCMultiplicityTask.cxx:143 AliForwardMCMultiplicityTask.cxx:144 AliForwardMCMultiplicityTask.cxx:145 AliForwardMCMultiplicityTask.cxx:146 AliForwardMCMultiplicityTask.cxx:147 AliForwardMCMultiplicityTask.cxx:148 AliForwardMCMultiplicityTask.cxx:149 AliForwardMCMultiplicityTask.cxx:150 AliForwardMCMultiplicityTask.cxx:151 AliForwardMCMultiplicityTask.cxx:152 AliForwardMCMultiplicityTask.cxx:153 AliForwardMCMultiplicityTask.cxx:154 AliForwardMCMultiplicityTask.cxx:155 AliForwardMCMultiplicityTask.cxx:156 AliForwardMCMultiplicityTask.cxx:157 AliForwardMCMultiplicityTask.cxx:158 AliForwardMCMultiplicityTask.cxx:159 AliForwardMCMultiplicityTask.cxx:160 AliForwardMCMultiplicityTask.cxx:161 AliForwardMCMultiplicityTask.cxx:162 AliForwardMCMultiplicityTask.cxx:163 AliForwardMCMultiplicityTask.cxx:164 AliForwardMCMultiplicityTask.cxx:165 AliForwardMCMultiplicityTask.cxx:166 AliForwardMCMultiplicityTask.cxx:167 AliForwardMCMultiplicityTask.cxx:168 AliForwardMCMultiplicityTask.cxx:169 AliForwardMCMultiplicityTask.cxx:170 AliForwardMCMultiplicityTask.cxx:171 AliForwardMCMultiplicityTask.cxx:172 AliForwardMCMultiplicityTask.cxx:173 AliForwardMCMultiplicityTask.cxx:174 AliForwardMCMultiplicityTask.cxx:175 AliForwardMCMultiplicityTask.cxx:176 AliForwardMCMultiplicityTask.cxx:177 AliForwardMCMultiplicityTask.cxx:178 AliForwardMCMultiplicityTask.cxx:179 AliForwardMCMultiplicityTask.cxx:180 AliForwardMCMultiplicityTask.cxx:181 AliForwardMCMultiplicityTask.cxx:182 AliForwardMCMultiplicityTask.cxx:183 AliForwardMCMultiplicityTask.cxx:184 AliForwardMCMultiplicityTask.cxx:185 AliForwardMCMultiplicityTask.cxx:186 AliForwardMCMultiplicityTask.cxx:187 AliForwardMCMultiplicityTask.cxx:188 AliForwardMCMultiplicityTask.cxx:189 AliForwardMCMultiplicityTask.cxx:190 AliForwardMCMultiplicityTask.cxx:191 AliForwardMCMultiplicityTask.cxx:192 AliForwardMCMultiplicityTask.cxx:193 AliForwardMCMultiplicityTask.cxx:194 AliForwardMCMultiplicityTask.cxx:195 AliForwardMCMultiplicityTask.cxx:196 AliForwardMCMultiplicityTask.cxx:197 AliForwardMCMultiplicityTask.cxx:198 AliForwardMCMultiplicityTask.cxx:199 AliForwardMCMultiplicityTask.cxx:200 AliForwardMCMultiplicityTask.cxx:201 AliForwardMCMultiplicityTask.cxx:202 AliForwardMCMultiplicityTask.cxx:203 AliForwardMCMultiplicityTask.cxx:204 AliForwardMCMultiplicityTask.cxx:205 AliForwardMCMultiplicityTask.cxx:206 AliForwardMCMultiplicityTask.cxx:207 AliForwardMCMultiplicityTask.cxx:208 AliForwardMCMultiplicityTask.cxx:209 AliForwardMCMultiplicityTask.cxx:210 AliForwardMCMultiplicityTask.cxx:211 AliForwardMCMultiplicityTask.cxx:212 AliForwardMCMultiplicityTask.cxx:213 AliForwardMCMultiplicityTask.cxx:214 AliForwardMCMultiplicityTask.cxx:215 AliForwardMCMultiplicityTask.cxx:216 AliForwardMCMultiplicityTask.cxx:217 AliForwardMCMultiplicityTask.cxx:218 AliForwardMCMultiplicityTask.cxx:219 AliForwardMCMultiplicityTask.cxx:220 AliForwardMCMultiplicityTask.cxx:221 AliForwardMCMultiplicityTask.cxx:222 AliForwardMCMultiplicityTask.cxx:223 AliForwardMCMultiplicityTask.cxx:224 AliForwardMCMultiplicityTask.cxx:225 AliForwardMCMultiplicityTask.cxx:226 AliForwardMCMultiplicityTask.cxx:227 AliForwardMCMultiplicityTask.cxx:228 AliForwardMCMultiplicityTask.cxx:229 AliForwardMCMultiplicityTask.cxx:230 AliForwardMCMultiplicityTask.cxx:231 AliForwardMCMultiplicityTask.cxx:232 AliForwardMCMultiplicityTask.cxx:233 AliForwardMCMultiplicityTask.cxx:234 AliForwardMCMultiplicityTask.cxx:235 AliForwardMCMultiplicityTask.cxx:236 AliForwardMCMultiplicityTask.cxx:237 AliForwardMCMultiplicityTask.cxx:238 AliForwardMCMultiplicityTask.cxx:239 AliForwardMCMultiplicityTask.cxx:240 AliForwardMCMultiplicityTask.cxx:241 AliForwardMCMultiplicityTask.cxx:242 AliForwardMCMultiplicityTask.cxx:243 AliForwardMCMultiplicityTask.cxx:244 AliForwardMCMultiplicityTask.cxx:245 AliForwardMCMultiplicityTask.cxx:246 AliForwardMCMultiplicityTask.cxx:247 AliForwardMCMultiplicityTask.cxx:248 AliForwardMCMultiplicityTask.cxx:249 AliForwardMCMultiplicityTask.cxx:250 AliForwardMCMultiplicityTask.cxx:251 AliForwardMCMultiplicityTask.cxx:252 AliForwardMCMultiplicityTask.cxx:253 AliForwardMCMultiplicityTask.cxx:254 AliForwardMCMultiplicityTask.cxx:255 AliForwardMCMultiplicityTask.cxx:256 AliForwardMCMultiplicityTask.cxx:257 AliForwardMCMultiplicityTask.cxx:258 AliForwardMCMultiplicityTask.cxx:259 AliForwardMCMultiplicityTask.cxx:260 AliForwardMCMultiplicityTask.cxx:261 AliForwardMCMultiplicityTask.cxx:262 AliForwardMCMultiplicityTask.cxx:263 AliForwardMCMultiplicityTask.cxx:264 AliForwardMCMultiplicityTask.cxx:265 AliForwardMCMultiplicityTask.cxx:266 AliForwardMCMultiplicityTask.cxx:267 AliForwardMCMultiplicityTask.cxx:268 AliForwardMCMultiplicityTask.cxx:269 AliForwardMCMultiplicityTask.cxx:270 AliForwardMCMultiplicityTask.cxx:271 AliForwardMCMultiplicityTask.cxx:272 AliForwardMCMultiplicityTask.cxx:273 AliForwardMCMultiplicityTask.cxx:274 AliForwardMCMultiplicityTask.cxx:275 AliForwardMCMultiplicityTask.cxx:276 AliForwardMCMultiplicityTask.cxx:277 AliForwardMCMultiplicityTask.cxx:278 AliForwardMCMultiplicityTask.cxx:279 AliForwardMCMultiplicityTask.cxx:280 AliForwardMCMultiplicityTask.cxx:281 AliForwardMCMultiplicityTask.cxx:282 AliForwardMCMultiplicityTask.cxx:283 AliForwardMCMultiplicityTask.cxx:284 AliForwardMCMultiplicityTask.cxx:285 AliForwardMCMultiplicityTask.cxx:286 AliForwardMCMultiplicityTask.cxx:287 AliForwardMCMultiplicityTask.cxx:288 AliForwardMCMultiplicityTask.cxx:289 AliForwardMCMultiplicityTask.cxx:290 AliForwardMCMultiplicityTask.cxx:291 AliForwardMCMultiplicityTask.cxx:292 AliForwardMCMultiplicityTask.cxx:293 AliForwardMCMultiplicityTask.cxx:294 AliForwardMCMultiplicityTask.cxx:295 AliForwardMCMultiplicityTask.cxx:296 AliForwardMCMultiplicityTask.cxx:297 AliForwardMCMultiplicityTask.cxx:298 AliForwardMCMultiplicityTask.cxx:299 AliForwardMCMultiplicityTask.cxx:300 AliForwardMCMultiplicityTask.cxx:301 AliForwardMCMultiplicityTask.cxx:302 AliForwardMCMultiplicityTask.cxx:303 AliForwardMCMultiplicityTask.cxx:304 AliForwardMCMultiplicityTask.cxx:305 AliForwardMCMultiplicityTask.cxx:306 AliForwardMCMultiplicityTask.cxx:307 AliForwardMCMultiplicityTask.cxx:308 AliForwardMCMultiplicityTask.cxx:309 AliForwardMCMultiplicityTask.cxx:310 AliForwardMCMultiplicityTask.cxx:311 AliForwardMCMultiplicityTask.cxx:312 AliForwardMCMultiplicityTask.cxx:313 AliForwardMCMultiplicityTask.cxx:314 AliForwardMCMultiplicityTask.cxx:315 AliForwardMCMultiplicityTask.cxx:316 AliForwardMCMultiplicityTask.cxx:317 AliForwardMCMultiplicityTask.cxx:318 AliForwardMCMultiplicityTask.cxx:319 AliForwardMCMultiplicityTask.cxx:320 AliForwardMCMultiplicityTask.cxx:321 AliForwardMCMultiplicityTask.cxx:322 AliForwardMCMultiplicityTask.cxx:323 AliForwardMCMultiplicityTask.cxx:324 AliForwardMCMultiplicityTask.cxx:325 AliForwardMCMultiplicityTask.cxx:326 AliForwardMCMultiplicityTask.cxx:327 AliForwardMCMultiplicityTask.cxx:328 AliForwardMCMultiplicityTask.cxx:329 AliForwardMCMultiplicityTask.cxx:330 AliForwardMCMultiplicityTask.cxx:331 AliForwardMCMultiplicityTask.cxx:332 AliForwardMCMultiplicityTask.cxx:333 AliForwardMCMultiplicityTask.cxx:334 AliForwardMCMultiplicityTask.cxx:335 AliForwardMCMultiplicityTask.cxx:336 AliForwardMCMultiplicityTask.cxx:337 AliForwardMCMultiplicityTask.cxx:338 AliForwardMCMultiplicityTask.cxx:339 AliForwardMCMultiplicityTask.cxx:340 AliForwardMCMultiplicityTask.cxx:341 AliForwardMCMultiplicityTask.cxx:342 AliForwardMCMultiplicityTask.cxx:343 AliForwardMCMultiplicityTask.cxx:344 AliForwardMCMultiplicityTask.cxx:345 AliForwardMCMultiplicityTask.cxx:346 AliForwardMCMultiplicityTask.cxx:347 AliForwardMCMultiplicityTask.cxx:348 AliForwardMCMultiplicityTask.cxx:349 AliForwardMCMultiplicityTask.cxx:350 AliForwardMCMultiplicityTask.cxx:351 AliForwardMCMultiplicityTask.cxx:352 AliForwardMCMultiplicityTask.cxx:353 AliForwardMCMultiplicityTask.cxx:354 AliForwardMCMultiplicityTask.cxx:355 AliForwardMCMultiplicityTask.cxx:356 AliForwardMCMultiplicityTask.cxx:357 AliForwardMCMultiplicityTask.cxx:358 AliForwardMCMultiplicityTask.cxx:359 AliForwardMCMultiplicityTask.cxx:360 AliForwardMCMultiplicityTask.cxx:361 AliForwardMCMultiplicityTask.cxx:362 AliForwardMCMultiplicityTask.cxx:363 AliForwardMCMultiplicityTask.cxx:364 AliForwardMCMultiplicityTask.cxx:365 AliForwardMCMultiplicityTask.cxx:366 AliForwardMCMultiplicityTask.cxx:367 AliForwardMCMultiplicityTask.cxx:368 AliForwardMCMultiplicityTask.cxx:369 AliForwardMCMultiplicityTask.cxx:370 AliForwardMCMultiplicityTask.cxx:371 AliForwardMCMultiplicityTask.cxx:372 AliForwardMCMultiplicityTask.cxx:373 AliForwardMCMultiplicityTask.cxx:374 AliForwardMCMultiplicityTask.cxx:375 AliForwardMCMultiplicityTask.cxx:376 AliForwardMCMultiplicityTask.cxx:377 AliForwardMCMultiplicityTask.cxx:378 AliForwardMCMultiplicityTask.cxx:379 AliForwardMCMultiplicityTask.cxx:380 AliForwardMCMultiplicityTask.cxx:381 AliForwardMCMultiplicityTask.cxx:382 AliForwardMCMultiplicityTask.cxx:383 AliForwardMCMultiplicityTask.cxx:384 AliForwardMCMultiplicityTask.cxx:385 AliForwardMCMultiplicityTask.cxx:386 AliForwardMCMultiplicityTask.cxx:387 AliForwardMCMultiplicityTask.cxx:388 AliForwardMCMultiplicityTask.cxx:389 AliForwardMCMultiplicityTask.cxx:390 AliForwardMCMultiplicityTask.cxx:391 AliForwardMCMultiplicityTask.cxx:392 AliForwardMCMultiplicityTask.cxx:393 AliForwardMCMultiplicityTask.cxx:394 AliForwardMCMultiplicityTask.cxx:395 AliForwardMCMultiplicityTask.cxx:396 AliForwardMCMultiplicityTask.cxx:397 AliForwardMCMultiplicityTask.cxx:398 AliForwardMCMultiplicityTask.cxx:399 AliForwardMCMultiplicityTask.cxx:400 AliForwardMCMultiplicityTask.cxx:401 AliForwardMCMultiplicityTask.cxx:402 AliForwardMCMultiplicityTask.cxx:403 AliForwardMCMultiplicityTask.cxx:404 AliForwardMCMultiplicityTask.cxx:405 AliForwardMCMultiplicityTask.cxx:406 AliForwardMCMultiplicityTask.cxx:407 AliForwardMCMultiplicityTask.cxx:408 AliForwardMCMultiplicityTask.cxx:409 AliForwardMCMultiplicityTask.cxx:410 AliForwardMCMultiplicityTask.cxx:411 AliForwardMCMultiplicityTask.cxx:412 AliForwardMCMultiplicityTask.cxx:413 AliForwardMCMultiplicityTask.cxx:414 AliForwardMCMultiplicityTask.cxx:415 AliForwardMCMultiplicityTask.cxx:416 AliForwardMCMultiplicityTask.cxx:417 AliForwardMCMultiplicityTask.cxx:418 AliForwardMCMultiplicityTask.cxx:419 AliForwardMCMultiplicityTask.cxx:420 AliForwardMCMultiplicityTask.cxx:421 AliForwardMCMultiplicityTask.cxx:422 AliForwardMCMultiplicityTask.cxx:423 AliForwardMCMultiplicityTask.cxx:424 AliForwardMCMultiplicityTask.cxx:425 AliForwardMCMultiplicityTask.cxx:426 AliForwardMCMultiplicityTask.cxx:427 AliForwardMCMultiplicityTask.cxx:428 AliForwardMCMultiplicityTask.cxx:429 AliForwardMCMultiplicityTask.cxx:430 AliForwardMCMultiplicityTask.cxx:431 AliForwardMCMultiplicityTask.cxx:432 AliForwardMCMultiplicityTask.cxx:433 AliForwardMCMultiplicityTask.cxx:434 AliForwardMCMultiplicityTask.cxx:435 AliForwardMCMultiplicityTask.cxx:436 AliForwardMCMultiplicityTask.cxx:437 AliForwardMCMultiplicityTask.cxx:438 AliForwardMCMultiplicityTask.cxx:439 AliForwardMCMultiplicityTask.cxx:440 AliForwardMCMultiplicityTask.cxx:441 AliForwardMCMultiplicityTask.cxx:442 AliForwardMCMultiplicityTask.cxx:443 AliForwardMCMultiplicityTask.cxx:444