#ifndef ALIANALYSISTASKSPD_CXX
#define ALIANALYSISTASKSPD_CXX
#include "AliAnalysisTaskSPD.h"
#include "TClonesArray.h"
#include "TBranch.h"
#include "TH1I.h"
#include "TH2D.h"
#include "TFile.h"
#include "AliSPDUtils.h"
#include "AliESDEvent.h"
#include "TChain.h"
#include "AliLog.h"
#include "AliESDInputHandlerRP.h"
#include "AliAnalysisManager.h"
#include "AliMultiplicity.h"
#include "AliCDBPath.h"
#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliCDBStorage.h"
#include "AliGeomManager.h"
#include "AliITSRecPoint.h"
#include "AliITSsegmentationSPD.h"
ClassImp(AliAnalysisTaskSPD)
AliAnalysisTaskSPD::AliAnalysisTaskSPD() :
fSegSPD(0x0),
fOutput(0x0),
fRunNb(999),
fOCDBLocation("local://$ALICE_ROOT/OCDB"),
fHI(kFALSE),
fTest(kFALSE)
{
}
AliAnalysisTaskSPD::AliAnalysisTaskSPD(const Char_t* name) :
AliAnalysisTaskSE(name),
fSegSPD(0x0),
fOutput(0x0),
fRunNb(999),
fOCDBLocation("local://$ALICE_ROOT/OCDB"),
fHI(kFALSE),
fTest(kFALSE)
{
Info("AliAnalysisTaskSPD","Calling Constructor");
DefineOutput(1,TList::Class());
}
AliAnalysisTaskSPD& AliAnalysisTaskSPD::operator=(const AliAnalysisTaskSPD& c)
{
if (this!=&c) {
AliAnalysisTaskSE::operator=(c) ;
fSegSPD = c.fSegSPD ;
fOutput = c.fOutput ;
fRunNb = c.fRunNb;
fOCDBLocation = c.fOCDBLocation;
fHI = c.fHI;
fTest = c.fTest;
}
return *this;
}
AliAnalysisTaskSPD::AliAnalysisTaskSPD(const AliAnalysisTaskSPD& c) :
AliAnalysisTaskSE(c),
fSegSPD(c.fSegSPD),
fOutput(c.fOutput),
fRunNb(c.fRunNb),
fOCDBLocation(c.fOCDBLocation),
fHI(c.fHI),
fTest(c.fTest)
{
}
AliAnalysisTaskSPD::~AliAnalysisTaskSPD() {
Info("~AliAnalysisTaskSPD","Calling Destructor");
if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) return;
if (fSegSPD) delete fSegSPD ;
if (fOutput) {
delete fOutput;
fOutput = 0;
}
}
void AliAnalysisTaskSPD::UserCreateOutputObjects() {
Info("CreateOutputObjects","CreateOutputObjects of task %s", GetName());
if(fRunNb!=999){
if (fTest) LoadGeometryFromOCDB();
}
fSegSPD = new AliITSsegmentationSPD();
OpenFile(1);
fOutput = new TList();
fOutput->SetOwner();
TH2D *hLocalMapL1 = new TH2D("hLocalMapL1"," Local coordinates - Layer 1",330,-16.5,16.5,205,-0.5,40.5);
hLocalMapL1->SetXTitle("direction Z [cm]");
hLocalMapL1->SetYTitle("direction X [cm]");
fOutput->AddLast(hLocalMapL1);
TH2D *hLocalMapL2 = new TH2D("hLocalMapL2"," Local coordinates - Layer 2",330,-16.5,16.5,405,-0.5,80.5);
hLocalMapL2->SetXTitle("direction Z [cm]");
hLocalMapL2->SetYTitle("direction X [cm]");
fOutput->AddLast(hLocalMapL2);
TH1F *hClusterModYield = new TH1F("hClusterModYield","Cluster yield in modules",241,-0.5,240.5);
hClusterModYield->SetXTitle("module number");
fOutput->AddLast(hClusterModYield);
TH1F *hClusterYield = new TH1F("hClusterYield","Cluster yield per chip",1200,-0.5,1199.5) ;
hClusterYield->SetXTitle("chip key");
fOutput->AddLast(hClusterYield);
TH1F *hClusterYieldOnline = new TH1F("hClusterYieldOnline","Cluster yield per chip (online coord eq*60+hs*10+chip)",1200,-0.5,1199.5) ;
hClusterYieldOnline->SetXTitle("chip");
fOutput->AddLast(hClusterYieldOnline);
TH1F *hFiredChip = new TH1F("hFiredChip","Fired chip (at least one cluster)",1200,-0.5,1199.5);
hFiredChip->SetXTitle("chip key");
fOutput->AddLast(hFiredChip);
TH1F *hFOFiredChip = new TH1F("hFOFiredChip","FO Fired chip ",1200,-0.5,1199.5);
hFOFiredChip->SetXTitle("chip key");
fOutput->AddLast(hFOFiredChip);
TH1F *hFOgood = new TH1F("hFOgood"," FO-good (at least one cluster) ",1200,-0.5,1199.5);
hFOgood->SetXTitle("chip key");
fOutput->AddLast(hFOgood);
TH2F *hFOgoodPerBC = new TH2F("hFOgoodPerBCmod4"," FO-good signals in BCmod4 ",1200,-0.5,1199.5,4,-0.5,3.5);
hFOgoodPerBC->SetXTitle("chip key");
fOutput->AddLast(hFOgoodPerBC);
TH2F *hFiredChipsPerBC = new TH2F("hFiredChipsPerBCmod4"," fired chips in BCmod4 ",1200,-0.5,1199.5,4,-0.5,3.5);
hFiredChipsPerBC->SetXTitle("chip key");
fOutput->AddLast(hFiredChipsPerBC);
TH1F *hFOnoisy = new TH1F("hFOnoisy","FO-noisy (no cluster)",1200,-0.5,1199.5);
hFOnoisy->SetXTitle("chip key");
fOutput->AddLast(hFOnoisy);
Int_t nbin, nTrMax;
if(fHI) {
nbin = 800;
nTrMax = 8000;
} else {
nbin = 500;
nTrMax = 500;
}
TH1I *hTracklets = new TH1I("hNtracklets","Tracklet distribution",nbin,0,nTrMax);
hTracklets->SetXTitle("# Tracklets");
fOutput->AddLast(hTracklets);
TH2F *hSPDphivsSPDeta= new TH2F("hSPDphivsSPDeta", "Tracklets - #varphi vs #eta",120,-3.,3,360,0.,2*TMath::Pi());
hSPDphivsSPDeta->GetXaxis()->SetTitle("Pseudorapidity #eta");
hSPDphivsSPDeta->GetYaxis()->SetTitle("#varphi [rad]");
fOutput->AddLast(hSPDphivsSPDeta);
TH1F *hSPDphiZpos= new TH1F("hSPDphiZpos", "Tracklets - #varphi (Z>0)",360,0.,2*TMath::Pi());
hSPDphiZpos->SetXTitle("#varphi [rad]");
fOutput->AddLast(hSPDphiZpos);
TH1F *hSPDphiZneg= new TH1F("hSPDphiZneg", "Tracklets - #varphi (Z<0)",360,0.,2*TMath::Pi());
hSPDphiZneg->SetXTitle("#varphi [rad]");
fOutput->AddLast(hSPDphiZneg);
TH1F *hVertexZ = new TH1F("hVertexZ","Vertex Z distribution",300,-15,15);
hVertexZ->SetXTitle("Z Vertex [cm]");
fOutput->AddLast(hVertexZ);
TH2F *hTracklVsClu1 = new TH2F("hTrackVsClu1","Tracklet Vs Clusters Layer 1",nbin/2,0,1.5*nTrMax,nbin/2,0,nTrMax);
hTracklVsClu1->SetXTitle("clusters SPD Layer 1");
hTracklVsClu1->SetYTitle("tracklets");
fOutput->AddLast(hTracklVsClu1);
TH2F *hTracklVsClu2 = new TH2F("hTrackVsClu2","Tracklet Vs Clusters Layer 2",nbin/2,0,1.5*nTrMax,nbin/2,0,nTrMax);
hTracklVsClu2->SetXTitle("clusters SPD Layer 2");
hTracklVsClu2->SetYTitle("tracklets");
fOutput->AddLast(hTracklVsClu2);
TH1I *hEventsProcessed = new TH1I("hEventsProcessed","Number of processed events",1,0,1) ;
fOutput->AddLast(hEventsProcessed);
PostData(1,fOutput);
}
void AliAnalysisTaskSPD::UserExec(Option_t *)
{
AliESDInputHandlerRP *hand = dynamic_cast<AliESDInputHandlerRP*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
if(!hand) {
printf("No AliESDInputHandlerRP \n");
return;
}
AliESDEvent *ESD = hand->GetEvent();
if(!ESD) {
printf("No AliESDEvent \n");
return;
}
Bool_t recP = kTRUE;
TTree * treeRP = hand->GetTreeR("ITS");
if(!treeRP) {
recP=kFALSE;
}
const AliESDVertex *vertex = ESD->GetPrimaryVertexSPD();
const AliMultiplicity *mult = ESD->GetMultiplicity();
if(!vertex) return;
if(!vertex->GetStatus()) return;
if(vertex->GetNContributors() < 1) return;
((TH1I*)fOutput->At(18))->Fill(0);
((TH1I*)fOutput->At(11))->Fill(mult->GetNumberOfTracklets());
UInt_t bc = (UInt_t)ESD->GetBunchCrossNumber();
for(Int_t iChipKey=0; iChipKey < 1200; iChipKey++){
if(mult->TestFiredChipMap(iChipKey)) {
((TH1F*)fOutput->At(5))->Fill(iChipKey);
if(bc>0)((TH2F*)fOutput->At(9))->Fill(iChipKey,bc%4);
}
if(mult->TestFastOrFiredChips(iChipKey)) ((TH1F*)fOutput->At(6))->Fill(iChipKey);
if(mult->TestFastOrFiredChips(iChipKey) && mult->TestFiredChipMap(iChipKey)) {
((TH1F*)fOutput->At(7))->Fill(iChipKey);
if(bc>0) ((TH2F*)fOutput->At(8))->Fill(iChipKey,bc%4);
}
if(mult->TestFastOrFiredChips(iChipKey) && !mult->TestFiredChipMap(iChipKey)) ((TH1F*)fOutput->At(10))->Fill(iChipKey);
}
Double_t vtxPos[3] = {999, 999, 999};
if(vertex){
vertex->GetXYZ(vtxPos);
((TH1F*)fOutput->At(15))->Fill(vtxPos[2]);
((TH2F*)fOutput->At(16))->Fill(mult->GetNumberOfITSClusters(0),mult->GetNumberOfTracklets());
((TH2F*)fOutput->At(17))->Fill(mult->GetNumberOfITSClusters(1),mult->GetNumberOfTracklets());
for(Int_t iTracklet =0; iTracklet < mult->GetNumberOfTracklets(); iTracklet++){
Float_t phiTr= mult->GetPhi(iTracklet);
Float_t etaTr =mult->GetEta(iTracklet);
((TH2F*)fOutput->At(12))->Fill(etaTr,phiTr);
Float_t z = vtxPos[2] + 3.9 / TMath::Tan(2 * TMath::ATan(TMath::Exp(- etaTr)));
if(z>0) ((TH1F*)fOutput->At(13))->Fill(phiTr);
else ((TH1F*)fOutput->At(14))->Fill(phiTr);
}
}
if(recP){
TClonesArray statITSrec("AliITSRecPoint");
TClonesArray *ITSCluster = &statITSrec;
TBranch* branch=treeRP->GetBranch("ITSRecPoints");
if(!branch) {
printf("NO treeRP branch available. Exiting...\n");
return;
}
branch->SetAddress(&ITSCluster);
for(Int_t iMod=0;iMod<240;iMod++){
branch->GetEvent(iMod);
Int_t nrecp = statITSrec.GetEntries();
if(nrecp>0) ((TH1F*)fOutput->At(2))->Fill(iMod,nrecp);
for(Int_t irec=0;irec<nrecp;irec++) {
AliITSRecPoint *recp = (AliITSRecPoint*)statITSrec.At(irec);
Int_t lay=recp->GetLayer();
if(lay>1) continue;
Float_t local[3]={-1,-1};
local[1]=recp->GetDetLocalX();
local[0]=recp->GetDetLocalZ();
Int_t eq = AliSPDUtils::GetOnlineEqIdFromOffline(iMod);
Int_t hs = AliSPDUtils::GetOnlineHSFromOffline(iMod);
Int_t row, col;
fSegSPD->LocalToDet(0.5,local[0],row,col);
Int_t chip = AliSPDUtils::GetOnlineChipFromOffline(iMod,col);
Double_t locx, locz, equip;
Double_t corrlocz =0;
if(lay==0) corrlocz=local[0];
else corrlocz = -local[0];
if(eq<10) equip=eq;
else equip=eq-10;
if(eq<10){
if(chip<5) locz =corrlocz +8 +4;
else locz = corrlocz+4;
} else {
if(chip<5) locz = corrlocz-8-4;
else locz = corrlocz-4;
}
if(lay==0){
locx = (local[1]+1) + hs*2 +equip*4;
((TH2D*)fOutput->At(0))->Fill(locz,locx);
} else {
locx = (local[1]+1) + (hs-2)*2 +equip*8;
((TH2D*)fOutput->At(1))->Fill(locz,locx);
}
((TH1F*)fOutput->At(3))->Fill(AliSPDUtils::GetOfflineChipKeyFromOnline(eq,hs,chip));
((TH1F*)fOutput->At(4))->Fill(eq*60+hs*10+chip);
}
}
}
PostData(1,fOutput) ;
}
void AliAnalysisTaskSPD::Terminate(Option_t*)
{
AliAnalysisTaskSE::Terminate();
}
void AliAnalysisTaskSPD::LoadGeometryFromOCDB(){
if(fTest){
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(fOCDBLocation.Data());
man->SetRun(fRunNb);
}
if(!AliCDBManager::Instance()){
AliWarning("No CDB MANAGER, geometry can not be loaded");
return;
}
AliCDBEntry* obj =(AliCDBManager::Instance())->Get(AliCDBPath("GRP", "Geometry", "Data"));
if (obj)
AliGeomManager::SetGeometry((TGeoManager*)obj->GetObject());
AliGeomManager::GetNalignable("ITS");
AliGeomManager::ApplyAlignObjsFromCDB("ITS");
}
#endif
AliAnalysisTaskSPD.cxx:10 AliAnalysisTaskSPD.cxx:11 AliAnalysisTaskSPD.cxx:12 AliAnalysisTaskSPD.cxx:13 AliAnalysisTaskSPD.cxx:14 AliAnalysisTaskSPD.cxx:15 AliAnalysisTaskSPD.cxx:16 AliAnalysisTaskSPD.cxx:17 AliAnalysisTaskSPD.cxx:18 AliAnalysisTaskSPD.cxx:19 AliAnalysisTaskSPD.cxx:20 AliAnalysisTaskSPD.cxx:21 AliAnalysisTaskSPD.cxx:22 AliAnalysisTaskSPD.cxx:23 AliAnalysisTaskSPD.cxx:24 AliAnalysisTaskSPD.cxx:25 AliAnalysisTaskSPD.cxx:26 AliAnalysisTaskSPD.cxx:27 AliAnalysisTaskSPD.cxx:28 AliAnalysisTaskSPD.cxx:29 AliAnalysisTaskSPD.cxx:30 AliAnalysisTaskSPD.cxx:31 AliAnalysisTaskSPD.cxx:32 AliAnalysisTaskSPD.cxx:33 AliAnalysisTaskSPD.cxx:34 AliAnalysisTaskSPD.cxx:35 AliAnalysisTaskSPD.cxx:36 AliAnalysisTaskSPD.cxx:37 AliAnalysisTaskSPD.cxx:38 AliAnalysisTaskSPD.cxx:39 AliAnalysisTaskSPD.cxx:40 AliAnalysisTaskSPD.cxx:41 AliAnalysisTaskSPD.cxx:42 AliAnalysisTaskSPD.cxx:43 AliAnalysisTaskSPD.cxx:44 AliAnalysisTaskSPD.cxx:45 AliAnalysisTaskSPD.cxx:46 AliAnalysisTaskSPD.cxx:47 AliAnalysisTaskSPD.cxx:48 AliAnalysisTaskSPD.cxx:49 AliAnalysisTaskSPD.cxx:50 AliAnalysisTaskSPD.cxx:51 AliAnalysisTaskSPD.cxx:52 AliAnalysisTaskSPD.cxx:53 AliAnalysisTaskSPD.cxx:54 AliAnalysisTaskSPD.cxx:55 AliAnalysisTaskSPD.cxx:56 AliAnalysisTaskSPD.cxx:57 AliAnalysisTaskSPD.cxx:58 AliAnalysisTaskSPD.cxx:59 AliAnalysisTaskSPD.cxx:60 AliAnalysisTaskSPD.cxx:61 AliAnalysisTaskSPD.cxx:62 AliAnalysisTaskSPD.cxx:63 AliAnalysisTaskSPD.cxx:64 AliAnalysisTaskSPD.cxx:65 AliAnalysisTaskSPD.cxx:66 AliAnalysisTaskSPD.cxx:67 AliAnalysisTaskSPD.cxx:68 AliAnalysisTaskSPD.cxx:69 AliAnalysisTaskSPD.cxx:70 AliAnalysisTaskSPD.cxx:71 AliAnalysisTaskSPD.cxx:72 AliAnalysisTaskSPD.cxx:73 AliAnalysisTaskSPD.cxx:74 AliAnalysisTaskSPD.cxx:75 AliAnalysisTaskSPD.cxx:76 AliAnalysisTaskSPD.cxx:77 AliAnalysisTaskSPD.cxx:78 AliAnalysisTaskSPD.cxx:79 AliAnalysisTaskSPD.cxx:80 AliAnalysisTaskSPD.cxx:81 AliAnalysisTaskSPD.cxx:82 AliAnalysisTaskSPD.cxx:83 AliAnalysisTaskSPD.cxx:84 AliAnalysisTaskSPD.cxx:85 AliAnalysisTaskSPD.cxx:86 AliAnalysisTaskSPD.cxx:87 AliAnalysisTaskSPD.cxx:88 AliAnalysisTaskSPD.cxx:89 AliAnalysisTaskSPD.cxx:90 AliAnalysisTaskSPD.cxx:91 AliAnalysisTaskSPD.cxx:92 AliAnalysisTaskSPD.cxx:93 AliAnalysisTaskSPD.cxx:94 AliAnalysisTaskSPD.cxx:95 AliAnalysisTaskSPD.cxx:96 AliAnalysisTaskSPD.cxx:97 AliAnalysisTaskSPD.cxx:98 AliAnalysisTaskSPD.cxx:99 AliAnalysisTaskSPD.cxx:100 AliAnalysisTaskSPD.cxx:101 AliAnalysisTaskSPD.cxx:102 AliAnalysisTaskSPD.cxx:103 AliAnalysisTaskSPD.cxx:104 AliAnalysisTaskSPD.cxx:105 AliAnalysisTaskSPD.cxx:106 AliAnalysisTaskSPD.cxx:107 AliAnalysisTaskSPD.cxx:108 AliAnalysisTaskSPD.cxx:109 AliAnalysisTaskSPD.cxx:110 AliAnalysisTaskSPD.cxx:111 AliAnalysisTaskSPD.cxx:112 AliAnalysisTaskSPD.cxx:113 AliAnalysisTaskSPD.cxx:114 AliAnalysisTaskSPD.cxx:115 AliAnalysisTaskSPD.cxx:116 AliAnalysisTaskSPD.cxx:117 AliAnalysisTaskSPD.cxx:118 AliAnalysisTaskSPD.cxx:119 AliAnalysisTaskSPD.cxx:120 AliAnalysisTaskSPD.cxx:121 AliAnalysisTaskSPD.cxx:122 AliAnalysisTaskSPD.cxx:123 AliAnalysisTaskSPD.cxx:124 AliAnalysisTaskSPD.cxx:125 AliAnalysisTaskSPD.cxx:126 AliAnalysisTaskSPD.cxx:127 AliAnalysisTaskSPD.cxx:128 AliAnalysisTaskSPD.cxx:129 AliAnalysisTaskSPD.cxx:130 AliAnalysisTaskSPD.cxx:131 AliAnalysisTaskSPD.cxx:132 AliAnalysisTaskSPD.cxx:133 AliAnalysisTaskSPD.cxx:134 AliAnalysisTaskSPD.cxx:135 AliAnalysisTaskSPD.cxx:136 AliAnalysisTaskSPD.cxx:137 AliAnalysisTaskSPD.cxx:138 AliAnalysisTaskSPD.cxx:139 AliAnalysisTaskSPD.cxx:140 AliAnalysisTaskSPD.cxx:141 AliAnalysisTaskSPD.cxx:142 AliAnalysisTaskSPD.cxx:143 AliAnalysisTaskSPD.cxx:144 AliAnalysisTaskSPD.cxx:145 AliAnalysisTaskSPD.cxx:146 AliAnalysisTaskSPD.cxx:147 AliAnalysisTaskSPD.cxx:148 AliAnalysisTaskSPD.cxx:149 AliAnalysisTaskSPD.cxx:150 AliAnalysisTaskSPD.cxx:151 AliAnalysisTaskSPD.cxx:152 AliAnalysisTaskSPD.cxx:153 AliAnalysisTaskSPD.cxx:154 AliAnalysisTaskSPD.cxx:155 AliAnalysisTaskSPD.cxx:156 AliAnalysisTaskSPD.cxx:157 AliAnalysisTaskSPD.cxx:158 AliAnalysisTaskSPD.cxx:159 AliAnalysisTaskSPD.cxx:160 AliAnalysisTaskSPD.cxx:161 AliAnalysisTaskSPD.cxx:162 AliAnalysisTaskSPD.cxx:163 AliAnalysisTaskSPD.cxx:164 AliAnalysisTaskSPD.cxx:165 AliAnalysisTaskSPD.cxx:166 AliAnalysisTaskSPD.cxx:167 AliAnalysisTaskSPD.cxx:168 AliAnalysisTaskSPD.cxx:169 AliAnalysisTaskSPD.cxx:170 AliAnalysisTaskSPD.cxx:171 AliAnalysisTaskSPD.cxx:172 AliAnalysisTaskSPD.cxx:173 AliAnalysisTaskSPD.cxx:174 AliAnalysisTaskSPD.cxx:175 AliAnalysisTaskSPD.cxx:176 AliAnalysisTaskSPD.cxx:177 AliAnalysisTaskSPD.cxx:178 AliAnalysisTaskSPD.cxx:179 AliAnalysisTaskSPD.cxx:180 AliAnalysisTaskSPD.cxx:181 AliAnalysisTaskSPD.cxx:182 AliAnalysisTaskSPD.cxx:183 AliAnalysisTaskSPD.cxx:184 AliAnalysisTaskSPD.cxx:185 AliAnalysisTaskSPD.cxx:186 AliAnalysisTaskSPD.cxx:187 AliAnalysisTaskSPD.cxx:188 AliAnalysisTaskSPD.cxx:189 AliAnalysisTaskSPD.cxx:190 AliAnalysisTaskSPD.cxx:191 AliAnalysisTaskSPD.cxx:192 AliAnalysisTaskSPD.cxx:193 AliAnalysisTaskSPD.cxx:194 AliAnalysisTaskSPD.cxx:195 AliAnalysisTaskSPD.cxx:196 AliAnalysisTaskSPD.cxx:197 AliAnalysisTaskSPD.cxx:198 AliAnalysisTaskSPD.cxx:199 AliAnalysisTaskSPD.cxx:200 AliAnalysisTaskSPD.cxx:201 AliAnalysisTaskSPD.cxx:202 AliAnalysisTaskSPD.cxx:203 AliAnalysisTaskSPD.cxx:204 AliAnalysisTaskSPD.cxx:205 AliAnalysisTaskSPD.cxx:206 AliAnalysisTaskSPD.cxx:207 AliAnalysisTaskSPD.cxx:208 AliAnalysisTaskSPD.cxx:209 AliAnalysisTaskSPD.cxx:210 AliAnalysisTaskSPD.cxx:211 AliAnalysisTaskSPD.cxx:212 AliAnalysisTaskSPD.cxx:213 AliAnalysisTaskSPD.cxx:214 AliAnalysisTaskSPD.cxx:215 AliAnalysisTaskSPD.cxx:216 AliAnalysisTaskSPD.cxx:217 AliAnalysisTaskSPD.cxx:218 AliAnalysisTaskSPD.cxx:219 AliAnalysisTaskSPD.cxx:220 AliAnalysisTaskSPD.cxx:221 AliAnalysisTaskSPD.cxx:222 AliAnalysisTaskSPD.cxx:223 AliAnalysisTaskSPD.cxx:224 AliAnalysisTaskSPD.cxx:225 AliAnalysisTaskSPD.cxx:226 AliAnalysisTaskSPD.cxx:227 AliAnalysisTaskSPD.cxx:228 AliAnalysisTaskSPD.cxx:229 AliAnalysisTaskSPD.cxx:230 AliAnalysisTaskSPD.cxx:231 AliAnalysisTaskSPD.cxx:232 AliAnalysisTaskSPD.cxx:233 AliAnalysisTaskSPD.cxx:234 AliAnalysisTaskSPD.cxx:235 AliAnalysisTaskSPD.cxx:236 AliAnalysisTaskSPD.cxx:237 AliAnalysisTaskSPD.cxx:238 AliAnalysisTaskSPD.cxx:239 AliAnalysisTaskSPD.cxx:240 AliAnalysisTaskSPD.cxx:241 AliAnalysisTaskSPD.cxx:242 AliAnalysisTaskSPD.cxx:243 AliAnalysisTaskSPD.cxx:244 AliAnalysisTaskSPD.cxx:245 AliAnalysisTaskSPD.cxx:246 AliAnalysisTaskSPD.cxx:247 AliAnalysisTaskSPD.cxx:248 AliAnalysisTaskSPD.cxx:249 AliAnalysisTaskSPD.cxx:250 AliAnalysisTaskSPD.cxx:251 AliAnalysisTaskSPD.cxx:252 AliAnalysisTaskSPD.cxx:253 AliAnalysisTaskSPD.cxx:254 AliAnalysisTaskSPD.cxx:255 AliAnalysisTaskSPD.cxx:256 AliAnalysisTaskSPD.cxx:257 AliAnalysisTaskSPD.cxx:258 AliAnalysisTaskSPD.cxx:259 AliAnalysisTaskSPD.cxx:260 AliAnalysisTaskSPD.cxx:261 AliAnalysisTaskSPD.cxx:262 AliAnalysisTaskSPD.cxx:263 AliAnalysisTaskSPD.cxx:264 AliAnalysisTaskSPD.cxx:265 AliAnalysisTaskSPD.cxx:266 AliAnalysisTaskSPD.cxx:267 AliAnalysisTaskSPD.cxx:268 AliAnalysisTaskSPD.cxx:269 AliAnalysisTaskSPD.cxx:270 AliAnalysisTaskSPD.cxx:271 AliAnalysisTaskSPD.cxx:272 AliAnalysisTaskSPD.cxx:273 AliAnalysisTaskSPD.cxx:274 AliAnalysisTaskSPD.cxx:275 AliAnalysisTaskSPD.cxx:276 AliAnalysisTaskSPD.cxx:277 AliAnalysisTaskSPD.cxx:278 AliAnalysisTaskSPD.cxx:279 AliAnalysisTaskSPD.cxx:280 AliAnalysisTaskSPD.cxx:281 AliAnalysisTaskSPD.cxx:282 AliAnalysisTaskSPD.cxx:283 AliAnalysisTaskSPD.cxx:284 AliAnalysisTaskSPD.cxx:285 AliAnalysisTaskSPD.cxx:286 AliAnalysisTaskSPD.cxx:287 AliAnalysisTaskSPD.cxx:288 AliAnalysisTaskSPD.cxx:289 AliAnalysisTaskSPD.cxx:290 AliAnalysisTaskSPD.cxx:291 AliAnalysisTaskSPD.cxx:292 AliAnalysisTaskSPD.cxx:293 AliAnalysisTaskSPD.cxx:294 AliAnalysisTaskSPD.cxx:295 AliAnalysisTaskSPD.cxx:296 AliAnalysisTaskSPD.cxx:297 AliAnalysisTaskSPD.cxx:298 AliAnalysisTaskSPD.cxx:299 AliAnalysisTaskSPD.cxx:300 AliAnalysisTaskSPD.cxx:301 AliAnalysisTaskSPD.cxx:302 AliAnalysisTaskSPD.cxx:303 AliAnalysisTaskSPD.cxx:304 AliAnalysisTaskSPD.cxx:305 AliAnalysisTaskSPD.cxx:306 AliAnalysisTaskSPD.cxx:307 AliAnalysisTaskSPD.cxx:308 AliAnalysisTaskSPD.cxx:309 AliAnalysisTaskSPD.cxx:310 AliAnalysisTaskSPD.cxx:311 AliAnalysisTaskSPD.cxx:312 AliAnalysisTaskSPD.cxx:313 AliAnalysisTaskSPD.cxx:314 AliAnalysisTaskSPD.cxx:315 AliAnalysisTaskSPD.cxx:316 AliAnalysisTaskSPD.cxx:317 AliAnalysisTaskSPD.cxx:318 AliAnalysisTaskSPD.cxx:319 AliAnalysisTaskSPD.cxx:320 AliAnalysisTaskSPD.cxx:321 AliAnalysisTaskSPD.cxx:322 AliAnalysisTaskSPD.cxx:323 AliAnalysisTaskSPD.cxx:324 AliAnalysisTaskSPD.cxx:325 AliAnalysisTaskSPD.cxx:326 AliAnalysisTaskSPD.cxx:327 AliAnalysisTaskSPD.cxx:328 AliAnalysisTaskSPD.cxx:329 AliAnalysisTaskSPD.cxx:330 AliAnalysisTaskSPD.cxx:331 AliAnalysisTaskSPD.cxx:332 AliAnalysisTaskSPD.cxx:333 AliAnalysisTaskSPD.cxx:334 AliAnalysisTaskSPD.cxx:335 AliAnalysisTaskSPD.cxx:336 AliAnalysisTaskSPD.cxx:337 AliAnalysisTaskSPD.cxx:338 AliAnalysisTaskSPD.cxx:339 AliAnalysisTaskSPD.cxx:340 AliAnalysisTaskSPD.cxx:341 AliAnalysisTaskSPD.cxx:342 AliAnalysisTaskSPD.cxx:343 AliAnalysisTaskSPD.cxx:344 AliAnalysisTaskSPD.cxx:345 AliAnalysisTaskSPD.cxx:346 AliAnalysisTaskSPD.cxx:347 AliAnalysisTaskSPD.cxx:348 AliAnalysisTaskSPD.cxx:349 AliAnalysisTaskSPD.cxx:350 AliAnalysisTaskSPD.cxx:351 AliAnalysisTaskSPD.cxx:352 AliAnalysisTaskSPD.cxx:353 AliAnalysisTaskSPD.cxx:354 AliAnalysisTaskSPD.cxx:355 AliAnalysisTaskSPD.cxx:356 AliAnalysisTaskSPD.cxx:357 AliAnalysisTaskSPD.cxx:358 AliAnalysisTaskSPD.cxx:359 AliAnalysisTaskSPD.cxx:360 AliAnalysisTaskSPD.cxx:361 AliAnalysisTaskSPD.cxx:362 AliAnalysisTaskSPD.cxx:363 AliAnalysisTaskSPD.cxx:364 AliAnalysisTaskSPD.cxx:365 AliAnalysisTaskSPD.cxx:366 AliAnalysisTaskSPD.cxx:367 AliAnalysisTaskSPD.cxx:368 AliAnalysisTaskSPD.cxx:369 AliAnalysisTaskSPD.cxx:370 AliAnalysisTaskSPD.cxx:371 AliAnalysisTaskSPD.cxx:372 AliAnalysisTaskSPD.cxx:373 AliAnalysisTaskSPD.cxx:374 AliAnalysisTaskSPD.cxx:375 AliAnalysisTaskSPD.cxx:376 AliAnalysisTaskSPD.cxx:377 AliAnalysisTaskSPD.cxx:378 AliAnalysisTaskSPD.cxx:379 AliAnalysisTaskSPD.cxx:380 AliAnalysisTaskSPD.cxx:381 AliAnalysisTaskSPD.cxx:382 AliAnalysisTaskSPD.cxx:383 AliAnalysisTaskSPD.cxx:384 AliAnalysisTaskSPD.cxx:385 AliAnalysisTaskSPD.cxx:386 AliAnalysisTaskSPD.cxx:387 AliAnalysisTaskSPD.cxx:388 AliAnalysisTaskSPD.cxx:389 AliAnalysisTaskSPD.cxx:390 AliAnalysisTaskSPD.cxx:391 AliAnalysisTaskSPD.cxx:392 AliAnalysisTaskSPD.cxx:393 AliAnalysisTaskSPD.cxx:394 AliAnalysisTaskSPD.cxx:395 AliAnalysisTaskSPD.cxx:396 AliAnalysisTaskSPD.cxx:397 AliAnalysisTaskSPD.cxx:398 AliAnalysisTaskSPD.cxx:399 AliAnalysisTaskSPD.cxx:400 AliAnalysisTaskSPD.cxx:401 AliAnalysisTaskSPD.cxx:402 AliAnalysisTaskSPD.cxx:403 AliAnalysisTaskSPD.cxx:404 AliAnalysisTaskSPD.cxx:405 AliAnalysisTaskSPD.cxx:406 AliAnalysisTaskSPD.cxx:407 AliAnalysisTaskSPD.cxx:408 AliAnalysisTaskSPD.cxx:409 AliAnalysisTaskSPD.cxx:410 AliAnalysisTaskSPD.cxx:411 AliAnalysisTaskSPD.cxx:412 AliAnalysisTaskSPD.cxx:413 AliAnalysisTaskSPD.cxx:414 AliAnalysisTaskSPD.cxx:415 AliAnalysisTaskSPD.cxx:416 AliAnalysisTaskSPD.cxx:417 AliAnalysisTaskSPD.cxx:418 AliAnalysisTaskSPD.cxx:419 AliAnalysisTaskSPD.cxx:420 AliAnalysisTaskSPD.cxx:421 AliAnalysisTaskSPD.cxx:422 AliAnalysisTaskSPD.cxx:423 AliAnalysisTaskSPD.cxx:424 AliAnalysisTaskSPD.cxx:425 AliAnalysisTaskSPD.cxx:426 AliAnalysisTaskSPD.cxx:427 AliAnalysisTaskSPD.cxx:428 AliAnalysisTaskSPD.cxx:429 AliAnalysisTaskSPD.cxx:430 AliAnalysisTaskSPD.cxx:431