]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New macro, loads TrackPoints from ESDtrack for a given label.
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Jun 2006 19:30:35 +0000 (19:30 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 12 Jun 2006 19:30:35 +0000 (19:30 +0000)
EVE/alice-macros/clusters_from_label.C [new file with mode: 0644]

diff --git a/EVE/alice-macros/clusters_from_label.C b/EVE/alice-macros/clusters_from_label.C
new file mode 100644 (file)
index 0000000..d79afc5
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id$
+
+void clusters_from_label(Int_t label=0)
+{
+  AliESD* esd = Alieve::Event::AssertESD();
+  TPolyMarker3D* clusters = new TPolyMarker3D(64);
+
+  for (Int_t n=0; n<esd->GetNumberOfTracks(); n++) {
+    AliESDtrack* at = esd->GetTrack(n);
+    if (at->GetLabel() == label) {
+      const AliTrackPointArray* pArr = at->GetTrackPointArray();
+      if (pArr == 0) {
+       Warning("clusters_from_label", "TrackPointArray not stored with ESD track.");
+       continue;
+      }
+      Int_t np =  pArr->GetNPoints();
+      const Float_t* x = pArr->GetX();
+      const Float_t* y = pArr->GetY();
+      const Float_t* z = pArr->GetZ();
+      for (Int_t i=0; i<np; ++i) {
+       clusters->SetNextPoint(x[i], y[i], z[i]);
+      }
+    }
+  }
+  clusters->SetMarkerStyle(2);
+  clusters->SetMarkerSize(5);
+  clusters->SetMarkerColor(4);
+  clusters->SetName(Form("Clusters lab=%d", label));
+
+  using namespace Reve;
+  Color_t* colp = FindColorVar(clusters, "fMarkerColor");
+  RenderElementObjPtr* rnrEl = new RenderElementObjPtr(clusters, *colp);
+  gReve->AddRenderElement(rnrEl);
+  gReve->DrawRenderElement(rnrEl);
+}