1 void readClusters(int nev=-1,int evStart=0)
4 gSystem->Load("libITSUpgradeBase");
5 gSystem->Load("libITSUpgradeRec");
6 gROOT->SetStyle("Plain");
9 AliRunLoader* runLoader = AliRunLoader::Open("galice.root");
10 runLoader->LoadgAlice();
12 gAlice = runLoader->GetAliRun();
14 runLoader->LoadHeader();
15 runLoader->LoadKinematics();
16 runLoader->LoadRecPoints();
18 AliLoader *dl = runLoader->GetDetectorLoader("ITS");
20 AliGeomManager::LoadGeometry("geometry.root");
21 AliITSUGeomTGeo* gm = new AliITSUGeomTGeo(kTRUE);
22 Int_t nLayers = gm->GetNLayers();
23 AliITSUClusterPix::SetGeom(gm);
24 AliITSURecoDet *its = new AliITSURecoDet(gm, "ITSinterface");
25 its->CreateClusterArrays();
27 TH2F *xyGlob = new TH2F("xyGlob"," X - Y Global coordinates ",500,-50,50,500,-50,50);
28 xyGlob->SetXTitle("cm");
29 xyGlob->SetMarkerStyle(7);
30 TH1F *zGlob = new TH1F("zGlob", " Z Global coordinates ",200, -50,50 );
31 zGlob->SetXTitle("cm");
33 TH1F* rGlob = new TH1F("rGlob","R global", 5000, 0,50.);
35 TTree * cluTree = 0x0;
37 int nevTot = (Int_t)runLoader->GetNumberOfEvents();
38 printf("N Events : %i \n",nevTot);
39 evStart = evStart<nevTot ? evStart : nevTot-1;
40 if (evStart<0) evStart = 0;
42 int lastEv = nev<0 ? nevTot : evStart+nev;
43 if (lastEv > nevTot) lastEv = nevTot;
45 for (Int_t iEvent = evStart; iEvent < lastEv; iEvent++) {
46 printf("\n Event %i \n",iEvent);
47 runLoader->GetEvent(iEvent);
48 // AliStack *stack = runLoader->Stack();
52 TBranch* br = cluTree->GetBranch(Form("ITSRecPoints%d",nlr));
54 br->SetAddress(its->GetLayerActive(nlr)->GetClustersAddress());
57 printf(" tree entries: %d\n",cluTree->GetEntries());
59 AliITSUClusterPix::SetSortMode( AliITSUClusterPix::SortModeIdTrkYZ());
60 for (int ilr=0;ilr<nlr;ilr++) {its->GetLayerActive(ilr)->GetClusters()->Sort();}
61 its->ProcessClusters();
63 for (int ilr=0;ilr<nlr;ilr++) {
64 AliITSURecoLayer* lr = its->GetLayerActive(ilr);
65 TClonesArray* clr = lr->GetClusters();
67 int nClu = clr->GetEntries();
68 printf("Layer %d : %d clusters\n",ilr,nClu);
70 for (int icl=0;icl<nClu;icl++) {
71 AliITSUClusterPix *cl = (AliITSUClusterPix*)clr->At(icl);
72 printf("#%4d | ",icl); cl->Print("glo");
76 cl->GetGlobalXYZ(glob);
77 //printf("%d: mod %d: loc(%.4lf,%.4lf,%.4lf); glob(%.4lf,%.4lf,%.4lf); \n",icl,cl->GetVolumeId(),
78 // loc[0],loc[1],loc[2],glob[0],glob[1],glob[2]);
79 xyGlob->Fill(glob[0],glob[1]);
81 rGlob->Fill(TMath::Sqrt(glob[0]*glob[0]+glob[1]*glob[1]));
88 TCanvas *xyCanv = new TCanvas("xvCanvClus","RecPoint X-Y Positions",10,10,size,size);
92 TCanvas *zCanv = new TCanvas("zCanvClus","RecPoint Z Positions",size+20,10,size,size);
96 TCanvas *rCanv = new TCanvas("rCanvClus","RecPoint R Positions",size+20,10,size,size);