#include "AliForwardMCFlowTaskQC.h"
#include "AliAODMCParticle.h"
#include "AliAODMCHeader.h"
#include "TGraph.h"
#include "TF1.h"
#include "AliAODEvent.h"
#include "AliAODForwardMult.h"
#include "AliAODCentralMult.h"
#include "AliGenEventHeader.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliGenEventHeaderTunedPbPb.h"
ClassImp(AliForwardMCFlowTaskQC)
#if 0
;
#endif
AliForwardMCFlowTaskQC::AliForwardMCFlowTaskQC()
: AliForwardFlowTaskQC(),
fBinsForwardTR(),
fBinsCentralTR(),
fBinsMC(),
fAODMCHeader(),
fHistdNdedpMC(),
fHistFMDMCCorr(),
fHistSPDMCCorr(),
fWeights(0),
fImpactParToCent(),
fUseImpactPar(0),
fUseMCVertex(0),
fUseFlowWeights(0)
{}
AliForwardMCFlowTaskQC::AliForwardMCFlowTaskQC(const char* name)
: AliForwardFlowTaskQC(name),
fBinsForwardTR(),
fBinsCentralTR(),
fBinsMC(),
fAODMCHeader(0),
fHistdNdedpMC(),
fHistFMDMCCorr(),
fHistSPDMCCorr(),
fWeights(0),
fImpactParToCent(),
fUseImpactPar(0),
fUseMCVertex(0),
fUseFlowWeights(0)
{
Double_t impactParam[] = { 0.00, 3.72, 5.23, 7.31, 8.88, 10.20,
11.38, 12.47, 13.50, 14.51, 16.679};
Double_t centrality[] = { 0., 5., 10., 20., 30., 40.,
50., 60., 70., 80., 100.};
Int_t nPoints = sizeof(impactParam)/sizeof(Double_t);
fImpactParToCent = new TGraph(nPoints, impactParam, centrality);
}
AliForwardMCFlowTaskQC::AliForwardMCFlowTaskQC(const AliForwardMCFlowTaskQC& o)
: AliForwardFlowTaskQC(o),
fBinsForwardTR(),
fBinsCentralTR(),
fBinsMC(),
fAODMCHeader(o.fAODMCHeader),
fHistdNdedpMC(o.fHistdNdedpMC),
fHistFMDMCCorr(o.fHistFMDMCCorr),
fHistSPDMCCorr(o.fHistSPDMCCorr),
fWeights(o.fWeights),
fImpactParToCent(o.fImpactParToCent),
fUseImpactPar(o.fUseImpactPar),
fUseMCVertex(o.fUseMCVertex),
fUseFlowWeights(o.fUseFlowWeights)
{
}
AliForwardMCFlowTaskQC&
AliForwardMCFlowTaskQC::operator=(const AliForwardMCFlowTaskQC& o)
{
if (&o == this) return *this;
fAODMCHeader = o.fAODMCHeader;
fHistdNdedpMC = o.fHistdNdedpMC;
fHistFMDMCCorr = o.fHistFMDMCCorr;
fHistSPDMCCorr = o.fHistSPDMCCorr;
fWeights = o.fWeights;
fImpactParToCent = o.fImpactParToCent;
fUseImpactPar = o.fUseImpactPar;
fUseMCVertex = o.fUseMCVertex;
fUseFlowWeights = o.fUseFlowWeights;
return *this;
}
void AliForwardMCFlowTaskQC::InitVertexBins()
{
AliForwardFlowTaskQC::InitVertexBins();
Bool_t isNUA = (fFlowFlags & kNUAcorr);
for (Int_t v = 1; v <= fVtxAxis->GetNbins(); v++) {
Int_t vL = Int_t(fVtxAxis->GetBinLowEdge(v));
Int_t vH = Int_t(fVtxAxis->GetBinUpEdge(v));
if ((fFlowFlags & kFMD)) {
fBinsForwardTR.Add(new VertexBin(vL, vH, fMaxMoment, "FMDTR", fFlowFlags, fFMDCut, fEtaGap));
if (!(fFlowFlags & k3Cor))
fBinsCentralTR.Add(new VertexBin(vL, vH, fMaxMoment, "SPDTR", fFlowFlags|kSPD, fSPDCut, fEtaGap));
if (isNUA) fFlowFlags ^= kNUAcorr;
fBinsMC.Add(new VertexBin(vL, vH, fMaxMoment, "MC-FMD", fFlowFlags|kMC, -1, fEtaGap));
if ((fFlowFlags & kStdQC))
fBinsMC.Add(new VertexBin(vL, vH, fMaxMoment, "MC-SPD", fFlowFlags|kMC|kSPD, -1, fEtaGap));
if (isNUA) fFlowFlags ^= kNUAcorr;
}
else if ((fFlowFlags & kVZERO)) {
fBinsMC.Add(new VertexBin(vL, vH, fMaxMoment, "MC-VZERO", fFlowFlags|kMC, -1, fEtaGap));
}
}
}
void AliForwardMCFlowTaskQC::InitHists()
{
AliForwardFlowTaskQC::InitHists();
TString subDetName = ((fFlowFlags & kFMD) ? "FMD" : ((fFlowFlags & kVZERO) ? "VZERO" : "none"));
fHistdNdedpMC = TH2D(Form("fdNdedpMC%s%s", subDetName.Data(), GetQCType(fFlowFlags)),
Form("fdNdedpMC%s%s", subDetName.Data(), GetQCType(fFlowFlags)),
240, -6., 6., 200, 0., TMath::TwoPi());
fHistFMDMCCorr = new TH2D("hFMDMCCorr", "hFMDMCCorr", 200, 0., 15000., 200, 0, 20000);
fHistSPDMCCorr = new TH2D("hSPDMCCorr", "hSPDMCCorr", 200, 0., 7500., 200, 0, 20000);
TList* dList = (TList*)fSumList->FindObject("Diagnostics");
if (!dList) {
dList = new TList();
dList->SetName("Diagnostics");
fSumList->Add(dList);
}
dList->Add(fHistFMDMCCorr);
dList->Add(fHistSPDMCCorr);
TIter nextForwardTR(&fBinsForwardTR);
VertexBin* bin = 0;
while ((bin = static_cast<VertexBin*>(nextForwardTR()))) {
bin->AddOutput(fSumList, fCentAxis);
}
TIter nextCentralTR(&fBinsCentralTR);
while ((bin = static_cast<VertexBin*>(nextCentralTR()))) {
bin->AddOutput(fSumList, fCentAxis);
}
TIter nextMC(&fBinsMC);
while ((bin = static_cast<VertexBin*>(nextMC()))) {
bin->AddOutput(fSumList, fCentAxis);
}
if (fWeights) {
TList* wList = new TList();
wList->SetName("FlowWeights");
fWeights->Init(wList);
fSumList->Add(wList);
}
}
Bool_t AliForwardMCFlowTaskQC::Analyze()
{
if (!AliForwardFlowTaskQC::Analyze()) return kFALSE;
AliAODForwardMult* aodfmult = static_cast<AliAODForwardMult*>(fAOD->FindListObject("ForwardMC"));
AliAODCentralMult* aodcmult = static_cast<AliAODCentralMult*>(fAOD->FindListObject("CentralClustersMC"));
Int_t vtx = fVtxAxis->FindBin(fVtx)-1;
if (aodfmult) {
TH2D& fmdTRdNdetadphi = aodfmult->GetHistogram();
if ((fFlowFlags & kStdQC)) {
FillVtxBinList(fBinsForwardTR, fmdTRdNdetadphi, vtx);
} else if ((fFlowFlags & kEtaGap)) {
FillVtxBinListEtaGap(fBinsForwardTR, fmdTRdNdetadphi, fmdTRdNdetadphi, vtx);
}
if (aodcmult) {
TH2D& spdTRdNdetadphi = aodcmult->GetHistogram();
if ((fFlowFlags & kStdQC)) {
FillVtxBinList(fBinsCentralTR, spdTRdNdetadphi, vtx);
} else if ((fFlowFlags & kEtaGap)) {
FillVtxBinListEtaGap(fBinsCentralTR, fmdTRdNdetadphi, spdTRdNdetadphi, vtx);
} else if ((fFlowFlags & k3Cor)) {
FillVtxBinList3Cor(fBinsForwardTR, spdTRdNdetadphi, fmdTRdNdetadphi, vtx);
}
}
}
if (!FillMCHist()) return kFALSE;
if ((fFlowFlags & kStdQC)) {
FillVtxBinList(fBinsMC, fHistdNdedpMC, vtx, kMC);
} else if ((fFlowFlags & kEtaGap)) {
FillVtxBinListEtaGap(fBinsMC, fHistdNdedpMC, fHistdNdedpMC, vtx, kMC);
} else if ((fFlowFlags & k3Cor)) {
FillVtxBinList3Cor(fBinsMC, fHistdNdedpMC, fHistdNdedpMC, vtx);
}
if (aodfmult && aodcmult) {
AliAODForwardMult* fmult = static_cast<AliAODForwardMult*>(fAOD->FindListObject("Forward"));
AliAODCentralMult* cmult = static_cast<AliAODCentralMult*>(fAOD->FindListObject("CentralClusters"));
const TH2D& fhist = fmult->GetHistogram();
const TH2D& chist = cmult->GetHistogram();
Double_t totForward = fhist.Integral(1, fhist.GetNbinsX(), 1, fhist.GetNbinsY());
Double_t totSPD = chist.Integral(1, chist.GetNbinsX(), 1, chist.GetNbinsY());
Double_t totMC = fHistdNdedpMC.Integral(1, fHistdNdedpMC.GetNbinsX(), 1, fHistdNdedpMC.GetNbinsY());
fHistFMDMCCorr->Fill(totForward, totMC);
fHistSPDMCCorr->Fill(totSPD, totMC);
}
return kTRUE;
}
void AliForwardMCFlowTaskQC::Finalize()
{
AliForwardFlowTaskQC::Finalize();
EndVtxBinList(fBinsForwardTR);
EndVtxBinList(fBinsCentralTR);
EndVtxBinList(fBinsMC);
return;
}
Bool_t AliForwardMCFlowTaskQC::CheckEvent(const AliAODForwardMult* aodfm)
{
fAODMCHeader = static_cast<AliAODMCHeader*>(fAOD->FindListObject(AliAODMCHeader::StdBranchName()));
return AliForwardFlowTaskQC::CheckEvent(aodfm);
}
Bool_t AliForwardMCFlowTaskQC::CheckTrigger(const AliAODForwardMult* aodfm) const
{
if (aodfm) return aodfm->IsTriggerBits(AliAODForwardMult::kB);
else return (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))
->IsEventSelected() & AliVEvent::kMB);
}
Bool_t AliForwardMCFlowTaskQC::GetCentrality(const AliAODForwardMult* aodfm)
{
AliGenEventHeaderTunedPbPb* header =
dynamic_cast<AliGenEventHeaderTunedPbPb*>(fAODMCHeader->GetCocktailHeader(0));
if (header) fCent = header->GetCentrality();
else if (fUseImpactPar) fCent = GetCentFromB();
else return AliForwardFlowTaskQC::GetCentrality(aodfm);
if (fCentAxis->GetXmin() > fCent || fCent >= fCentAxis->GetXmax()) {
fHistEventSel->Fill(kInvCent);
return kFALSE;
}
if (fCent != 0) return kTRUE;
else {
fHistEventSel->Fill(kNoCent);
return kFALSE;
}
}
Bool_t AliForwardMCFlowTaskQC::GetVertex(const AliAODForwardMult* aodfm)
{
if (fUseMCVertex) {
if (fAODMCHeader) {
fVtx = fAODMCHeader->GetVtxZ();
if (fVtx < fVtxAxis->GetXmin() || fVtx > fVtxAxis->GetXmax()) {
fHistEventSel->Fill(kInvVtx);
return kFALSE;
}
return kTRUE;
} else {
fHistEventSel->Fill(kNoVtx);
return kFALSE;
}
} else
return AliForwardFlowTaskQC::GetVertex(aodfm);
}
Bool_t AliForwardMCFlowTaskQC::FillMCHist()
{
fHistdNdedpMC.Reset();
Double_t minEta = -3.75;
Double_t maxEta = 5.;
TClonesArray* mcArray =
static_cast<TClonesArray*>(fAOD->FindListObject(AliAODMCParticle::StdBranchName()));
if(!mcArray){
AliWarning("No MC array found in AOD. Try making it again.");
return kFALSE;
}
if (!fAODMCHeader) AliWarning("No MC header found.");
Int_t ntracks = mcArray->GetEntriesFast();
if (fAODMCHeader) {
if (fAODMCHeader->GetNCocktailHeaders() > 1) {
ntracks = fAODMCHeader->GetCocktailHeader(0)->NProduced();
}
}
for (Int_t it = 0; it < ntracks; it++) {
Double_t weight = 1;
AliAODMCParticle* particle = (AliAODMCParticle*)mcArray->At(it);
if (!particle) {
AliError(Form("Could not receive track %d", it));
continue;
}
if (!particle->IsPrimary()) continue;
if (particle->Charge() == 0) continue;
Double_t eta = particle->Eta();
Double_t phi = particle->Phi();
if (eta >= minEta && eta < maxEta) {
if (fUseFlowWeights && fWeights) {
weight = 1.;
}
fHistdNdedpMC.Fill(eta, phi, weight);
}
}
Int_t sBin = fHistdNdedpMC.GetXaxis()->FindBin(minEta);
Int_t eBin = fHistdNdedpMC.GetXaxis()->FindBin(maxEta);
for ( ; sBin <= eBin; sBin++) {
fHistdNdedpMC.SetBinContent(sBin, 0, 1);
}
return kTRUE;
}
Double_t AliForwardMCFlowTaskQC::GetCentFromB() const
{
Double_t cent = -1.;
if (!fAODMCHeader) return cent;
Double_t b = fAODMCHeader->GetImpactParameter();
cent = fImpactParToCent->Eval(b);
return cent;
}
AliForwardMCFlowTaskQC.cxx:1 AliForwardMCFlowTaskQC.cxx:2 AliForwardMCFlowTaskQC.cxx:3 AliForwardMCFlowTaskQC.cxx:4 AliForwardMCFlowTaskQC.cxx:5 AliForwardMCFlowTaskQC.cxx:6 AliForwardMCFlowTaskQC.cxx:7 AliForwardMCFlowTaskQC.cxx:8 AliForwardMCFlowTaskQC.cxx:9 AliForwardMCFlowTaskQC.cxx:10 AliForwardMCFlowTaskQC.cxx:11 AliForwardMCFlowTaskQC.cxx:12 AliForwardMCFlowTaskQC.cxx:13 AliForwardMCFlowTaskQC.cxx:14 AliForwardMCFlowTaskQC.cxx:15 AliForwardMCFlowTaskQC.cxx:16 AliForwardMCFlowTaskQC.cxx:17 AliForwardMCFlowTaskQC.cxx:18 AliForwardMCFlowTaskQC.cxx:19 AliForwardMCFlowTaskQC.cxx:20 AliForwardMCFlowTaskQC.cxx:21 AliForwardMCFlowTaskQC.cxx:22 AliForwardMCFlowTaskQC.cxx:23 AliForwardMCFlowTaskQC.cxx:24 AliForwardMCFlowTaskQC.cxx:25 AliForwardMCFlowTaskQC.cxx:26 AliForwardMCFlowTaskQC.cxx:27 AliForwardMCFlowTaskQC.cxx:28 AliForwardMCFlowTaskQC.cxx:29 AliForwardMCFlowTaskQC.cxx:30 AliForwardMCFlowTaskQC.cxx:31 AliForwardMCFlowTaskQC.cxx:32 AliForwardMCFlowTaskQC.cxx:33 AliForwardMCFlowTaskQC.cxx:34 AliForwardMCFlowTaskQC.cxx:35 AliForwardMCFlowTaskQC.cxx:36 AliForwardMCFlowTaskQC.cxx:37 AliForwardMCFlowTaskQC.cxx:38 AliForwardMCFlowTaskQC.cxx:39 AliForwardMCFlowTaskQC.cxx:40 AliForwardMCFlowTaskQC.cxx:41 AliForwardMCFlowTaskQC.cxx:42 AliForwardMCFlowTaskQC.cxx:43 AliForwardMCFlowTaskQC.cxx:44 AliForwardMCFlowTaskQC.cxx:45 AliForwardMCFlowTaskQC.cxx:46 AliForwardMCFlowTaskQC.cxx:47 AliForwardMCFlowTaskQC.cxx:48 AliForwardMCFlowTaskQC.cxx:49 AliForwardMCFlowTaskQC.cxx:50 AliForwardMCFlowTaskQC.cxx:51 AliForwardMCFlowTaskQC.cxx:52 AliForwardMCFlowTaskQC.cxx:53 AliForwardMCFlowTaskQC.cxx:54 AliForwardMCFlowTaskQC.cxx:55 AliForwardMCFlowTaskQC.cxx:56 AliForwardMCFlowTaskQC.cxx:57 AliForwardMCFlowTaskQC.cxx:58 AliForwardMCFlowTaskQC.cxx:59 AliForwardMCFlowTaskQC.cxx:60 AliForwardMCFlowTaskQC.cxx:61 AliForwardMCFlowTaskQC.cxx:62 AliForwardMCFlowTaskQC.cxx:63 AliForwardMCFlowTaskQC.cxx:64 AliForwardMCFlowTaskQC.cxx:65 AliForwardMCFlowTaskQC.cxx:66 AliForwardMCFlowTaskQC.cxx:67 AliForwardMCFlowTaskQC.cxx:68 AliForwardMCFlowTaskQC.cxx:69 AliForwardMCFlowTaskQC.cxx:70 AliForwardMCFlowTaskQC.cxx:71 AliForwardMCFlowTaskQC.cxx:72 AliForwardMCFlowTaskQC.cxx:73 AliForwardMCFlowTaskQC.cxx:74 AliForwardMCFlowTaskQC.cxx:75 AliForwardMCFlowTaskQC.cxx:76 AliForwardMCFlowTaskQC.cxx:77 AliForwardMCFlowTaskQC.cxx:78 AliForwardMCFlowTaskQC.cxx:79 AliForwardMCFlowTaskQC.cxx:80 AliForwardMCFlowTaskQC.cxx:81 AliForwardMCFlowTaskQC.cxx:82 AliForwardMCFlowTaskQC.cxx:83 AliForwardMCFlowTaskQC.cxx:84 AliForwardMCFlowTaskQC.cxx:85 AliForwardMCFlowTaskQC.cxx:86 AliForwardMCFlowTaskQC.cxx:87 AliForwardMCFlowTaskQC.cxx:88 AliForwardMCFlowTaskQC.cxx:89 AliForwardMCFlowTaskQC.cxx:90 AliForwardMCFlowTaskQC.cxx:91 AliForwardMCFlowTaskQC.cxx:92 AliForwardMCFlowTaskQC.cxx:93 AliForwardMCFlowTaskQC.cxx:94 AliForwardMCFlowTaskQC.cxx:95 AliForwardMCFlowTaskQC.cxx:96 AliForwardMCFlowTaskQC.cxx:97 AliForwardMCFlowTaskQC.cxx:98 AliForwardMCFlowTaskQC.cxx:99 AliForwardMCFlowTaskQC.cxx:100 AliForwardMCFlowTaskQC.cxx:101 AliForwardMCFlowTaskQC.cxx:102 AliForwardMCFlowTaskQC.cxx:103 AliForwardMCFlowTaskQC.cxx:104 AliForwardMCFlowTaskQC.cxx:105 AliForwardMCFlowTaskQC.cxx:106 AliForwardMCFlowTaskQC.cxx:107 AliForwardMCFlowTaskQC.cxx:108 AliForwardMCFlowTaskQC.cxx:109 AliForwardMCFlowTaskQC.cxx:110 AliForwardMCFlowTaskQC.cxx:111 AliForwardMCFlowTaskQC.cxx:112 AliForwardMCFlowTaskQC.cxx:113 AliForwardMCFlowTaskQC.cxx:114 AliForwardMCFlowTaskQC.cxx:115 AliForwardMCFlowTaskQC.cxx:116 AliForwardMCFlowTaskQC.cxx:117 AliForwardMCFlowTaskQC.cxx:118 AliForwardMCFlowTaskQC.cxx:119 AliForwardMCFlowTaskQC.cxx:120 AliForwardMCFlowTaskQC.cxx:121 AliForwardMCFlowTaskQC.cxx:122 AliForwardMCFlowTaskQC.cxx:123 AliForwardMCFlowTaskQC.cxx:124 AliForwardMCFlowTaskQC.cxx:125 AliForwardMCFlowTaskQC.cxx:126 AliForwardMCFlowTaskQC.cxx:127 AliForwardMCFlowTaskQC.cxx:128 AliForwardMCFlowTaskQC.cxx:129 AliForwardMCFlowTaskQC.cxx:130 AliForwardMCFlowTaskQC.cxx:131 AliForwardMCFlowTaskQC.cxx:132 AliForwardMCFlowTaskQC.cxx:133 AliForwardMCFlowTaskQC.cxx:134 AliForwardMCFlowTaskQC.cxx:135 AliForwardMCFlowTaskQC.cxx:136 AliForwardMCFlowTaskQC.cxx:137 AliForwardMCFlowTaskQC.cxx:138 AliForwardMCFlowTaskQC.cxx:139 AliForwardMCFlowTaskQC.cxx:140 AliForwardMCFlowTaskQC.cxx:141 AliForwardMCFlowTaskQC.cxx:142 AliForwardMCFlowTaskQC.cxx:143 AliForwardMCFlowTaskQC.cxx:144 AliForwardMCFlowTaskQC.cxx:145 AliForwardMCFlowTaskQC.cxx:146 AliForwardMCFlowTaskQC.cxx:147 AliForwardMCFlowTaskQC.cxx:148 AliForwardMCFlowTaskQC.cxx:149 AliForwardMCFlowTaskQC.cxx:150 AliForwardMCFlowTaskQC.cxx:151 AliForwardMCFlowTaskQC.cxx:152 AliForwardMCFlowTaskQC.cxx:153 AliForwardMCFlowTaskQC.cxx:154 AliForwardMCFlowTaskQC.cxx:155 AliForwardMCFlowTaskQC.cxx:156 AliForwardMCFlowTaskQC.cxx:157 AliForwardMCFlowTaskQC.cxx:158 AliForwardMCFlowTaskQC.cxx:159 AliForwardMCFlowTaskQC.cxx:160 AliForwardMCFlowTaskQC.cxx:161 AliForwardMCFlowTaskQC.cxx:162 AliForwardMCFlowTaskQC.cxx:163 AliForwardMCFlowTaskQC.cxx:164 AliForwardMCFlowTaskQC.cxx:165 AliForwardMCFlowTaskQC.cxx:166 AliForwardMCFlowTaskQC.cxx:167 AliForwardMCFlowTaskQC.cxx:168 AliForwardMCFlowTaskQC.cxx:169 AliForwardMCFlowTaskQC.cxx:170 AliForwardMCFlowTaskQC.cxx:171 AliForwardMCFlowTaskQC.cxx:172 AliForwardMCFlowTaskQC.cxx:173 AliForwardMCFlowTaskQC.cxx:174 AliForwardMCFlowTaskQC.cxx:175 AliForwardMCFlowTaskQC.cxx:176 AliForwardMCFlowTaskQC.cxx:177 AliForwardMCFlowTaskQC.cxx:178 AliForwardMCFlowTaskQC.cxx:179 AliForwardMCFlowTaskQC.cxx:180 AliForwardMCFlowTaskQC.cxx:181 AliForwardMCFlowTaskQC.cxx:182 AliForwardMCFlowTaskQC.cxx:183 AliForwardMCFlowTaskQC.cxx:184 AliForwardMCFlowTaskQC.cxx:185 AliForwardMCFlowTaskQC.cxx:186 AliForwardMCFlowTaskQC.cxx:187 AliForwardMCFlowTaskQC.cxx:188 AliForwardMCFlowTaskQC.cxx:189 AliForwardMCFlowTaskQC.cxx:190 AliForwardMCFlowTaskQC.cxx:191 AliForwardMCFlowTaskQC.cxx:192 AliForwardMCFlowTaskQC.cxx:193 AliForwardMCFlowTaskQC.cxx:194 AliForwardMCFlowTaskQC.cxx:195 AliForwardMCFlowTaskQC.cxx:196 AliForwardMCFlowTaskQC.cxx:197 AliForwardMCFlowTaskQC.cxx:198 AliForwardMCFlowTaskQC.cxx:199 AliForwardMCFlowTaskQC.cxx:200 AliForwardMCFlowTaskQC.cxx:201 AliForwardMCFlowTaskQC.cxx:202 AliForwardMCFlowTaskQC.cxx:203 AliForwardMCFlowTaskQC.cxx:204 AliForwardMCFlowTaskQC.cxx:205 AliForwardMCFlowTaskQC.cxx:206 AliForwardMCFlowTaskQC.cxx:207 AliForwardMCFlowTaskQC.cxx:208 AliForwardMCFlowTaskQC.cxx:209 AliForwardMCFlowTaskQC.cxx:210 AliForwardMCFlowTaskQC.cxx:211 AliForwardMCFlowTaskQC.cxx:212 AliForwardMCFlowTaskQC.cxx:213 AliForwardMCFlowTaskQC.cxx:214 AliForwardMCFlowTaskQC.cxx:215 AliForwardMCFlowTaskQC.cxx:216 AliForwardMCFlowTaskQC.cxx:217 AliForwardMCFlowTaskQC.cxx:218 AliForwardMCFlowTaskQC.cxx:219 AliForwardMCFlowTaskQC.cxx:220 AliForwardMCFlowTaskQC.cxx:221 AliForwardMCFlowTaskQC.cxx:222 AliForwardMCFlowTaskQC.cxx:223 AliForwardMCFlowTaskQC.cxx:224 AliForwardMCFlowTaskQC.cxx:225 AliForwardMCFlowTaskQC.cxx:226 AliForwardMCFlowTaskQC.cxx:227 AliForwardMCFlowTaskQC.cxx:228 AliForwardMCFlowTaskQC.cxx:229 AliForwardMCFlowTaskQC.cxx:230 AliForwardMCFlowTaskQC.cxx:231 AliForwardMCFlowTaskQC.cxx:232 AliForwardMCFlowTaskQC.cxx:233 AliForwardMCFlowTaskQC.cxx:234 AliForwardMCFlowTaskQC.cxx:235 AliForwardMCFlowTaskQC.cxx:236 AliForwardMCFlowTaskQC.cxx:237 AliForwardMCFlowTaskQC.cxx:238 AliForwardMCFlowTaskQC.cxx:239 AliForwardMCFlowTaskQC.cxx:240 AliForwardMCFlowTaskQC.cxx:241 AliForwardMCFlowTaskQC.cxx:242 AliForwardMCFlowTaskQC.cxx:243 AliForwardMCFlowTaskQC.cxx:244 AliForwardMCFlowTaskQC.cxx:245 AliForwardMCFlowTaskQC.cxx:246 AliForwardMCFlowTaskQC.cxx:247 AliForwardMCFlowTaskQC.cxx:248 AliForwardMCFlowTaskQC.cxx:249 AliForwardMCFlowTaskQC.cxx:250 AliForwardMCFlowTaskQC.cxx:251 AliForwardMCFlowTaskQC.cxx:252 AliForwardMCFlowTaskQC.cxx:253 AliForwardMCFlowTaskQC.cxx:254 AliForwardMCFlowTaskQC.cxx:255 AliForwardMCFlowTaskQC.cxx:256 AliForwardMCFlowTaskQC.cxx:257 AliForwardMCFlowTaskQC.cxx:258 AliForwardMCFlowTaskQC.cxx:259 AliForwardMCFlowTaskQC.cxx:260 AliForwardMCFlowTaskQC.cxx:261 AliForwardMCFlowTaskQC.cxx:262 AliForwardMCFlowTaskQC.cxx:263 AliForwardMCFlowTaskQC.cxx:264 AliForwardMCFlowTaskQC.cxx:265 AliForwardMCFlowTaskQC.cxx:266 AliForwardMCFlowTaskQC.cxx:267 AliForwardMCFlowTaskQC.cxx:268 AliForwardMCFlowTaskQC.cxx:269 AliForwardMCFlowTaskQC.cxx:270 AliForwardMCFlowTaskQC.cxx:271 AliForwardMCFlowTaskQC.cxx:272 AliForwardMCFlowTaskQC.cxx:273 AliForwardMCFlowTaskQC.cxx:274 AliForwardMCFlowTaskQC.cxx:275 AliForwardMCFlowTaskQC.cxx:276 AliForwardMCFlowTaskQC.cxx:277 AliForwardMCFlowTaskQC.cxx:278 AliForwardMCFlowTaskQC.cxx:279 AliForwardMCFlowTaskQC.cxx:280 AliForwardMCFlowTaskQC.cxx:281 AliForwardMCFlowTaskQC.cxx:282 AliForwardMCFlowTaskQC.cxx:283 AliForwardMCFlowTaskQC.cxx:284 AliForwardMCFlowTaskQC.cxx:285 AliForwardMCFlowTaskQC.cxx:286 AliForwardMCFlowTaskQC.cxx:287 AliForwardMCFlowTaskQC.cxx:288 AliForwardMCFlowTaskQC.cxx:289 AliForwardMCFlowTaskQC.cxx:290 AliForwardMCFlowTaskQC.cxx:291 AliForwardMCFlowTaskQC.cxx:292 AliForwardMCFlowTaskQC.cxx:293 AliForwardMCFlowTaskQC.cxx:294 AliForwardMCFlowTaskQC.cxx:295 AliForwardMCFlowTaskQC.cxx:296 AliForwardMCFlowTaskQC.cxx:297 AliForwardMCFlowTaskQC.cxx:298 AliForwardMCFlowTaskQC.cxx:299 AliForwardMCFlowTaskQC.cxx:300 AliForwardMCFlowTaskQC.cxx:301 AliForwardMCFlowTaskQC.cxx:302 AliForwardMCFlowTaskQC.cxx:303 AliForwardMCFlowTaskQC.cxx:304 AliForwardMCFlowTaskQC.cxx:305 AliForwardMCFlowTaskQC.cxx:306 AliForwardMCFlowTaskQC.cxx:307 AliForwardMCFlowTaskQC.cxx:308 AliForwardMCFlowTaskQC.cxx:309 AliForwardMCFlowTaskQC.cxx:310 AliForwardMCFlowTaskQC.cxx:311 AliForwardMCFlowTaskQC.cxx:312 AliForwardMCFlowTaskQC.cxx:313 AliForwardMCFlowTaskQC.cxx:314 AliForwardMCFlowTaskQC.cxx:315 AliForwardMCFlowTaskQC.cxx:316 AliForwardMCFlowTaskQC.cxx:317 AliForwardMCFlowTaskQC.cxx:318 AliForwardMCFlowTaskQC.cxx:319 AliForwardMCFlowTaskQC.cxx:320 AliForwardMCFlowTaskQC.cxx:321 AliForwardMCFlowTaskQC.cxx:322 AliForwardMCFlowTaskQC.cxx:323 AliForwardMCFlowTaskQC.cxx:324 AliForwardMCFlowTaskQC.cxx:325 AliForwardMCFlowTaskQC.cxx:326 AliForwardMCFlowTaskQC.cxx:327 AliForwardMCFlowTaskQC.cxx:328 AliForwardMCFlowTaskQC.cxx:329 AliForwardMCFlowTaskQC.cxx:330 AliForwardMCFlowTaskQC.cxx:331 AliForwardMCFlowTaskQC.cxx:332 AliForwardMCFlowTaskQC.cxx:333 AliForwardMCFlowTaskQC.cxx:334 AliForwardMCFlowTaskQC.cxx:335 AliForwardMCFlowTaskQC.cxx:336 AliForwardMCFlowTaskQC.cxx:337 AliForwardMCFlowTaskQC.cxx:338 AliForwardMCFlowTaskQC.cxx:339 AliForwardMCFlowTaskQC.cxx:340 AliForwardMCFlowTaskQC.cxx:341 AliForwardMCFlowTaskQC.cxx:342 AliForwardMCFlowTaskQC.cxx:343 AliForwardMCFlowTaskQC.cxx:344 AliForwardMCFlowTaskQC.cxx:345 AliForwardMCFlowTaskQC.cxx:346 AliForwardMCFlowTaskQC.cxx:347 AliForwardMCFlowTaskQC.cxx:348 AliForwardMCFlowTaskQC.cxx:349 AliForwardMCFlowTaskQC.cxx:350 AliForwardMCFlowTaskQC.cxx:351 AliForwardMCFlowTaskQC.cxx:352 AliForwardMCFlowTaskQC.cxx:353 AliForwardMCFlowTaskQC.cxx:354 AliForwardMCFlowTaskQC.cxx:355 AliForwardMCFlowTaskQC.cxx:356 AliForwardMCFlowTaskQC.cxx:357 AliForwardMCFlowTaskQC.cxx:358 AliForwardMCFlowTaskQC.cxx:359 AliForwardMCFlowTaskQC.cxx:360 AliForwardMCFlowTaskQC.cxx:361 AliForwardMCFlowTaskQC.cxx:362 AliForwardMCFlowTaskQC.cxx:363 AliForwardMCFlowTaskQC.cxx:364 AliForwardMCFlowTaskQC.cxx:365 AliForwardMCFlowTaskQC.cxx:366 AliForwardMCFlowTaskQC.cxx:367 AliForwardMCFlowTaskQC.cxx:368 AliForwardMCFlowTaskQC.cxx:369 AliForwardMCFlowTaskQC.cxx:370 AliForwardMCFlowTaskQC.cxx:371 AliForwardMCFlowTaskQC.cxx:372 AliForwardMCFlowTaskQC.cxx:373 AliForwardMCFlowTaskQC.cxx:374 AliForwardMCFlowTaskQC.cxx:375 AliForwardMCFlowTaskQC.cxx:376 AliForwardMCFlowTaskQC.cxx:377 AliForwardMCFlowTaskQC.cxx:378 AliForwardMCFlowTaskQC.cxx:379 AliForwardMCFlowTaskQC.cxx:380 AliForwardMCFlowTaskQC.cxx:381 AliForwardMCFlowTaskQC.cxx:382 AliForwardMCFlowTaskQC.cxx:383 AliForwardMCFlowTaskQC.cxx:384 AliForwardMCFlowTaskQC.cxx:385 AliForwardMCFlowTaskQC.cxx:386 AliForwardMCFlowTaskQC.cxx:387 AliForwardMCFlowTaskQC.cxx:388 AliForwardMCFlowTaskQC.cxx:389 AliForwardMCFlowTaskQC.cxx:390 AliForwardMCFlowTaskQC.cxx:391 AliForwardMCFlowTaskQC.cxx:392 AliForwardMCFlowTaskQC.cxx:393 AliForwardMCFlowTaskQC.cxx:394 AliForwardMCFlowTaskQC.cxx:395 AliForwardMCFlowTaskQC.cxx:396 AliForwardMCFlowTaskQC.cxx:397 AliForwardMCFlowTaskQC.cxx:398 AliForwardMCFlowTaskQC.cxx:399 AliForwardMCFlowTaskQC.cxx:400 AliForwardMCFlowTaskQC.cxx:401 AliForwardMCFlowTaskQC.cxx:402 AliForwardMCFlowTaskQC.cxx:403 AliForwardMCFlowTaskQC.cxx:404 AliForwardMCFlowTaskQC.cxx:405 AliForwardMCFlowTaskQC.cxx:406 AliForwardMCFlowTaskQC.cxx:407 AliForwardMCFlowTaskQC.cxx:408 AliForwardMCFlowTaskQC.cxx:409 AliForwardMCFlowTaskQC.cxx:410 AliForwardMCFlowTaskQC.cxx:411 AliForwardMCFlowTaskQC.cxx:412 AliForwardMCFlowTaskQC.cxx:413 AliForwardMCFlowTaskQC.cxx:414 AliForwardMCFlowTaskQC.cxx:415 AliForwardMCFlowTaskQC.cxx:416 AliForwardMCFlowTaskQC.cxx:417 AliForwardMCFlowTaskQC.cxx:418 AliForwardMCFlowTaskQC.cxx:419 AliForwardMCFlowTaskQC.cxx:420 AliForwardMCFlowTaskQC.cxx:421 AliForwardMCFlowTaskQC.cxx:422 AliForwardMCFlowTaskQC.cxx:423 AliForwardMCFlowTaskQC.cxx:424 AliForwardMCFlowTaskQC.cxx:425 AliForwardMCFlowTaskQC.cxx:426 AliForwardMCFlowTaskQC.cxx:427 AliForwardMCFlowTaskQC.cxx:428 AliForwardMCFlowTaskQC.cxx:429 AliForwardMCFlowTaskQC.cxx:430 AliForwardMCFlowTaskQC.cxx:431