#include "AliFMDEventPlaneFinder.h"
#include <TList.h>
#include <TMath.h>
#include "AliLog.h"
#include <TH2D.h>
#include <TH3D.h>
#include "TROOT.h"
#include <iostream>
#include <iomanip>
#include <TString.h>
#include <TFile.h>
#include "AliOADBContainer.h"
#include "AliAnalysisManager.h"
#include "AliVEvent.h"
#include "AliEventplane.h"
#include "AliCentrality.h"
#include "AliAODForwardEP.h"
#include "AliAODForwardMult.h"
#include "AliAODEvent.h"
ClassImp(AliFMDEventPlaneFinder)
#if 0
;
#endif
AliFMDEventPlaneFinder::AliFMDEventPlaneFinder()
: TNamed(),
fList(0),
fEvent(0),
fQt(),
fQa(),
fQc(),
fQ1(),
fQ2(),
fQeta(),
fHepFMD(0),
fHepFMDA(0),
fHepFMDC(0),
fHepFMDQC1(0),
fHepFMDQC2(0),
fHdiffFMDAC(0),
fHdiffFMDTPC(0),
fHdiffFMDVZERO(0),
fHcorrFMDAC(0),
fHcorrFMDTPC(0),
fHcorrFMDVZERO(0),
fHPhi(0),
fDebug(0),
fOADBFileName(0),
fOADBContainer(0),
fPhiDist(0),
fRunNumber(0),
fUsePhiWeights(0)
{
DGUARD(fDebug, 3,"Default CTOR of AliFMDEventPlaneFinder");
}
AliFMDEventPlaneFinder::AliFMDEventPlaneFinder(const char* title)
: TNamed("fmdEventPlaneFinder", title),
fList(0),
fEvent(0),
fQt(),
fQa(),
fQc(),
fQ1(),
fQ2(),
fQeta(),
fHepFMD(0),
fHepFMDA(0),
fHepFMDC(0),
fHepFMDQC1(0),
fHepFMDQC2(0),
fHdiffFMDAC(0),
fHdiffFMDTPC(0),
fHdiffFMDVZERO(0),
fHcorrFMDAC(0),
fHcorrFMDTPC(0),
fHcorrFMDVZERO(0),
fHPhi(0),
fDebug(0),
fOADBFileName(0),
fOADBContainer(0),
fPhiDist(0),
fRunNumber(0),
fUsePhiWeights(1)
{
DGUARD(fDebug, 3,"Named CTOR of AliFMDEventPlaneFinder: %s", title);
}
AliFMDEventPlaneFinder::AliFMDEventPlaneFinder(const
AliFMDEventPlaneFinder& o)
: TNamed(o),
fList(o.fList),
fEvent(o.fEvent),
fQt(o.fQt),
fQa(o.fQa),
fQc(o.fQc),
fQ1(o.fQ1),
fQ2(o.fQ2),
fQeta(o.fQeta),
fHepFMD(o.fHepFMD),
fHepFMDA(o.fHepFMDA),
fHepFMDC(o.fHepFMDC),
fHepFMDQC1(o.fHepFMDQC1),
fHepFMDQC2(o.fHepFMDQC2),
fHdiffFMDAC(o.fHdiffFMDAC),
fHdiffFMDTPC(o.fHdiffFMDTPC),
fHdiffFMDVZERO(o.fHdiffFMDVZERO),
fHcorrFMDAC(o.fHcorrFMDAC),
fHcorrFMDTPC(o.fHcorrFMDTPC),
fHcorrFMDVZERO(o.fHcorrFMDVZERO),
fHPhi(o.fHPhi),
fDebug(o.fDebug),
fOADBFileName(o.fOADBFileName),
fOADBContainer(o.fOADBContainer),
fPhiDist(o.fPhiDist),
fRunNumber(o.fRunNumber),
fUsePhiWeights(o.fUsePhiWeights)
{
DGUARD(fDebug, 3,"Copy CTOR of AliFMDEventPlaneFinder");
}
AliFMDEventPlaneFinder::~AliFMDEventPlaneFinder()
{
}
AliFMDEventPlaneFinder&
AliFMDEventPlaneFinder::operator=(const AliFMDEventPlaneFinder& o)
{
DGUARD(fDebug,3,"Assignment of AliFMDEventPlaneFinder");
if (&o == this) return *this;
TNamed::operator=(o);
fList = o.fList;
fEvent = o.fEvent;
fQt = o.fQt;
fQa = o.fQa;
fQc = o.fQc;
fQ1 = o.fQ1;
fQ2 = o.fQ2;
fQeta = o.fQeta;
fHepFMD = o.fHepFMD;
fHepFMDA = o.fHepFMDA;
fHepFMDC = o.fHepFMDC;
fHepFMDQC1 = o.fHepFMDQC1;
fHepFMDQC2 = o.fHepFMDQC2;
fHdiffFMDAC = o.fHdiffFMDAC;
fHdiffFMDTPC = o.fHdiffFMDTPC;
fHdiffFMDVZERO = o.fHdiffFMDVZERO;
fHcorrFMDAC = o.fHcorrFMDAC;
fHcorrFMDTPC = o.fHcorrFMDTPC;
fHcorrFMDVZERO = o.fHcorrFMDVZERO;
fHPhi = o.fHPhi;
fDebug = o.fDebug;
fOADBFileName = o.fOADBFileName;
fOADBContainer = o.fOADBContainer;
fPhiDist = o.fPhiDist;
fRunNumber = o.fRunNumber;
fUsePhiWeights = o.fUsePhiWeights;
return *this;
}
TH1D*
AliFMDEventPlaneFinder::MakePsiRHist(const char* name,
const char* title,
Int_t color)
{
TH1D* ret = new TH1D(name, Form("#Psi_{R} - %s",title), 100, 0, TMath::Pi());
ret->SetDirectory(0);
ret->SetXTitle("#Psi_{R} [radians]");
ret->SetYTitle("Events");
ret->SetLineColor(color);
ret->SetFillColor(color);
ret->SetFillStyle(3001);
ret->Sumw2();
fList->Add(ret);
return ret;
}
TH1D*
AliFMDEventPlaneFinder::MakeDiffHist(const char* name,
const char* first,
const char* second,
Int_t color)
{
TH1D* ret = new TH1D(name, Form("#Delta#Psi_{R} - %s minus %s",first,second),
100, -TMath::Pi()/2, +TMath::Pi()/2);
ret->SetDirectory(0);
ret->SetXTitle(Form("#Psi_{R,%s}-#Psi_{R,%s} [radians]", first, second));
ret->SetYTitle("Events");
ret->SetLineColor(color);
ret->SetFillColor(color);
ret->SetFillStyle(3001);
ret->Sumw2();
fList->Add(ret);
return ret;
}
TH2F*
AliFMDEventPlaneFinder::MakeCorrHist(const char* name,
const char* first,
const char* second)
{
TH2F* ret = new TH2F(name, Form("#Psi_{R} - %s vs %s", first, second),
100, 0, TMath::Pi(), 100, 0, TMath::Pi());
ret->SetDirectory(0);
ret->Sumw2();
ret->SetXTitle(Form("#Psi_{R,%s} [radians]", first));
ret->SetYTitle(Form("#Psi_{R,%s} [radians]", second));
ret->SetZTitle("Events");
fList->Add(ret);
return ret;
}
void
AliFMDEventPlaneFinder::SetupForData(const TAxis& etaAxis)
{
DGUARD(fDebug,1,"Initalization of AliFMDEventPlaneFinder");
fHepFMD = MakePsiRHist("epFMD", "FMD", kRed+1);
fHepFMDA = MakePsiRHist("epFMDA","FMD - A side", kGreen+1);
fHepFMDC = MakePsiRHist("epFMDC","FMD - C side", kBlue+1);
fHepFMDQC1 = MakePsiRHist("epFMDQC1", "FMD QC{1}", kMagenta+1);
fHepFMDQC2 = MakePsiRHist("epEMDQC2", "FMD QC{2}", kCyan+1);
fHdiffFMDAC = MakeDiffHist("diffFMDAC", "FMD-A", "FMD-C", kRed+1);
fHdiffFMDTPC = MakeDiffHist("diffFMDTPC", "FMD", "TPC", kGreen+1);
fHdiffFMDVZERO = MakeDiffHist("diffFMDVZERO", "FMD", "VZERO", kBlue+1);
fHcorrFMDAC = MakeCorrHist("corrFMDAC", "FMD-A", "FMD-C");
fHcorrFMDTPC = MakeCorrHist("corrFMDTPC", "FMD", "TPC");
fHcorrFMDVZERO = MakeCorrHist("corrFMDVZERO", "FMD", "VZERO");
fHPhi = new TH2D("hPhi", "Phi distribution in FMD",
etaAxis.GetNbins(), etaAxis.GetXmin(), etaAxis.GetXmax(),
20, 0., TMath::TwoPi());
fHPhi->Sumw2();
fHPhi->SetXTitle("#eta");
fHPhi->SetYTitle("#phi [radians]");
fHPhi->SetZTitle("Events");
fHPhi->SetDirectory(0);
fList->Add(fHPhi);
if (!fUsePhiWeights) return;
if (fOADBFileName.Length()==0)
fOADBFileName = Form("%s/PWGLF/FORWARD/FMDEVENTPLANE/data/fmdEPoadb.root",
AliAnalysisManager::GetOADBPath());
TFile foadb(fOADBFileName);
if(!foadb.IsOpen()) {
AliError(Form("Cannot open OADB file %s", fOADBFileName.Data()));
return;
}
fOADBContainer = (AliOADBContainer*)foadb.Get("FMDphidist");
if (!fOADBContainer)
AliError(Form("No OADB container found in %s", fOADBFileName.Data()));
foadb.Close();
return;
}
void
AliFMDEventPlaneFinder::CreateOutputObjects(TList* dir)
{
DGUARD(fDebug,1,"Define output of AliFMDEventPlaneFinder");
fList = new TList();
fList->SetOwner();
fList->SetName(GetName());
dir->Add(fList);
return;
}
Bool_t
AliFMDEventPlaneFinder::FindEventplane(AliVEvent* ev,
AliAODForwardEP& aodep,
TH2D* h,
AliForwardUtil::Histos* hists)
{
DGUARD(fDebug,1,"Find the event plane in AliFMDEventPlaneFinder");
fQt.Set(0., 0.);
fQa.Set(0., 0.);
fQc.Set(0., 0.);
fQ1.Set(0., 0.);
fQ2.Set(0., 0.);
TH1D epEtaHist = aodep.GetHistogram();
fEvent = ev;
if (hists) {
for (UShort_t d=1; d<=3; d++) {
UShort_t nr = (d == 1 ? 1 : 2);
for (UShort_t q=0; q<nr; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
CalcQVectors(hists->Get(d,r), &epEtaHist);
}
}
}
else if (h) {
CalcQVectors(h, &epEtaHist);
}
aodep.SetEventplane(CalcEventplane(fQt));
aodep.SetEventplaneA(CalcEventplane(fQa));
aodep.SetEventplaneC(CalcEventplane(fQc));
FillHists(&aodep);
return kTRUE;
}
void
AliFMDEventPlaneFinder::CalcQVectors(TH2D* h, TH1D* eHist)
{
DGUARD(fDebug,2,"Calculate Q-vectors in AliFMDEventPlaneFinder");
Double_t phi = 0, eta = 0, weight = 0;
for (Int_t e = 1; e <= h->GetNbinsX(); e++) {
Double_t qx = 0, qy = 0;
eta = h->GetXaxis()->GetBinCenter(e);
for (Int_t p = 1; p <= h->GetNbinsY(); p++) {
phi = h->GetYaxis()->GetBinCenter(p);
weight = h->GetBinContent(e, p);
if (fUsePhiWeights) weight *= GetPhiWeight(e, p);
if (e > 168 && p == 14) {
weight = h->GetBinContent(e, 4);
if (fUsePhiWeights) weight *= GetPhiWeight(e, 4);
}
fHPhi->Fill(eta, phi, weight);
fHPhi->Fill(eta, -1., weight);
qx += weight*TMath::Cos(2.*phi);
qy += weight*TMath::Sin(2.*phi);
}
TVector2 qVec(qx, qy);
fQt += qVec;
if (eta < 0) fQa += qVec;
if (eta > 0) fQc += qVec;
fQeta += qVec;
if (e % 10 == 0) {
eHist->Fill(eta, CalcEventplane(fQeta));
fQeta.Set(0., 0.);
}
}
return;
}
Double_t
AliFMDEventPlaneFinder::CalcEventplane(const TVector2& v) const
{
DGUARD(fDebug,2,"Calculate Event plane in AliFMDEventPlaneFinder");
Double_t ep = -1;
if (v.Mod() == 0.) return ep;
ep = v.Phi();
ep /= 2.;
if (fDebug > 0)
AliInfo(Form("Eventplane found to be: %f", ep));
return ep;
}
Double_t
AliFMDEventPlaneFinder::CalcDifference(Double_t a1, Double_t a2) const
{
Double_t diff = a1 - a2;
if (diff < TMath::Pi()/2) diff = TMath::Pi() - diff;
if (diff >= TMath::Pi()/2) diff = TMath::Pi() - diff;
return diff;
}
void
AliFMDEventPlaneFinder::FillHists(AliAODForwardEP* fmdEP)
{
DGUARD(fDebug,2,"Fill histograms in AliFMDEventPlaneFinder");
Double_t fmdEPt = fmdEP->GetEventplane();
Double_t fmdEPa = fmdEP->GetEventplaneA();
Double_t fmdEPc = fmdEP->GetEventplaneC();
fHepFMD->Fill(fmdEPt);
fHepFMDA->Fill(fmdEPa);
fHepFMDC->Fill(fmdEPc);
fHdiffFMDAC->Fill(CalcDifference(fmdEPa,fmdEPc));
fHcorrFMDAC->Fill(fmdEPa, fmdEPc);
AliEventplane* ep = fEvent->GetEventplane();
Double_t tpcEP = (ep ? ep->GetEventplane("Q") : -1);
fHdiffFMDTPC->Fill(CalcDifference(fmdEPt, tpcEP));
fHcorrFMDTPC->Fill(fmdEPt, tpcEP);
Double_t vzeroEP = ep ? ep->GetEventplane("V0", fEvent, 2) : -1;
fHdiffFMDVZERO->Fill(CalcDifference(fmdEPt, vzeroEP));
fHcorrFMDVZERO->Fill(fmdEPt, vzeroEP);
return;
}
Double_t
AliFMDEventPlaneFinder::GetPhiWeight(Int_t etaBin, Int_t phiBin) const
{
Double_t phiWeight = 1;
if (!fPhiDist) return phiWeight;
Double_t nParticles = fPhiDist->GetBinContent(etaBin, 0);
Double_t nPhiBins = fPhiDist->GetNbinsY();
Double_t phiDistValue = fPhiDist->GetBinContent(etaBin, phiBin);
if (phiDistValue > 0) phiWeight = nParticles/nPhiBins/phiDistValue;
return phiWeight;
}
void
AliFMDEventPlaneFinder::SetRunNumber(Int_t run)
{
if (fRunNumber == run) return;
fRunNumber = run;
if (fUsePhiWeights) GetPhiDist();
return;
}
void
AliFMDEventPlaneFinder::GetPhiDist()
{
if (!fOADBContainer) return;
fPhiDist = static_cast<TH2D*>(fOADBContainer
->GetObject(fRunNumber, "Default")
->Clone(Form("fPhiDist_%d", fRunNumber)));
fList->Add(fPhiDist);
return;
}
#define PFV(N,VALUE) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << (VALUE) << std::endl; } while(false)
#define PFB(N,FLAG) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << std::boolalpha << (FLAG) << std::noboolalpha << std::endl; \
} while(false)
void
AliFMDEventPlaneFinder::Print(Option_t* ) const
{
AliForwardUtil::PrintTask(*this);
gROOT->IncreaseDirLevel();
PFB("Is active", true);
PFV("Run number for OADB query", fRunNumber);
PFB("Use phi weights", fUsePhiWeights);
gROOT->DecreaseDirLevel();
}
AliFMDEventPlaneFinder.cxx:1 AliFMDEventPlaneFinder.cxx:2 AliFMDEventPlaneFinder.cxx:3 AliFMDEventPlaneFinder.cxx:4 AliFMDEventPlaneFinder.cxx:5 AliFMDEventPlaneFinder.cxx:6 AliFMDEventPlaneFinder.cxx:7 AliFMDEventPlaneFinder.cxx:8 AliFMDEventPlaneFinder.cxx:9 AliFMDEventPlaneFinder.cxx:10 AliFMDEventPlaneFinder.cxx:11 AliFMDEventPlaneFinder.cxx:12 AliFMDEventPlaneFinder.cxx:13 AliFMDEventPlaneFinder.cxx:14 AliFMDEventPlaneFinder.cxx:15 AliFMDEventPlaneFinder.cxx:16 AliFMDEventPlaneFinder.cxx:17 AliFMDEventPlaneFinder.cxx:18 AliFMDEventPlaneFinder.cxx:19 AliFMDEventPlaneFinder.cxx:20 AliFMDEventPlaneFinder.cxx:21 AliFMDEventPlaneFinder.cxx:22 AliFMDEventPlaneFinder.cxx:23 AliFMDEventPlaneFinder.cxx:24 AliFMDEventPlaneFinder.cxx:25 AliFMDEventPlaneFinder.cxx:26 AliFMDEventPlaneFinder.cxx:27 AliFMDEventPlaneFinder.cxx:28 AliFMDEventPlaneFinder.cxx:29 AliFMDEventPlaneFinder.cxx:30 AliFMDEventPlaneFinder.cxx:31 AliFMDEventPlaneFinder.cxx:32 AliFMDEventPlaneFinder.cxx:33 AliFMDEventPlaneFinder.cxx:34 AliFMDEventPlaneFinder.cxx:35 AliFMDEventPlaneFinder.cxx:36 AliFMDEventPlaneFinder.cxx:37 AliFMDEventPlaneFinder.cxx:38 AliFMDEventPlaneFinder.cxx:39 AliFMDEventPlaneFinder.cxx:40 AliFMDEventPlaneFinder.cxx:41 AliFMDEventPlaneFinder.cxx:42 AliFMDEventPlaneFinder.cxx:43 AliFMDEventPlaneFinder.cxx:44 AliFMDEventPlaneFinder.cxx:45 AliFMDEventPlaneFinder.cxx:46 AliFMDEventPlaneFinder.cxx:47 AliFMDEventPlaneFinder.cxx:48 AliFMDEventPlaneFinder.cxx:49 AliFMDEventPlaneFinder.cxx:50 AliFMDEventPlaneFinder.cxx:51 AliFMDEventPlaneFinder.cxx:52 AliFMDEventPlaneFinder.cxx:53 AliFMDEventPlaneFinder.cxx:54 AliFMDEventPlaneFinder.cxx:55 AliFMDEventPlaneFinder.cxx:56 AliFMDEventPlaneFinder.cxx:57 AliFMDEventPlaneFinder.cxx:58 AliFMDEventPlaneFinder.cxx:59 AliFMDEventPlaneFinder.cxx:60 AliFMDEventPlaneFinder.cxx:61 AliFMDEventPlaneFinder.cxx:62 AliFMDEventPlaneFinder.cxx:63 AliFMDEventPlaneFinder.cxx:64 AliFMDEventPlaneFinder.cxx:65 AliFMDEventPlaneFinder.cxx:66 AliFMDEventPlaneFinder.cxx:67 AliFMDEventPlaneFinder.cxx:68 AliFMDEventPlaneFinder.cxx:69 AliFMDEventPlaneFinder.cxx:70 AliFMDEventPlaneFinder.cxx:71 AliFMDEventPlaneFinder.cxx:72 AliFMDEventPlaneFinder.cxx:73 AliFMDEventPlaneFinder.cxx:74 AliFMDEventPlaneFinder.cxx:75 AliFMDEventPlaneFinder.cxx:76 AliFMDEventPlaneFinder.cxx:77 AliFMDEventPlaneFinder.cxx:78 AliFMDEventPlaneFinder.cxx:79 AliFMDEventPlaneFinder.cxx:80 AliFMDEventPlaneFinder.cxx:81 AliFMDEventPlaneFinder.cxx:82 AliFMDEventPlaneFinder.cxx:83 AliFMDEventPlaneFinder.cxx:84 AliFMDEventPlaneFinder.cxx:85 AliFMDEventPlaneFinder.cxx:86 AliFMDEventPlaneFinder.cxx:87 AliFMDEventPlaneFinder.cxx:88 AliFMDEventPlaneFinder.cxx:89 AliFMDEventPlaneFinder.cxx:90 AliFMDEventPlaneFinder.cxx:91 AliFMDEventPlaneFinder.cxx:92 AliFMDEventPlaneFinder.cxx:93 AliFMDEventPlaneFinder.cxx:94 AliFMDEventPlaneFinder.cxx:95 AliFMDEventPlaneFinder.cxx:96 AliFMDEventPlaneFinder.cxx:97 AliFMDEventPlaneFinder.cxx:98 AliFMDEventPlaneFinder.cxx:99 AliFMDEventPlaneFinder.cxx:100 AliFMDEventPlaneFinder.cxx:101 AliFMDEventPlaneFinder.cxx:102 AliFMDEventPlaneFinder.cxx:103 AliFMDEventPlaneFinder.cxx:104 AliFMDEventPlaneFinder.cxx:105 AliFMDEventPlaneFinder.cxx:106 AliFMDEventPlaneFinder.cxx:107 AliFMDEventPlaneFinder.cxx:108 AliFMDEventPlaneFinder.cxx:109 AliFMDEventPlaneFinder.cxx:110 AliFMDEventPlaneFinder.cxx:111 AliFMDEventPlaneFinder.cxx:112 AliFMDEventPlaneFinder.cxx:113 AliFMDEventPlaneFinder.cxx:114 AliFMDEventPlaneFinder.cxx:115 AliFMDEventPlaneFinder.cxx:116 AliFMDEventPlaneFinder.cxx:117 AliFMDEventPlaneFinder.cxx:118 AliFMDEventPlaneFinder.cxx:119 AliFMDEventPlaneFinder.cxx:120 AliFMDEventPlaneFinder.cxx:121 AliFMDEventPlaneFinder.cxx:122 AliFMDEventPlaneFinder.cxx:123 AliFMDEventPlaneFinder.cxx:124 AliFMDEventPlaneFinder.cxx:125 AliFMDEventPlaneFinder.cxx:126 AliFMDEventPlaneFinder.cxx:127 AliFMDEventPlaneFinder.cxx:128 AliFMDEventPlaneFinder.cxx:129 AliFMDEventPlaneFinder.cxx:130 AliFMDEventPlaneFinder.cxx:131 AliFMDEventPlaneFinder.cxx:132 AliFMDEventPlaneFinder.cxx:133 AliFMDEventPlaneFinder.cxx:134 AliFMDEventPlaneFinder.cxx:135 AliFMDEventPlaneFinder.cxx:136 AliFMDEventPlaneFinder.cxx:137 AliFMDEventPlaneFinder.cxx:138 AliFMDEventPlaneFinder.cxx:139 AliFMDEventPlaneFinder.cxx:140 AliFMDEventPlaneFinder.cxx:141 AliFMDEventPlaneFinder.cxx:142 AliFMDEventPlaneFinder.cxx:143 AliFMDEventPlaneFinder.cxx:144 AliFMDEventPlaneFinder.cxx:145 AliFMDEventPlaneFinder.cxx:146 AliFMDEventPlaneFinder.cxx:147 AliFMDEventPlaneFinder.cxx:148 AliFMDEventPlaneFinder.cxx:149 AliFMDEventPlaneFinder.cxx:150 AliFMDEventPlaneFinder.cxx:151 AliFMDEventPlaneFinder.cxx:152 AliFMDEventPlaneFinder.cxx:153 AliFMDEventPlaneFinder.cxx:154 AliFMDEventPlaneFinder.cxx:155 AliFMDEventPlaneFinder.cxx:156 AliFMDEventPlaneFinder.cxx:157 AliFMDEventPlaneFinder.cxx:158 AliFMDEventPlaneFinder.cxx:159 AliFMDEventPlaneFinder.cxx:160 AliFMDEventPlaneFinder.cxx:161 AliFMDEventPlaneFinder.cxx:162 AliFMDEventPlaneFinder.cxx:163 AliFMDEventPlaneFinder.cxx:164 AliFMDEventPlaneFinder.cxx:165 AliFMDEventPlaneFinder.cxx:166 AliFMDEventPlaneFinder.cxx:167 AliFMDEventPlaneFinder.cxx:168 AliFMDEventPlaneFinder.cxx:169 AliFMDEventPlaneFinder.cxx:170 AliFMDEventPlaneFinder.cxx:171 AliFMDEventPlaneFinder.cxx:172 AliFMDEventPlaneFinder.cxx:173 AliFMDEventPlaneFinder.cxx:174 AliFMDEventPlaneFinder.cxx:175 AliFMDEventPlaneFinder.cxx:176 AliFMDEventPlaneFinder.cxx:177 AliFMDEventPlaneFinder.cxx:178 AliFMDEventPlaneFinder.cxx:179 AliFMDEventPlaneFinder.cxx:180 AliFMDEventPlaneFinder.cxx:181 AliFMDEventPlaneFinder.cxx:182 AliFMDEventPlaneFinder.cxx:183 AliFMDEventPlaneFinder.cxx:184 AliFMDEventPlaneFinder.cxx:185 AliFMDEventPlaneFinder.cxx:186 AliFMDEventPlaneFinder.cxx:187 AliFMDEventPlaneFinder.cxx:188 AliFMDEventPlaneFinder.cxx:189 AliFMDEventPlaneFinder.cxx:190 AliFMDEventPlaneFinder.cxx:191 AliFMDEventPlaneFinder.cxx:192 AliFMDEventPlaneFinder.cxx:193 AliFMDEventPlaneFinder.cxx:194 AliFMDEventPlaneFinder.cxx:195 AliFMDEventPlaneFinder.cxx:196 AliFMDEventPlaneFinder.cxx:197 AliFMDEventPlaneFinder.cxx:198 AliFMDEventPlaneFinder.cxx:199 AliFMDEventPlaneFinder.cxx:200 AliFMDEventPlaneFinder.cxx:201 AliFMDEventPlaneFinder.cxx:202 AliFMDEventPlaneFinder.cxx:203 AliFMDEventPlaneFinder.cxx:204 AliFMDEventPlaneFinder.cxx:205 AliFMDEventPlaneFinder.cxx:206 AliFMDEventPlaneFinder.cxx:207 AliFMDEventPlaneFinder.cxx:208 AliFMDEventPlaneFinder.cxx:209 AliFMDEventPlaneFinder.cxx:210 AliFMDEventPlaneFinder.cxx:211 AliFMDEventPlaneFinder.cxx:212 AliFMDEventPlaneFinder.cxx:213 AliFMDEventPlaneFinder.cxx:214 AliFMDEventPlaneFinder.cxx:215 AliFMDEventPlaneFinder.cxx:216 AliFMDEventPlaneFinder.cxx:217 AliFMDEventPlaneFinder.cxx:218 AliFMDEventPlaneFinder.cxx:219 AliFMDEventPlaneFinder.cxx:220 AliFMDEventPlaneFinder.cxx:221 AliFMDEventPlaneFinder.cxx:222 AliFMDEventPlaneFinder.cxx:223 AliFMDEventPlaneFinder.cxx:224 AliFMDEventPlaneFinder.cxx:225 AliFMDEventPlaneFinder.cxx:226 AliFMDEventPlaneFinder.cxx:227 AliFMDEventPlaneFinder.cxx:228 AliFMDEventPlaneFinder.cxx:229 AliFMDEventPlaneFinder.cxx:230 AliFMDEventPlaneFinder.cxx:231 AliFMDEventPlaneFinder.cxx:232 AliFMDEventPlaneFinder.cxx:233 AliFMDEventPlaneFinder.cxx:234 AliFMDEventPlaneFinder.cxx:235 AliFMDEventPlaneFinder.cxx:236 AliFMDEventPlaneFinder.cxx:237 AliFMDEventPlaneFinder.cxx:238 AliFMDEventPlaneFinder.cxx:239 AliFMDEventPlaneFinder.cxx:240 AliFMDEventPlaneFinder.cxx:241 AliFMDEventPlaneFinder.cxx:242 AliFMDEventPlaneFinder.cxx:243 AliFMDEventPlaneFinder.cxx:244 AliFMDEventPlaneFinder.cxx:245 AliFMDEventPlaneFinder.cxx:246 AliFMDEventPlaneFinder.cxx:247 AliFMDEventPlaneFinder.cxx:248 AliFMDEventPlaneFinder.cxx:249 AliFMDEventPlaneFinder.cxx:250 AliFMDEventPlaneFinder.cxx:251 AliFMDEventPlaneFinder.cxx:252 AliFMDEventPlaneFinder.cxx:253 AliFMDEventPlaneFinder.cxx:254 AliFMDEventPlaneFinder.cxx:255 AliFMDEventPlaneFinder.cxx:256 AliFMDEventPlaneFinder.cxx:257 AliFMDEventPlaneFinder.cxx:258 AliFMDEventPlaneFinder.cxx:259 AliFMDEventPlaneFinder.cxx:260 AliFMDEventPlaneFinder.cxx:261 AliFMDEventPlaneFinder.cxx:262 AliFMDEventPlaneFinder.cxx:263 AliFMDEventPlaneFinder.cxx:264 AliFMDEventPlaneFinder.cxx:265 AliFMDEventPlaneFinder.cxx:266 AliFMDEventPlaneFinder.cxx:267 AliFMDEventPlaneFinder.cxx:268 AliFMDEventPlaneFinder.cxx:269 AliFMDEventPlaneFinder.cxx:270 AliFMDEventPlaneFinder.cxx:271 AliFMDEventPlaneFinder.cxx:272 AliFMDEventPlaneFinder.cxx:273 AliFMDEventPlaneFinder.cxx:274 AliFMDEventPlaneFinder.cxx:275 AliFMDEventPlaneFinder.cxx:276 AliFMDEventPlaneFinder.cxx:277 AliFMDEventPlaneFinder.cxx:278 AliFMDEventPlaneFinder.cxx:279 AliFMDEventPlaneFinder.cxx:280 AliFMDEventPlaneFinder.cxx:281 AliFMDEventPlaneFinder.cxx:282 AliFMDEventPlaneFinder.cxx:283 AliFMDEventPlaneFinder.cxx:284 AliFMDEventPlaneFinder.cxx:285 AliFMDEventPlaneFinder.cxx:286 AliFMDEventPlaneFinder.cxx:287 AliFMDEventPlaneFinder.cxx:288 AliFMDEventPlaneFinder.cxx:289 AliFMDEventPlaneFinder.cxx:290 AliFMDEventPlaneFinder.cxx:291 AliFMDEventPlaneFinder.cxx:292 AliFMDEventPlaneFinder.cxx:293 AliFMDEventPlaneFinder.cxx:294 AliFMDEventPlaneFinder.cxx:295 AliFMDEventPlaneFinder.cxx:296 AliFMDEventPlaneFinder.cxx:297 AliFMDEventPlaneFinder.cxx:298 AliFMDEventPlaneFinder.cxx:299 AliFMDEventPlaneFinder.cxx:300 AliFMDEventPlaneFinder.cxx:301 AliFMDEventPlaneFinder.cxx:302 AliFMDEventPlaneFinder.cxx:303 AliFMDEventPlaneFinder.cxx:304 AliFMDEventPlaneFinder.cxx:305 AliFMDEventPlaneFinder.cxx:306 AliFMDEventPlaneFinder.cxx:307 AliFMDEventPlaneFinder.cxx:308 AliFMDEventPlaneFinder.cxx:309 AliFMDEventPlaneFinder.cxx:310 AliFMDEventPlaneFinder.cxx:311 AliFMDEventPlaneFinder.cxx:312 AliFMDEventPlaneFinder.cxx:313 AliFMDEventPlaneFinder.cxx:314 AliFMDEventPlaneFinder.cxx:315 AliFMDEventPlaneFinder.cxx:316 AliFMDEventPlaneFinder.cxx:317 AliFMDEventPlaneFinder.cxx:318 AliFMDEventPlaneFinder.cxx:319 AliFMDEventPlaneFinder.cxx:320 AliFMDEventPlaneFinder.cxx:321 AliFMDEventPlaneFinder.cxx:322 AliFMDEventPlaneFinder.cxx:323 AliFMDEventPlaneFinder.cxx:324 AliFMDEventPlaneFinder.cxx:325 AliFMDEventPlaneFinder.cxx:326 AliFMDEventPlaneFinder.cxx:327 AliFMDEventPlaneFinder.cxx:328 AliFMDEventPlaneFinder.cxx:329 AliFMDEventPlaneFinder.cxx:330 AliFMDEventPlaneFinder.cxx:331 AliFMDEventPlaneFinder.cxx:332 AliFMDEventPlaneFinder.cxx:333 AliFMDEventPlaneFinder.cxx:334 AliFMDEventPlaneFinder.cxx:335 AliFMDEventPlaneFinder.cxx:336 AliFMDEventPlaneFinder.cxx:337 AliFMDEventPlaneFinder.cxx:338 AliFMDEventPlaneFinder.cxx:339 AliFMDEventPlaneFinder.cxx:340 AliFMDEventPlaneFinder.cxx:341 AliFMDEventPlaneFinder.cxx:342 AliFMDEventPlaneFinder.cxx:343 AliFMDEventPlaneFinder.cxx:344 AliFMDEventPlaneFinder.cxx:345 AliFMDEventPlaneFinder.cxx:346 AliFMDEventPlaneFinder.cxx:347 AliFMDEventPlaneFinder.cxx:348 AliFMDEventPlaneFinder.cxx:349 AliFMDEventPlaneFinder.cxx:350 AliFMDEventPlaneFinder.cxx:351 AliFMDEventPlaneFinder.cxx:352 AliFMDEventPlaneFinder.cxx:353 AliFMDEventPlaneFinder.cxx:354 AliFMDEventPlaneFinder.cxx:355 AliFMDEventPlaneFinder.cxx:356 AliFMDEventPlaneFinder.cxx:357 AliFMDEventPlaneFinder.cxx:358 AliFMDEventPlaneFinder.cxx:359 AliFMDEventPlaneFinder.cxx:360 AliFMDEventPlaneFinder.cxx:361 AliFMDEventPlaneFinder.cxx:362 AliFMDEventPlaneFinder.cxx:363 AliFMDEventPlaneFinder.cxx:364 AliFMDEventPlaneFinder.cxx:365 AliFMDEventPlaneFinder.cxx:366 AliFMDEventPlaneFinder.cxx:367 AliFMDEventPlaneFinder.cxx:368 AliFMDEventPlaneFinder.cxx:369 AliFMDEventPlaneFinder.cxx:370 AliFMDEventPlaneFinder.cxx:371 AliFMDEventPlaneFinder.cxx:372 AliFMDEventPlaneFinder.cxx:373 AliFMDEventPlaneFinder.cxx:374 AliFMDEventPlaneFinder.cxx:375 AliFMDEventPlaneFinder.cxx:376 AliFMDEventPlaneFinder.cxx:377 AliFMDEventPlaneFinder.cxx:378 AliFMDEventPlaneFinder.cxx:379 AliFMDEventPlaneFinder.cxx:380 AliFMDEventPlaneFinder.cxx:381 AliFMDEventPlaneFinder.cxx:382 AliFMDEventPlaneFinder.cxx:383 AliFMDEventPlaneFinder.cxx:384 AliFMDEventPlaneFinder.cxx:385 AliFMDEventPlaneFinder.cxx:386 AliFMDEventPlaneFinder.cxx:387 AliFMDEventPlaneFinder.cxx:388 AliFMDEventPlaneFinder.cxx:389 AliFMDEventPlaneFinder.cxx:390 AliFMDEventPlaneFinder.cxx:391 AliFMDEventPlaneFinder.cxx:392 AliFMDEventPlaneFinder.cxx:393 AliFMDEventPlaneFinder.cxx:394 AliFMDEventPlaneFinder.cxx:395 AliFMDEventPlaneFinder.cxx:396 AliFMDEventPlaneFinder.cxx:397 AliFMDEventPlaneFinder.cxx:398 AliFMDEventPlaneFinder.cxx:399 AliFMDEventPlaneFinder.cxx:400 AliFMDEventPlaneFinder.cxx:401 AliFMDEventPlaneFinder.cxx:402 AliFMDEventPlaneFinder.cxx:403 AliFMDEventPlaneFinder.cxx:404 AliFMDEventPlaneFinder.cxx:405 AliFMDEventPlaneFinder.cxx:406 AliFMDEventPlaneFinder.cxx:407 AliFMDEventPlaneFinder.cxx:408 AliFMDEventPlaneFinder.cxx:409 AliFMDEventPlaneFinder.cxx:410 AliFMDEventPlaneFinder.cxx:411 AliFMDEventPlaneFinder.cxx:412 AliFMDEventPlaneFinder.cxx:413 AliFMDEventPlaneFinder.cxx:414 AliFMDEventPlaneFinder.cxx:415 AliFMDEventPlaneFinder.cxx:416 AliFMDEventPlaneFinder.cxx:417 AliFMDEventPlaneFinder.cxx:418 AliFMDEventPlaneFinder.cxx:419 AliFMDEventPlaneFinder.cxx:420 AliFMDEventPlaneFinder.cxx:421 AliFMDEventPlaneFinder.cxx:422 AliFMDEventPlaneFinder.cxx:423 AliFMDEventPlaneFinder.cxx:424 AliFMDEventPlaneFinder.cxx:425 AliFMDEventPlaneFinder.cxx:426 AliFMDEventPlaneFinder.cxx:427 AliFMDEventPlaneFinder.cxx:428 AliFMDEventPlaneFinder.cxx:429 AliFMDEventPlaneFinder.cxx:430 AliFMDEventPlaneFinder.cxx:431 AliFMDEventPlaneFinder.cxx:432 AliFMDEventPlaneFinder.cxx:433 AliFMDEventPlaneFinder.cxx:434 AliFMDEventPlaneFinder.cxx:435 AliFMDEventPlaneFinder.cxx:436 AliFMDEventPlaneFinder.cxx:437 AliFMDEventPlaneFinder.cxx:438 AliFMDEventPlaneFinder.cxx:439 AliFMDEventPlaneFinder.cxx:440 AliFMDEventPlaneFinder.cxx:441 AliFMDEventPlaneFinder.cxx:442 AliFMDEventPlaneFinder.cxx:443 AliFMDEventPlaneFinder.cxx:444 AliFMDEventPlaneFinder.cxx:445 AliFMDEventPlaneFinder.cxx:446 AliFMDEventPlaneFinder.cxx:447 AliFMDEventPlaneFinder.cxx:448 AliFMDEventPlaneFinder.cxx:449 AliFMDEventPlaneFinder.cxx:450 AliFMDEventPlaneFinder.cxx:451 AliFMDEventPlaneFinder.cxx:452 AliFMDEventPlaneFinder.cxx:453 AliFMDEventPlaneFinder.cxx:454 AliFMDEventPlaneFinder.cxx:455 AliFMDEventPlaneFinder.cxx:456 AliFMDEventPlaneFinder.cxx:457 AliFMDEventPlaneFinder.cxx:458 AliFMDEventPlaneFinder.cxx:459 AliFMDEventPlaneFinder.cxx:460 AliFMDEventPlaneFinder.cxx:461 AliFMDEventPlaneFinder.cxx:462 AliFMDEventPlaneFinder.cxx:463 AliFMDEventPlaneFinder.cxx:464 AliFMDEventPlaneFinder.cxx:465 AliFMDEventPlaneFinder.cxx:466 AliFMDEventPlaneFinder.cxx:467 AliFMDEventPlaneFinder.cxx:468 AliFMDEventPlaneFinder.cxx:469 AliFMDEventPlaneFinder.cxx:470 AliFMDEventPlaneFinder.cxx:471 AliFMDEventPlaneFinder.cxx:472 AliFMDEventPlaneFinder.cxx:473 AliFMDEventPlaneFinder.cxx:474 AliFMDEventPlaneFinder.cxx:475 AliFMDEventPlaneFinder.cxx:476 AliFMDEventPlaneFinder.cxx:477 AliFMDEventPlaneFinder.cxx:478 AliFMDEventPlaneFinder.cxx:479 AliFMDEventPlaneFinder.cxx:480 AliFMDEventPlaneFinder.cxx:481 AliFMDEventPlaneFinder.cxx:482 AliFMDEventPlaneFinder.cxx:483 AliFMDEventPlaneFinder.cxx:484 AliFMDEventPlaneFinder.cxx:485 AliFMDEventPlaneFinder.cxx:486 AliFMDEventPlaneFinder.cxx:487 AliFMDEventPlaneFinder.cxx:488 AliFMDEventPlaneFinder.cxx:489 AliFMDEventPlaneFinder.cxx:490 AliFMDEventPlaneFinder.cxx:491 AliFMDEventPlaneFinder.cxx:492 AliFMDEventPlaneFinder.cxx:493 AliFMDEventPlaneFinder.cxx:494 AliFMDEventPlaneFinder.cxx:495 AliFMDEventPlaneFinder.cxx:496 AliFMDEventPlaneFinder.cxx:497 AliFMDEventPlaneFinder.cxx:498 AliFMDEventPlaneFinder.cxx:499 AliFMDEventPlaneFinder.cxx:500 AliFMDEventPlaneFinder.cxx:501 AliFMDEventPlaneFinder.cxx:502 AliFMDEventPlaneFinder.cxx:503 AliFMDEventPlaneFinder.cxx:504 AliFMDEventPlaneFinder.cxx:505 AliFMDEventPlaneFinder.cxx:506 AliFMDEventPlaneFinder.cxx:507 AliFMDEventPlaneFinder.cxx:508 AliFMDEventPlaneFinder.cxx:509 AliFMDEventPlaneFinder.cxx:510 AliFMDEventPlaneFinder.cxx:511 AliFMDEventPlaneFinder.cxx:512 AliFMDEventPlaneFinder.cxx:513 AliFMDEventPlaneFinder.cxx:514 AliFMDEventPlaneFinder.cxx:515 AliFMDEventPlaneFinder.cxx:516 AliFMDEventPlaneFinder.cxx:517 AliFMDEventPlaneFinder.cxx:518 AliFMDEventPlaneFinder.cxx:519 AliFMDEventPlaneFinder.cxx:520 AliFMDEventPlaneFinder.cxx:521 AliFMDEventPlaneFinder.cxx:522 AliFMDEventPlaneFinder.cxx:523 AliFMDEventPlaneFinder.cxx:524 AliFMDEventPlaneFinder.cxx:525 AliFMDEventPlaneFinder.cxx:526 AliFMDEventPlaneFinder.cxx:527 AliFMDEventPlaneFinder.cxx:528 AliFMDEventPlaneFinder.cxx:529 AliFMDEventPlaneFinder.cxx:530 AliFMDEventPlaneFinder.cxx:531 AliFMDEventPlaneFinder.cxx:532 AliFMDEventPlaneFinder.cxx:533 AliFMDEventPlaneFinder.cxx:534 AliFMDEventPlaneFinder.cxx:535 AliFMDEventPlaneFinder.cxx:536 AliFMDEventPlaneFinder.cxx:537 AliFMDEventPlaneFinder.cxx:538 AliFMDEventPlaneFinder.cxx:539 AliFMDEventPlaneFinder.cxx:540 AliFMDEventPlaneFinder.cxx:541 AliFMDEventPlaneFinder.cxx:542 AliFMDEventPlaneFinder.cxx:543 AliFMDEventPlaneFinder.cxx:544 AliFMDEventPlaneFinder.cxx:545 AliFMDEventPlaneFinder.cxx:546 AliFMDEventPlaneFinder.cxx:547 AliFMDEventPlaneFinder.cxx:548 AliFMDEventPlaneFinder.cxx:549 AliFMDEventPlaneFinder.cxx:550 AliFMDEventPlaneFinder.cxx:551 AliFMDEventPlaneFinder.cxx:552 AliFMDEventPlaneFinder.cxx:553 AliFMDEventPlaneFinder.cxx:554 AliFMDEventPlaneFinder.cxx:555 AliFMDEventPlaneFinder.cxx:556 AliFMDEventPlaneFinder.cxx:557 AliFMDEventPlaneFinder.cxx:558 AliFMDEventPlaneFinder.cxx:559 AliFMDEventPlaneFinder.cxx:560 AliFMDEventPlaneFinder.cxx:561 AliFMDEventPlaneFinder.cxx:562 AliFMDEventPlaneFinder.cxx:563 AliFMDEventPlaneFinder.cxx:564 AliFMDEventPlaneFinder.cxx:565 AliFMDEventPlaneFinder.cxx:566 AliFMDEventPlaneFinder.cxx:567 AliFMDEventPlaneFinder.cxx:568 AliFMDEventPlaneFinder.cxx:569 AliFMDEventPlaneFinder.cxx:570 AliFMDEventPlaneFinder.cxx:571 AliFMDEventPlaneFinder.cxx:572 AliFMDEventPlaneFinder.cxx:573 AliFMDEventPlaneFinder.cxx:574 AliFMDEventPlaneFinder.cxx:575 AliFMDEventPlaneFinder.cxx:576 AliFMDEventPlaneFinder.cxx:577 AliFMDEventPlaneFinder.cxx:578 AliFMDEventPlaneFinder.cxx:579