Remove EVE/Reve/ sub-module.
[u/mrichter/AliRoot.git] / EVE / alice-macros / phos_clusters.C
1
2 TEvePointSet* phos_clusters(TEveElement* cont=0)
3 {
4   Alieve::Event::AssertGeometry();
5
6   AliRunLoader* rl = Alieve::Event::AssertRunLoader();
7   rl->LoadRecPoints("PHOS");
8
9   TTree *cTree = rl->GetTreeR("PHOS", false);
10
11   TEvePointSet* clusters = new TEvePointSet(10000);
12   clusters->SetOwnIds(kTRUE);
13
14   TObjArray *arr=NULL;
15   TBranch *branch=cTree->GetBranch("PHOSEmcRP");
16   branch->SetAddress(&arr);
17
18   Int_t nentr=(Int_t)branch->GetEntries();
19   for (Int_t i=0; i<nentr; i++) {
20     if (!branch->GetEvent(i)) continue;
21
22     Int_t ncl=arr->GetEntriesFast();
23     while (ncl--) {
24       AliCluster *cl=(AliCluster*)arr->UncheckedAt(ncl);
25
26       Float_t g[3]; //global coordinates
27       cl->GetGlobalXYZ(g);
28
29       AliCluster *atp = new AliCluster(*cl);
30       clusters->SetNextPoint(g[0], g[1], g[2]);
31       clusters->SetPointId(atp);
32     }
33   }
34
35   Warning("phos_clusters"," %d", clusters->Size());
36
37   if(clusters->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
38     Warning("phos_clusters", "No PHOS clusters");
39     delete clusters;
40     return 0;
41   }
42
43   clusters->SetMarkerStyle(2);
44   clusters->SetMarkerSize(0.5);
45   clusters->SetMarkerColor(4);
46
47   char form[1000];
48   sprintf(form,"PHOS Clusters");
49   clusters->SetName(form);
50
51   char tip[1000];
52   sprintf(tip,"N=%d", clusters->Size());
53   clusters->SetTitle(tip);
54   gEve->AddElement(clusters);
55   gEve->Redraw3D();
56
57   return clusters;
58 }