2 Reve::PointSet* phos_clusters(RenderElement* cont=0)
4 Alieve::Event::AssertGeometry();
6 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
7 rl->LoadRecPoints("PHOS");
9 TTree *cTree = rl->GetTreeR("PHOS", false);
11 Reve::PointSet* clusters = new Reve::PointSet(10000);
12 clusters->SetOwnIds(kTRUE);
14 TClonesArray *cl=NULL;
15 TBranch *branch=cTree->GetBranch("PHOSEmcRP");
16 branch->SetAddress(&cl);
18 Int_t nentr=(Int_t)cTree->GetEntries();
19 Warning("phos_clusters",Form(" %d"),nentr);
20 for (Int_t i=0; i<nentr; i++) {
21 if (!cTree->GetEvent(i)) continue;
23 Int_t ncl=cl->GetEntriesFast();
26 AliCluster *c=(AliCluster*)cl->UncheckedAt(ncl);
27 Float_t g[3]; //global coordinates
30 clusters->SetNextPoint(g[0], g[1], g[2]);
31 AliCluster *atp = new AliCluster(*c);
32 clusters->SetPointId(atp);
36 if(clusters->Size() == 0 && gReve->GetKeepEmptyCont() == kFALSE) {
37 Warning("phos_clusters", "No PHOS clusters");
42 clusters->SetMarkerStyle(2);
43 clusters->SetMarkerSize(0.5);
44 clusters->SetMarkerColor(4);
47 sprintf(form,"PHOS Clusters");
48 clusters->SetName(form);
51 sprintf(tip,"N=%d", clusters->Size());
52 clusters->SetTitle(tip);
55 gReve->AddRenderElement(clusters);