#include <TPDGCode.h>
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TCanvas.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDv0.h"
#include "AliESDInputHandler.h"
#include "AliESDVZERO.h"
#include "AliMultiplicity.h"
#include "AliPID.h"
#include "AliAnalysisTaskGlobalQA.h"
ClassImp(AliAnalysisTaskGlobalQA)
AliAnalysisTaskGlobalQA::AliAnalysisTaskGlobalQA() :
AliAnalysisTaskSE("GlobalQA"),
fArrayQA(0)
{
DefineOutput(1, TObjArray::Class());
}
void AliAnalysisTaskGlobalQA::UserCreateOutputObjects()
{
fArrayQA = new TObjArray(kLast);
{
const Char_t *name[]={
"hGlobalPrimaryVertex"
};
const Char_t *title[]={
"Z-distribution of the primary vertex"
};
Add2ESDsList(new TH1F(name[0],title[0],100,-20.,20.),kEvt0);
}
{
const Char_t *name[]={
"hGlobalFractionAssignedClustersITS",
"hGlobalFractionAssignedClustersTPC",
"hGlobalFractionAssignedClustersTRD",
"hGlobalClustersPerITSModule"
};
const Char_t *title[]={
"Fraction of the assigned clusters in ITS",
"Fraction of the assigned clusters in TPC",
"Fraction of the assigned clusters in TRD",
"Number of clusters per an ITS module"
};
Add2ESDsList(new TH1F(name[0],title[0],100,0.,2.),kClr0);
Add2ESDsList(new TH1F(name[1],title[1],100,0.,2.),kClr1);
Add2ESDsList(new TH1F(name[2],title[2],100,0.,2.),kClr2);
Add2ESDsList(new TH1F(name[3],title[3],2201,-0.5,2200.5),kClr3);
}
{
const Char_t *name[]={
"hGlobalTrackAzimuthe",
"hGlobalTrackEta",
"hGlobalTPCTrackpT",
"hGlobalTPCITSMatchedpT",
"hGlobalTPCTOFMatchedpT",
"hGlobalTPCITSMatchingProbability",
"hGlobalTPCTOFMatchingProbability",
"hGlobalTPCsideAposDCA",
"hGlobalTPCsideAnegDCA",
"hGlobalTPCsideCposDCA",
"hGlobalTPCsideCnegDCA"
};
const Char_t *title[]={
"Track azimuthal distribution (rad)",
"Track pseudo-rapidity distribution",
"TPC: track momentum distribution (GeV)",
"TPC-ITS matched: track momentum distribution (GeV)",
"TPC-TOF matched: track momentum distribution (GeV)",
"TPC-ITS track-matching probability",
"TPC-TOF track-matching probability",
"TPC side A: DCA for the positive tracks (mm)",
"TPC side A: DCA for the negative tracks (mm)",
"TPC side C: DCA for the positive tracks (mm)",
"TPC side C: DCA for the negative tracks (mm)"
};
Add2ESDsList(new TH1F(name[0],title[0],100, 0.,TMath::TwoPi()),kTrk0);
Add2ESDsList(new TH1F(name[1],title[1],100,-2.00,2.00),kTrk1);
Add2ESDsList(new TH1F(name[2],title[2],50, 0.20,5.00),kTrk2);
Add2ESDsList(new TH1F(name[3],title[3],50, 0.20,5.00),kTrk3);
Add2ESDsList(new TH1F(name[4],title[4],50, 0.20,5.00),kTrk4);
Add2ESDsList(new TH1F(name[5],title[5],50, 0.20,5.00),kTrk5);
Add2ESDsList(new TH1F(name[6],title[6],50, 0.20,5.00),kTrk6);
Add2ESDsList(new TH1F(name[7],title[7],50, -25.0,25.0),kTrk7);
Add2ESDsList(new TH1F(name[8],title[8],50, -25.0,25.0),kTrk8);
Add2ESDsList(new TH1F(name[9],title[9],50, -25.0,25.0),kTrk9);
Add2ESDsList(new TH1F(name[10],title[10],50, -25.0,25.0),kTrk10);
}
{
const Char_t *name[]={
"hGlobalPromptK0sMass",
"hGlobalOfflineK0sMass",
"hGlobalPromptLambda0Lambda0BarMass",
"hGlobalOfflineLambda0Lambda0BarMass"
};
const Char_t *title[]={
"On-the-fly K0s mass (GeV)",
"Offline K0s mass (GeV)",
"On-the-fly Lambda0 + Lambda0Bar mass (GeV)",
"Offline Lambda0 + Lambda0Bar mass (GeV)"
};
Add2ESDsList(new TH1F(name[0],title[0],50, 0.4477,0.5477),kK0on);
Add2ESDsList(new TH1F(name[1],title[1],50, 0.4477,0.5477),kK0off);
Add2ESDsList(new TH1F(name[2],title[2],50, 1.0657,1.1657),kL0on);
Add2ESDsList(new TH1F(name[3],title[3],50, 1.0657,1.1657),kL0off);
}
{
const Char_t *name[]={
"hGlobalITSdEdx",
"hGlobalTPCdEdx",
"hGlobalTOFTrackingvsMeasured",
"hGlobalTPCdEdxvsMomentum"
};
const Char_t *title[]={
"ITS: dEdx (A.U.) for particles with momentum 0.4 - 0.5 (GeV)",
"TPC: dEdx (A.U.) for particles with momentum 0.4 - 0.5 (GeV)",
"TOF: tracking - measured (ps)",
"TPC: dEdx (A.U.) vs momentum (GeV)"
};
Add2ESDsList(new TH1F(name[0],title[0],50,0.00,200.),kPid0);
Add2ESDsList(new TH1F(name[1],title[1],50,0.00,100.),kPid1);
Add2ESDsList(new TH1F(name[2],title[2],50,-3500.,3500.),kPid2);
Add2ESDsList(new TH2F(name[3],title[3],1500,0.05,15.,700,0.,700.),kPid3);
}
{
const Char_t *name[]={
"hGlobalV0AvsITS",
"hGlobalV0CvsITS"
};
const Char_t *title[]={
"Multiplicity: V0A vs ITS",
"Multiplicity: V0C vs ITS"
};
TH2F *h0=new TH2F(name[0],title[0],41,-0.5,40.5, 33,-0.5,32.5);
Add2ESDsList(h0,kMlt0);
TH2F *h1=new TH2F(name[1],title[1],41,-0.5,40.5, 33,-0.5,32.5);
Add2ESDsList(h1,kMlt1);
}
}
void AliAnalysisTaskGlobalQA::UserExec(Option_t *)
{
const AliESDEvent *esd=(const AliESDEvent *)InputEvent();
if (!esd) {
Printf("ERROR: ESD is not available");
return;
}
const AliESDVertex *vtx=esd->GetPrimaryVertex();
if (!vtx->GetStatus()) return;
Double_t xv=vtx->GetX();
Double_t yv=vtx->GetY();
Double_t zv=vtx->GetZ();
GetESDsData(kEvt0)->Fill(zv);
for (Int_t iTracks = 0; iTracks < esd->GetNumberOfTracks(); iTracks++) {
AliESDtrack* track = esd->GetTrack(iTracks);
if (!track) {
Printf("ERROR: Could not receive track %d", iTracks);
continue;
}
if (track->IsOn(AliESDtrack::kITSrefit)) {
Int_t n=track->GetITSclusters(0);
GetESDsData(kClr0)->Fill(Float_t(n)/6.);
}
for (Int_t i=0; i<6; i++) {
Int_t idet, sts;
Float_t xloc,zloc;
if (!track->GetITSModuleIndexInfo(i,idet,sts,xloc,zloc)) continue;
if (i>=2) idet+=240;
if (i>=4) idet+=260;
if ((sts==1)||(sts==2)||(sts==4)) GetESDsData(kClr3)->Fill(idet);
}
if (track->IsOn(AliESDtrack::kTPCrefit)) {
Int_t n =track->GetTPCNcls();
Int_t nf=track->GetTPCNclsF();
if (nf>0) {
Double_t val = n*1.0/nf;
GetESDsData(kClr1)->Fill(val);
}
}
if (track->IsOn(AliESDtrack::kTRDrefit)) {
Int_t n=track->GetTRDclusters(0);
GetESDsData(kClr2)->Fill(Float_t(n)/(6*24));
}
Double_t p=track->GetP();
if (track->IsOn(AliESDtrack::kTPCrefit)) {
Float_t dz[2];
track->GetDZ(xv,yv,zv,esd->GetMagneticField(),dz);
if ((TMath::Abs(dz[0])<3.) && (TMath::Abs(dz[1])<3.)) {
Double_t phi=track->Phi();
GetESDsData(kTrk0)->Fill(phi);
Double_t y=track->Eta();
GetESDsData(kTrk1)->Fill(y);
if (TMath::Abs(y)<0.9) {
GetESDsData(kTrk2)->Fill(p);
if (track->IsOn(AliESDtrack::kITSrefit)) GetESDsData(kTrk3)->Fill(p);
if (track->GetTOFsignal()>0) GetESDsData(kTrk4)->Fill(p);
}
}
}
const AliExternalTrackParam *tpcTrack=track->GetTPCInnerParam();
const AliExternalTrackParam *innTrack=track->GetInnerParam();
if (tpcTrack)
if (innTrack) {
Float_t dz[2];
tpcTrack->GetDZ(xv,yv,zv,esd->GetMagneticField(),dz);
dz[0]*=10.;
if (innTrack->GetZ() > 0)
if (innTrack->GetTgl()> 0) {
if (tpcTrack->GetSign() > 0) GetESDsData(kTrk7)->Fill(dz[0]);
else GetESDsData(kTrk8)->Fill(dz[0]);
}
if (innTrack->GetZ() < 0)
if (innTrack->GetTgl()< 0) {
if (tpcTrack->GetSign() > 0) GetESDsData(kTrk9)->Fill(dz[0]);
else GetESDsData(kTrk10)->Fill(dz[0]);
}
}
if ((p>0.4) && (p<0.5)) {
if (track->IsOn(AliESDtrack::kITSpid)) {
Double_t dedx=track->GetITSsignal();
GetESDsData(kPid0)->Fill(dedx);
}
if (track->IsOn(AliESDtrack::kTPCpid)) {
Double_t dedx=track->GetTPCsignal();
GetESDsData(kPid1)->Fill(dedx);
}
}
if (p>1.0) {
if (track->IsOn(AliESDtrack::kITSrefit))
if (track->IsOn(AliESDtrack::kTPCrefit))
if (track->IsOn(AliESDtrack::kTOFout)) {
Float_t dz[2];
track->GetDZ(xv,yv,zv,esd->GetMagneticField(),dz);
if (dz[1]<3.) {
Double_t times[AliPID::kSPECIESC];
track->GetIntegratedTimes(times,AliPID::kSPECIESC);
Double_t tof=track->GetTOFsignal();
GetESDsData(kPid2)->Fill(times[2]-tof);
}
}
}
const AliExternalTrackParam *par=track->GetInnerParam();
if (par) {
Double_t pp=par->GetP();
Double_t dedx=track->GetTPCsignal();
TH2F *h = dynamic_cast<TH2F*>(GetESDsData(kPid3));
if (h) h->Fill(pp,dedx);
}
}
AliESDVZERO *mltV0 =esd->GetVZEROData();
const AliMultiplicity *mltITS=esd->GetMultiplicity();
if (mltV0)
if (mltITS) {
Short_t nv0a=mltV0->GetNbPMV0A();
Short_t nv0c=mltV0->GetNbPMV0C();
Int_t nits=mltITS->GetNumberOfTracklets();
TH2F *h0=dynamic_cast<TH2F*>(GetESDsData(kMlt0));
if (h0) h0->Fill(nits,nv0a);
TH2F *h1=dynamic_cast<TH2F*>(GetESDsData(kMlt1));
if (h1) h1->Fill(nits,nv0c);
}
Int_t nV0=esd->GetNumberOfV0s();
for (Int_t i=0; i<nV0; i++) {
Double_t mass;
AliESDv0 v0(*esd->GetV0(i));
Int_t nidx=TMath::Abs(v0.GetNindex());
AliESDtrack *ntrack1=esd->GetTrack(nidx);
if (!ntrack1->IsOn(AliESDtrack::kTPCrefit)) continue;
Int_t pidx=TMath::Abs(v0.GetPindex());
AliESDtrack *ptrack1=esd->GetTrack(pidx);
if (!ptrack1->IsOn(AliESDtrack::kTPCrefit)) continue;
v0.ChangeMassHypothesis(kK0Short);
mass=v0.GetEffMass();
if (v0.GetOnFlyStatus())
GetESDsData(kK0on)->Fill(mass);
else
GetESDsData(kK0off)->Fill(mass);
v0.ChangeMassHypothesis(kLambda0);
mass=v0.GetEffMass();
if (v0.GetOnFlyStatus())
GetESDsData(kL0on)->Fill(mass);
else
GetESDsData(kL0off)->Fill(mass);
v0.ChangeMassHypothesis(kLambda0Bar);
mass=v0.GetEffMass();
if (v0.GetOnFlyStatus())
GetESDsData(kL0on)->Fill(mass);
else
GetESDsData(kL0off)->Fill(mass);
}
PostData(1, fArrayQA);
}
void AliAnalysisTaskGlobalQA::Terminate(Option_t *)
{
fArrayQA=(TObjArray*)GetOutputData(1);
TH1 *tpc=GetESDsData(kTrk2); tpc->Sumw2();
TH1 *its=GetESDsData(kTrk3); its->Sumw2();
TH1 *tof=GetESDsData(kTrk4); tof->Sumw2();
GetESDsData(kTrk5)->Divide(its,tpc,1,1.,"b");
GetESDsData(kTrk6)->Divide(tof,tpc,1,1.,"b");
TH1 *hTPCdEdxMIP = GetESDsData(kPid1);
if (!hTPCdEdxMIP) {
Printf("ERROR: hTPCdEdxMIP not available");
return;
}
TH2 *hTPCdEdxVsP = dynamic_cast<TH2*>(GetESDsData(kPid3));
if (!hTPCdEdxVsP) {
Printf("ERROR: hTPCdEdxVsP not available");
return;
}
TCanvas *c2=new TCanvas("c2","",320,32,530,590);
TPad *p6=new TPad("p6","",0.,0.,1.,.5); p6->Draw(); p6->cd();
p6->SetFillColor(42); p6->SetFrameFillColor(10);
hTPCdEdxMIP->SetFillColor(2); hTPCdEdxMIP->SetFillStyle(3005);
if (hTPCdEdxMIP->GetEntries()<333)
hTPCdEdxMIP->DrawCopy("E");
else
hTPCdEdxMIP->Fit("gaus");
c2->cd();
TPad *p7=new TPad("p7","",0.,0.5,1.,1.); p7->Draw(); p7->cd(); p7->SetLogx();
p7->SetFillColor(42); p7->SetFrameFillColor(10);
hTPCdEdxVsP->DrawCopy();
}
AliAnalysisTaskGlobalQA.cxx:1 AliAnalysisTaskGlobalQA.cxx:2 AliAnalysisTaskGlobalQA.cxx:3 AliAnalysisTaskGlobalQA.cxx:4 AliAnalysisTaskGlobalQA.cxx:5 AliAnalysisTaskGlobalQA.cxx:6 AliAnalysisTaskGlobalQA.cxx:7 AliAnalysisTaskGlobalQA.cxx:8 AliAnalysisTaskGlobalQA.cxx:9 AliAnalysisTaskGlobalQA.cxx:10 AliAnalysisTaskGlobalQA.cxx:11 AliAnalysisTaskGlobalQA.cxx:12 AliAnalysisTaskGlobalQA.cxx:13 AliAnalysisTaskGlobalQA.cxx:14 AliAnalysisTaskGlobalQA.cxx:15 AliAnalysisTaskGlobalQA.cxx:16 AliAnalysisTaskGlobalQA.cxx:17 AliAnalysisTaskGlobalQA.cxx:18 AliAnalysisTaskGlobalQA.cxx:19 AliAnalysisTaskGlobalQA.cxx:20 AliAnalysisTaskGlobalQA.cxx:21 AliAnalysisTaskGlobalQA.cxx:22 AliAnalysisTaskGlobalQA.cxx:23 AliAnalysisTaskGlobalQA.cxx:24 AliAnalysisTaskGlobalQA.cxx:25 AliAnalysisTaskGlobalQA.cxx:26 AliAnalysisTaskGlobalQA.cxx:27 AliAnalysisTaskGlobalQA.cxx:28 AliAnalysisTaskGlobalQA.cxx:29 AliAnalysisTaskGlobalQA.cxx:30 AliAnalysisTaskGlobalQA.cxx:31 AliAnalysisTaskGlobalQA.cxx:32 AliAnalysisTaskGlobalQA.cxx:33 AliAnalysisTaskGlobalQA.cxx:34 AliAnalysisTaskGlobalQA.cxx:35 AliAnalysisTaskGlobalQA.cxx:36 AliAnalysisTaskGlobalQA.cxx:37 AliAnalysisTaskGlobalQA.cxx:38 AliAnalysisTaskGlobalQA.cxx:39 AliAnalysisTaskGlobalQA.cxx:40 AliAnalysisTaskGlobalQA.cxx:41 AliAnalysisTaskGlobalQA.cxx:42 AliAnalysisTaskGlobalQA.cxx:43 AliAnalysisTaskGlobalQA.cxx:44 AliAnalysisTaskGlobalQA.cxx:45 AliAnalysisTaskGlobalQA.cxx:46 AliAnalysisTaskGlobalQA.cxx:47 AliAnalysisTaskGlobalQA.cxx:48 AliAnalysisTaskGlobalQA.cxx:49 AliAnalysisTaskGlobalQA.cxx:50 AliAnalysisTaskGlobalQA.cxx:51 AliAnalysisTaskGlobalQA.cxx:52 AliAnalysisTaskGlobalQA.cxx:53 AliAnalysisTaskGlobalQA.cxx:54 AliAnalysisTaskGlobalQA.cxx:55 AliAnalysisTaskGlobalQA.cxx:56 AliAnalysisTaskGlobalQA.cxx:57 AliAnalysisTaskGlobalQA.cxx:58 AliAnalysisTaskGlobalQA.cxx:59 AliAnalysisTaskGlobalQA.cxx:60 AliAnalysisTaskGlobalQA.cxx:61 AliAnalysisTaskGlobalQA.cxx:62 AliAnalysisTaskGlobalQA.cxx:63 AliAnalysisTaskGlobalQA.cxx:64 AliAnalysisTaskGlobalQA.cxx:65 AliAnalysisTaskGlobalQA.cxx:66 AliAnalysisTaskGlobalQA.cxx:67 AliAnalysisTaskGlobalQA.cxx:68 AliAnalysisTaskGlobalQA.cxx:69 AliAnalysisTaskGlobalQA.cxx:70 AliAnalysisTaskGlobalQA.cxx:71 AliAnalysisTaskGlobalQA.cxx:72 AliAnalysisTaskGlobalQA.cxx:73 AliAnalysisTaskGlobalQA.cxx:74 AliAnalysisTaskGlobalQA.cxx:75 AliAnalysisTaskGlobalQA.cxx:76 AliAnalysisTaskGlobalQA.cxx:77 AliAnalysisTaskGlobalQA.cxx:78 AliAnalysisTaskGlobalQA.cxx:79 AliAnalysisTaskGlobalQA.cxx:80 AliAnalysisTaskGlobalQA.cxx:81 AliAnalysisTaskGlobalQA.cxx:82 AliAnalysisTaskGlobalQA.cxx:83 AliAnalysisTaskGlobalQA.cxx:84 AliAnalysisTaskGlobalQA.cxx:85 AliAnalysisTaskGlobalQA.cxx:86 AliAnalysisTaskGlobalQA.cxx:87 AliAnalysisTaskGlobalQA.cxx:88 AliAnalysisTaskGlobalQA.cxx:89 AliAnalysisTaskGlobalQA.cxx:90 AliAnalysisTaskGlobalQA.cxx:91 AliAnalysisTaskGlobalQA.cxx:92 AliAnalysisTaskGlobalQA.cxx:93 AliAnalysisTaskGlobalQA.cxx:94 AliAnalysisTaskGlobalQA.cxx:95 AliAnalysisTaskGlobalQA.cxx:96 AliAnalysisTaskGlobalQA.cxx:97 AliAnalysisTaskGlobalQA.cxx:98 AliAnalysisTaskGlobalQA.cxx:99 AliAnalysisTaskGlobalQA.cxx:100 AliAnalysisTaskGlobalQA.cxx:101 AliAnalysisTaskGlobalQA.cxx:102 AliAnalysisTaskGlobalQA.cxx:103 AliAnalysisTaskGlobalQA.cxx:104 AliAnalysisTaskGlobalQA.cxx:105 AliAnalysisTaskGlobalQA.cxx:106 AliAnalysisTaskGlobalQA.cxx:107 AliAnalysisTaskGlobalQA.cxx:108 AliAnalysisTaskGlobalQA.cxx:109 AliAnalysisTaskGlobalQA.cxx:110 AliAnalysisTaskGlobalQA.cxx:111 AliAnalysisTaskGlobalQA.cxx:112 AliAnalysisTaskGlobalQA.cxx:113 AliAnalysisTaskGlobalQA.cxx:114 AliAnalysisTaskGlobalQA.cxx:115 AliAnalysisTaskGlobalQA.cxx:116 AliAnalysisTaskGlobalQA.cxx:117 AliAnalysisTaskGlobalQA.cxx:118 AliAnalysisTaskGlobalQA.cxx:119 AliAnalysisTaskGlobalQA.cxx:120 AliAnalysisTaskGlobalQA.cxx:121 AliAnalysisTaskGlobalQA.cxx:122 AliAnalysisTaskGlobalQA.cxx:123 AliAnalysisTaskGlobalQA.cxx:124 AliAnalysisTaskGlobalQA.cxx:125 AliAnalysisTaskGlobalQA.cxx:126 AliAnalysisTaskGlobalQA.cxx:127 AliAnalysisTaskGlobalQA.cxx:128 AliAnalysisTaskGlobalQA.cxx:129 AliAnalysisTaskGlobalQA.cxx:130 AliAnalysisTaskGlobalQA.cxx:131 AliAnalysisTaskGlobalQA.cxx:132 AliAnalysisTaskGlobalQA.cxx:133 AliAnalysisTaskGlobalQA.cxx:134 AliAnalysisTaskGlobalQA.cxx:135 AliAnalysisTaskGlobalQA.cxx:136 AliAnalysisTaskGlobalQA.cxx:137 AliAnalysisTaskGlobalQA.cxx:138 AliAnalysisTaskGlobalQA.cxx:139 AliAnalysisTaskGlobalQA.cxx:140 AliAnalysisTaskGlobalQA.cxx:141 AliAnalysisTaskGlobalQA.cxx:142 AliAnalysisTaskGlobalQA.cxx:143 AliAnalysisTaskGlobalQA.cxx:144 AliAnalysisTaskGlobalQA.cxx:145 AliAnalysisTaskGlobalQA.cxx:146 AliAnalysisTaskGlobalQA.cxx:147 AliAnalysisTaskGlobalQA.cxx:148 AliAnalysisTaskGlobalQA.cxx:149 AliAnalysisTaskGlobalQA.cxx:150 AliAnalysisTaskGlobalQA.cxx:151 AliAnalysisTaskGlobalQA.cxx:152 AliAnalysisTaskGlobalQA.cxx:153 AliAnalysisTaskGlobalQA.cxx:154 AliAnalysisTaskGlobalQA.cxx:155 AliAnalysisTaskGlobalQA.cxx:156 AliAnalysisTaskGlobalQA.cxx:157 AliAnalysisTaskGlobalQA.cxx:158 AliAnalysisTaskGlobalQA.cxx:159 AliAnalysisTaskGlobalQA.cxx:160 AliAnalysisTaskGlobalQA.cxx:161 AliAnalysisTaskGlobalQA.cxx:162 AliAnalysisTaskGlobalQA.cxx:163 AliAnalysisTaskGlobalQA.cxx:164 AliAnalysisTaskGlobalQA.cxx:165 AliAnalysisTaskGlobalQA.cxx:166 AliAnalysisTaskGlobalQA.cxx:167 AliAnalysisTaskGlobalQA.cxx:168 AliAnalysisTaskGlobalQA.cxx:169 AliAnalysisTaskGlobalQA.cxx:170 AliAnalysisTaskGlobalQA.cxx:171 AliAnalysisTaskGlobalQA.cxx:172 AliAnalysisTaskGlobalQA.cxx:173 AliAnalysisTaskGlobalQA.cxx:174 AliAnalysisTaskGlobalQA.cxx:175 AliAnalysisTaskGlobalQA.cxx:176 AliAnalysisTaskGlobalQA.cxx:177 AliAnalysisTaskGlobalQA.cxx:178 AliAnalysisTaskGlobalQA.cxx:179 AliAnalysisTaskGlobalQA.cxx:180 AliAnalysisTaskGlobalQA.cxx:181 AliAnalysisTaskGlobalQA.cxx:182 AliAnalysisTaskGlobalQA.cxx:183 AliAnalysisTaskGlobalQA.cxx:184 AliAnalysisTaskGlobalQA.cxx:185 AliAnalysisTaskGlobalQA.cxx:186 AliAnalysisTaskGlobalQA.cxx:187 AliAnalysisTaskGlobalQA.cxx:188 AliAnalysisTaskGlobalQA.cxx:189 AliAnalysisTaskGlobalQA.cxx:190 AliAnalysisTaskGlobalQA.cxx:191 AliAnalysisTaskGlobalQA.cxx:192 AliAnalysisTaskGlobalQA.cxx:193 AliAnalysisTaskGlobalQA.cxx:194 AliAnalysisTaskGlobalQA.cxx:195 AliAnalysisTaskGlobalQA.cxx:196 AliAnalysisTaskGlobalQA.cxx:197 AliAnalysisTaskGlobalQA.cxx:198 AliAnalysisTaskGlobalQA.cxx:199 AliAnalysisTaskGlobalQA.cxx:200 AliAnalysisTaskGlobalQA.cxx:201 AliAnalysisTaskGlobalQA.cxx:202 AliAnalysisTaskGlobalQA.cxx:203 AliAnalysisTaskGlobalQA.cxx:204 AliAnalysisTaskGlobalQA.cxx:205 AliAnalysisTaskGlobalQA.cxx:206 AliAnalysisTaskGlobalQA.cxx:207 AliAnalysisTaskGlobalQA.cxx:208 AliAnalysisTaskGlobalQA.cxx:209 AliAnalysisTaskGlobalQA.cxx:210 AliAnalysisTaskGlobalQA.cxx:211 AliAnalysisTaskGlobalQA.cxx:212 AliAnalysisTaskGlobalQA.cxx:213 AliAnalysisTaskGlobalQA.cxx:214 AliAnalysisTaskGlobalQA.cxx:215 AliAnalysisTaskGlobalQA.cxx:216 AliAnalysisTaskGlobalQA.cxx:217 AliAnalysisTaskGlobalQA.cxx:218 AliAnalysisTaskGlobalQA.cxx:219 AliAnalysisTaskGlobalQA.cxx:220 AliAnalysisTaskGlobalQA.cxx:221 AliAnalysisTaskGlobalQA.cxx:222 AliAnalysisTaskGlobalQA.cxx:223 AliAnalysisTaskGlobalQA.cxx:224 AliAnalysisTaskGlobalQA.cxx:225 AliAnalysisTaskGlobalQA.cxx:226 AliAnalysisTaskGlobalQA.cxx:227 AliAnalysisTaskGlobalQA.cxx:228 AliAnalysisTaskGlobalQA.cxx:229 AliAnalysisTaskGlobalQA.cxx:230 AliAnalysisTaskGlobalQA.cxx:231 AliAnalysisTaskGlobalQA.cxx:232 AliAnalysisTaskGlobalQA.cxx:233 AliAnalysisTaskGlobalQA.cxx:234 AliAnalysisTaskGlobalQA.cxx:235 AliAnalysisTaskGlobalQA.cxx:236 AliAnalysisTaskGlobalQA.cxx:237 AliAnalysisTaskGlobalQA.cxx:238 AliAnalysisTaskGlobalQA.cxx:239 AliAnalysisTaskGlobalQA.cxx:240 AliAnalysisTaskGlobalQA.cxx:241 AliAnalysisTaskGlobalQA.cxx:242 AliAnalysisTaskGlobalQA.cxx:243 AliAnalysisTaskGlobalQA.cxx:244 AliAnalysisTaskGlobalQA.cxx:245 AliAnalysisTaskGlobalQA.cxx:246 AliAnalysisTaskGlobalQA.cxx:247 AliAnalysisTaskGlobalQA.cxx:248 AliAnalysisTaskGlobalQA.cxx:249 AliAnalysisTaskGlobalQA.cxx:250 AliAnalysisTaskGlobalQA.cxx:251 AliAnalysisTaskGlobalQA.cxx:252 AliAnalysisTaskGlobalQA.cxx:253 AliAnalysisTaskGlobalQA.cxx:254 AliAnalysisTaskGlobalQA.cxx:255 AliAnalysisTaskGlobalQA.cxx:256 AliAnalysisTaskGlobalQA.cxx:257 AliAnalysisTaskGlobalQA.cxx:258 AliAnalysisTaskGlobalQA.cxx:259 AliAnalysisTaskGlobalQA.cxx:260 AliAnalysisTaskGlobalQA.cxx:261 AliAnalysisTaskGlobalQA.cxx:262 AliAnalysisTaskGlobalQA.cxx:263 AliAnalysisTaskGlobalQA.cxx:264 AliAnalysisTaskGlobalQA.cxx:265 AliAnalysisTaskGlobalQA.cxx:266 AliAnalysisTaskGlobalQA.cxx:267 AliAnalysisTaskGlobalQA.cxx:268 AliAnalysisTaskGlobalQA.cxx:269 AliAnalysisTaskGlobalQA.cxx:270 AliAnalysisTaskGlobalQA.cxx:271 AliAnalysisTaskGlobalQA.cxx:272 AliAnalysisTaskGlobalQA.cxx:273 AliAnalysisTaskGlobalQA.cxx:274 AliAnalysisTaskGlobalQA.cxx:275 AliAnalysisTaskGlobalQA.cxx:276 AliAnalysisTaskGlobalQA.cxx:277 AliAnalysisTaskGlobalQA.cxx:278 AliAnalysisTaskGlobalQA.cxx:279 AliAnalysisTaskGlobalQA.cxx:280 AliAnalysisTaskGlobalQA.cxx:281 AliAnalysisTaskGlobalQA.cxx:282 AliAnalysisTaskGlobalQA.cxx:283 AliAnalysisTaskGlobalQA.cxx:284 AliAnalysisTaskGlobalQA.cxx:285 AliAnalysisTaskGlobalQA.cxx:286 AliAnalysisTaskGlobalQA.cxx:287 AliAnalysisTaskGlobalQA.cxx:288 AliAnalysisTaskGlobalQA.cxx:289 AliAnalysisTaskGlobalQA.cxx:290 AliAnalysisTaskGlobalQA.cxx:291 AliAnalysisTaskGlobalQA.cxx:292 AliAnalysisTaskGlobalQA.cxx:293 AliAnalysisTaskGlobalQA.cxx:294 AliAnalysisTaskGlobalQA.cxx:295 AliAnalysisTaskGlobalQA.cxx:296 AliAnalysisTaskGlobalQA.cxx:297 AliAnalysisTaskGlobalQA.cxx:298 AliAnalysisTaskGlobalQA.cxx:299 AliAnalysisTaskGlobalQA.cxx:300 AliAnalysisTaskGlobalQA.cxx:301 AliAnalysisTaskGlobalQA.cxx:302 AliAnalysisTaskGlobalQA.cxx:303 AliAnalysisTaskGlobalQA.cxx:304 AliAnalysisTaskGlobalQA.cxx:305 AliAnalysisTaskGlobalQA.cxx:306 AliAnalysisTaskGlobalQA.cxx:307 AliAnalysisTaskGlobalQA.cxx:308 AliAnalysisTaskGlobalQA.cxx:309 AliAnalysisTaskGlobalQA.cxx:310 AliAnalysisTaskGlobalQA.cxx:311 AliAnalysisTaskGlobalQA.cxx:312 AliAnalysisTaskGlobalQA.cxx:313 AliAnalysisTaskGlobalQA.cxx:314 AliAnalysisTaskGlobalQA.cxx:315 AliAnalysisTaskGlobalQA.cxx:316 AliAnalysisTaskGlobalQA.cxx:317 AliAnalysisTaskGlobalQA.cxx:318 AliAnalysisTaskGlobalQA.cxx:319 AliAnalysisTaskGlobalQA.cxx:320 AliAnalysisTaskGlobalQA.cxx:321 AliAnalysisTaskGlobalQA.cxx:322 AliAnalysisTaskGlobalQA.cxx:323 AliAnalysisTaskGlobalQA.cxx:324 AliAnalysisTaskGlobalQA.cxx:325 AliAnalysisTaskGlobalQA.cxx:326 AliAnalysisTaskGlobalQA.cxx:327 AliAnalysisTaskGlobalQA.cxx:328 AliAnalysisTaskGlobalQA.cxx:329 AliAnalysisTaskGlobalQA.cxx:330 AliAnalysisTaskGlobalQA.cxx:331 AliAnalysisTaskGlobalQA.cxx:332 AliAnalysisTaskGlobalQA.cxx:333 AliAnalysisTaskGlobalQA.cxx:334 AliAnalysisTaskGlobalQA.cxx:335 AliAnalysisTaskGlobalQA.cxx:336 AliAnalysisTaskGlobalQA.cxx:337 AliAnalysisTaskGlobalQA.cxx:338 AliAnalysisTaskGlobalQA.cxx:339 AliAnalysisTaskGlobalQA.cxx:340 AliAnalysisTaskGlobalQA.cxx:341 AliAnalysisTaskGlobalQA.cxx:342 AliAnalysisTaskGlobalQA.cxx:343 AliAnalysisTaskGlobalQA.cxx:344 AliAnalysisTaskGlobalQA.cxx:345 AliAnalysisTaskGlobalQA.cxx:346 AliAnalysisTaskGlobalQA.cxx:347 AliAnalysisTaskGlobalQA.cxx:348 AliAnalysisTaskGlobalQA.cxx:349 AliAnalysisTaskGlobalQA.cxx:350 AliAnalysisTaskGlobalQA.cxx:351 AliAnalysisTaskGlobalQA.cxx:352 AliAnalysisTaskGlobalQA.cxx:353 AliAnalysisTaskGlobalQA.cxx:354 AliAnalysisTaskGlobalQA.cxx:355 AliAnalysisTaskGlobalQA.cxx:356 AliAnalysisTaskGlobalQA.cxx:357 AliAnalysisTaskGlobalQA.cxx:358 AliAnalysisTaskGlobalQA.cxx:359 AliAnalysisTaskGlobalQA.cxx:360 AliAnalysisTaskGlobalQA.cxx:361 AliAnalysisTaskGlobalQA.cxx:362 AliAnalysisTaskGlobalQA.cxx:363 AliAnalysisTaskGlobalQA.cxx:364 AliAnalysisTaskGlobalQA.cxx:365 AliAnalysisTaskGlobalQA.cxx:366 AliAnalysisTaskGlobalQA.cxx:367 AliAnalysisTaskGlobalQA.cxx:368 AliAnalysisTaskGlobalQA.cxx:369 AliAnalysisTaskGlobalQA.cxx:370 AliAnalysisTaskGlobalQA.cxx:371 AliAnalysisTaskGlobalQA.cxx:372 AliAnalysisTaskGlobalQA.cxx:373 AliAnalysisTaskGlobalQA.cxx:374 AliAnalysisTaskGlobalQA.cxx:375 AliAnalysisTaskGlobalQA.cxx:376 AliAnalysisTaskGlobalQA.cxx:377 AliAnalysisTaskGlobalQA.cxx:378 AliAnalysisTaskGlobalQA.cxx:379 AliAnalysisTaskGlobalQA.cxx:380 AliAnalysisTaskGlobalQA.cxx:381 AliAnalysisTaskGlobalQA.cxx:382 AliAnalysisTaskGlobalQA.cxx:383 AliAnalysisTaskGlobalQA.cxx:384 AliAnalysisTaskGlobalQA.cxx:385 AliAnalysisTaskGlobalQA.cxx:386 AliAnalysisTaskGlobalQA.cxx:387 AliAnalysisTaskGlobalQA.cxx:388 AliAnalysisTaskGlobalQA.cxx:389 AliAnalysisTaskGlobalQA.cxx:390 AliAnalysisTaskGlobalQA.cxx:391 AliAnalysisTaskGlobalQA.cxx:392 AliAnalysisTaskGlobalQA.cxx:393 AliAnalysisTaskGlobalQA.cxx:394 AliAnalysisTaskGlobalQA.cxx:395 AliAnalysisTaskGlobalQA.cxx:396 AliAnalysisTaskGlobalQA.cxx:397 AliAnalysisTaskGlobalQA.cxx:398 AliAnalysisTaskGlobalQA.cxx:399 AliAnalysisTaskGlobalQA.cxx:400 AliAnalysisTaskGlobalQA.cxx:401 AliAnalysisTaskGlobalQA.cxx:402 AliAnalysisTaskGlobalQA.cxx:403 AliAnalysisTaskGlobalQA.cxx:404 AliAnalysisTaskGlobalQA.cxx:405 AliAnalysisTaskGlobalQA.cxx:406 AliAnalysisTaskGlobalQA.cxx:407 AliAnalysisTaskGlobalQA.cxx:408 AliAnalysisTaskGlobalQA.cxx:409 AliAnalysisTaskGlobalQA.cxx:410 AliAnalysisTaskGlobalQA.cxx:411 AliAnalysisTaskGlobalQA.cxx:412 AliAnalysisTaskGlobalQA.cxx:413 AliAnalysisTaskGlobalQA.cxx:414 AliAnalysisTaskGlobalQA.cxx:415 AliAnalysisTaskGlobalQA.cxx:416 AliAnalysisTaskGlobalQA.cxx:417 AliAnalysisTaskGlobalQA.cxx:418 AliAnalysisTaskGlobalQA.cxx:419