1 Int_t AliTPCDisplayClusters(Int_t eventn) {
2 cerr<<"Displaying clusters...\n";
4 TFile *file=TFile::Open("galice.root");
5 if (!file->IsOpen()) {cerr<<"Can't open galice.root !\n"; return 1;}
7 TFile *cf=TFile::Open("AliTPCclusters.root");
8 if (!cf->IsOpen()){cerr<<"Can't open AliTPCclusters.root !\n"; return 3;}
10 AliTPCParam *dig=(AliTPCParam *)cf->Get("75x40_100x60");
11 if (!dig) {cerr<<"TPC parameters have not been found !\n"; return 2;}
13 TCanvas *c1=new TCanvas("cdisplay", "Cluster display",0,0,700,730);
14 TView *v=new TView(1);
15 v->SetRange(-430,-560,-430,430,560,1710);
21 AliTPCClustersArray *ca=new AliTPCClustersArray;
23 ca->SetClusterType("AliTPCcluster");
25 sprintf(cname,"TreeC_TPC_%d",eventn);
27 ca->ConnectTree(cname);
28 Int_t nrows=Int_t(ca->GetTree()->GetEntries());
29 for (Int_t n=0; n<nrows; n++) {
30 AliSegmentID *s=ca->LoadEntry(n);
32 dig->AdjustSectorRow(s->GetID(),sec,row);
33 AliTPCClustersRow &clrow = *ca->GetRow(sec,row);
34 Int_t ncl=clrow.GetArray()->GetEntriesFast();
35 TPolyMarker3D *pm=new TPolyMarker3D(ncl);
37 AliTPCcluster *cl=(AliTPCcluster*)clrow[ncl];
38 Double_t x=dig->GetPadRowRadii(sec,row), y=cl->GetY(), z=cl->GetZ();
40 dig->AdjustCosSin(sec,cs,sn);
41 tmp = x*cs-y*sn; y= x*sn+y*cs; x=tmp;
42 pm->SetPoint(ncl,x,y,z);
44 ca->ClearRow(sec,row);
45 pm->SetMarkerSize(1); pm->SetMarkerColor(2); pm->SetMarkerStyle(1);
51 TGeometry *geom=(TGeometry*)file->Get("AliceGeom");
53 c1->Modified(); c1->Update();