2 Reve::PointSet* tpc_clusters(RenderElement* cont=0, Float_t maxR=270)
4 const Int_t kMaxCl=100*160;
6 Alieve::Event::AssertGeometry();
8 Reve::PointSet* clusters = new Reve::PointSet(kMaxCl);
9 clusters->SetOwnIds(kTRUE);
11 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
12 rl->LoadRecPoints("TPC");
14 AliTPCClustersRow *clrow=new AliTPCClustersRow();
15 clrow->SetClass("AliTPCclusterMI");
16 clrow->SetArray(kMaxCl);
18 TTree *cTree = rl->GetTreeR("TPC", false);
19 TBranch *branch=cTree->SetBranchAddress("Segment",&clrow);
21 Float_t maxRsqr = maxR*maxR;
22 TClonesArray *cl=clrow->GetArray();
23 Int_t nentr=(Int_t)cTree->GetEntries();
24 for (Int_t i=0; i<nentr; i++) {
25 if (!cTree->GetEvent(i)) continue;
27 Int_t ncl=cl->GetEntriesFast();
30 AliCluster *c=(AliCluster*)cl->UncheckedAt(ncl);
31 Float_t g[3]; //global coordinates
33 if (g[0]*g[0]+g[1]*g[1] < maxRsqr)
35 clusters->SetNextPoint(g[0], g[1], g[2]);
36 AliCluster *atp = new AliCluster(*c);
37 clusters->SetPointId(atp);
45 if(clusters->Size() == 0 && gReve->GetKeepEmptyCont() == kFALSE) {
46 Warning("tpc_clusters", "No TPC clusters");
51 clusters->SetMarkerStyle(2);
52 clusters->SetMarkerSize(0.2);
53 clusters->SetMarkerColor(4);
56 sprintf(form,"TPC Clusters");
57 clusters->SetName(form);
60 sprintf(tip,"N=%d", clusters->Size());
61 clusters->SetTitle(tip);
64 gReve->AddRenderElement(clusters);