]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/jetplane.C
From Pawel Debski.
[u/mrichter/AliRoot.git] / EVE / alice-macros / jetplane.C
index 4059191367b4f540ba7404111c08723b27931ef7..49b7c62f87176a72af1c2b2cc7b77e97c171a011 100644 (file)
@@ -4,27 +4,47 @@
 /**************************************************************************
  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
- * full copyright notice.                                                 * 
+ * full copyright notice.                                                 *
  **************************************************************************/
-AliEveJetPlane* jetplane(Int_t iev)
-{      
-  TFile* f       = new TFile("aod.root");
-  TTree* treeAOD = (TTree*) f->Get("AOD");
-  AliAODEvent* aod = new AliAODEvent();
-  aod->ReadFromTree(treeAOD);
-  treeAOD->GetEntry(iev);
+
+TEveViewer *gJPView   = 0;
+TEveScene  *gJPScene  = 0;
+
+AliEveJetPlane* jetplane()
+{
+  if (gJPView == 0)
+  {
+    TEveWindowSlot *slot    = 0;
+    TEveBrowser    *browser = gEve->GetBrowser();
+
+    slot = TEveWindow::CreateWindowInTab(browser->GetTabRight());
+    slot->MakeCurrent();
+    gJPView  = gEve->SpawnNewViewer("JetPlane", "");
+    gJPScene = gEve->SpawnNewScene("JetPlane", "Scene holding elements of the jet-plane view.");
+    gJPView->AddScene(gJPScene);
+
+    gJPView->GetGLViewer()->SetCurrentCamera(TGLViewer::kCameraPerspXOY);
+  }
+
+  AliAODEvent* aod = AliEveEventManager::AssertAOD();
+  
+  // We have event id everywhere now.
+  Int_t iev = AliEveEventManager::GetMaster()->GetEventId();
+
+  gStyle->SetPalette(1, 0);
 
   AliEveJetPlane* jp = new AliEveJetPlane(iev);
+  jp->SetPickable(kTRUE);
 
   // Read Jets in current event
 
   TClonesArray* jets = aod->GetJets();
   Int_t njets = jets->GetEntries();
-  printf("AliEveEventManager: %5d Number of jets: %5d \n", iev, njets);
+  printf("Event: %5d Number of jets: %5d \n", iev, njets);
 
   for (Int_t ij = 0; ij < njets; ij++)
   {
-    AliAODJet jet = (AliAODJet) jets->At(ij);
+    AliAODJet *jet = (AliAODJet*) jets->At(ij);
     jp->AddJet(jet);
   }
 
@@ -32,17 +52,20 @@ AliEveJetPlane* jetplane(Int_t iev)
 
   TClonesArray* tracks = aod->GetTracks();
   Int_t ntracks = tracks->GetEntries();
-  printf("AliEveEventManager: %5d Number of tracks: %5d \n", iev, ntracks);
+  printf("Event: %5d Number of tracks: %5d \n", iev, ntracks);
 
   for (Int_t ij = 0; ij < ntracks; ij++)
   {
-    AliAODTrack track = (AliAODTrack) tracks->At(ij);
+    AliAODTrack* track = (AliAODTrack*) tracks->At(ij);
     jp->AddTrack(track);
   }
 
+  jp->CreateArrows();
+
   // Render Jet Plane
-  gStyle->SetPalette(1, 0);
-  gEve->AddElement(jp);
+  gJPScene->AddElement(jp);
+  AliEveEventManager::RegisterTransient(jp);
+
   gEve->Redraw3D();
 
   return jp;