]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/macros/visscan_init.C
AliEveEventManager
[u/mrichter/AliRoot.git] / EVE / macros / visscan_init.C
index b43592821a2e580a0c25632b49eb3fc05ce6bb39..ce0eb318e50618139dbdea30306e3b45974984fa 100644 (file)
@@ -14,8 +14,10 @@ class TEveUtil;
 R__EXTERN TEveProjectionManager *gRPhiMgr;
 R__EXTERN TEveProjectionManager *gRhoZMgr;
 
-TEveGeoShape *gGeomGentle    = 0;
-TEveGeoShape *gGeomGentleTRD = 0;
+TEveGeoShape *gGeomGentle     = 0;
+TEveGeoShape *gGeomGentleRPhi = 0;
+TEveGeoShape *gGeomGentleRhoZ = 0;
+TEveGeoShape *gGeomGentleTRD  = 0;
 
 Bool_t gShowTRD = kFALSE;
 
@@ -24,43 +26,14 @@ void visscan_init()
   TEveUtil::LoadMacro("alieve_init.C");
   alieve_init(".", -1);
 
-  TEveUtil::LoadMacro("geom_gentle.C");
-  if (gShowTRD) TEveUtil::LoadMacro("geom_gentle_trd.C");
-
-  TEveUtil::LoadMacro("primary_vertex.C");
-  TEveUtil::LoadMacro("esd_V0_points.C");
-  TEveUtil::LoadMacro("esd_V0.C");
-  TEveUtil::LoadMacro("esd_tracks.C");
-  TEveUtil::LoadMacro("its_clusters.C+");
-  TEveUtil::LoadMacro("tpc_clusters.C+");
-  TEveUtil::LoadMacro("trd_clusters.C+");
-  TEveUtil::LoadMacro("tof_clusters.C+");
-
-  TEveLine::SetDefaultSmooth(1);
-
-  /*
-  TEveViewer* nv = gEve->SpawnNewViewer("NLT Projected");
-  TEveScene*  ns = gEve->SpawnNewScene("NLT");
-  nv->AddScene(ns);
-  TGLViewer* v = nv->GetGLViewer();
-  v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
-  TGLCameraMarkupStyle* mup = v->GetCameraMarkup();
-  if(mup) mup->SetShow(kFALSE);
-  */
-
   AliEveTrackFitter* fitter = new AliEveTrackFitter();
   gEve->AddToListTree(fitter, 1);
   gEve->AddElement(fitter, gEve->GetEventScene());
 
-  TEveTrackCounter* g_trkcnt = new TEveTrackCounter("Primary Counter");
+  AliEveTrackCounter* g_trkcnt = new AliEveTrackCounter("Primary Counter");
   gEve->AddToListTree(g_trkcnt, kFALSE);
 
 
-  // geometry
-  gGeomGentle    = geom_gentle();
-  if (gShowTRD) gGeomGentleTRD = geom_gentle_trd();
-
-
   gROOT->ProcessLine(".L SplitGLView.C+");
   TEveBrowser* browser = gEve->GetBrowser();
   browser->ExecPlugin("SplitGLView", 0, "new SplitGLView(gClient->GetRoot(), 600, 450, kTRUE)");
@@ -82,9 +55,39 @@ void visscan_init()
       gEve->GetScenes()->FindChild("Rho-Z Projection")->AddElement(a);
    }
 
+  // geometry
+  TEveUtil::LoadMacro("geom_gentle.C");
+  gGeomGentle     = geom_gentle();
+  gGeomGentleRPhi = geom_gentle_rphi(); gGeomGentleRPhi->IncDenyDestroy();
+  gGeomGentleRhoZ = geom_gentle_rhoz(); gGeomGentleRhoZ->IncDenyDestroy();
+  if (gShowTRD) {
+    TEveUtil::LoadMacro("geom_gentle_trd.C");
+    gGeomGentleTRD = geom_gentle_trd();
+  }
+
+  // event data
+  TEveUtil::LoadMacro("primary_vertex.C");
+  TEveUtil::LoadMacro("esd_V0_points.C");
+  TEveUtil::LoadMacro("esd_V0.C");
+  TEveUtil::LoadMacro("esd_tracks.C");
+  TEveUtil::LoadMacro("its_clusters.C+");
+  TEveUtil::LoadMacro("tpc_clusters.C+");
+  TEveUtil::LoadMacro("trd_clusters.C+");
+  TEveUtil::LoadMacro("tof_clusters.C+");
+
+  // TEveLine::SetDefaultSmooth(1);
+
+  TEveBrowser* browser = gEve->GetBrowser();
+
+  browser->StartEmbedding(TRootBrowser::kBottom);
+  new AliEveEventManagerWindow(AliEveEventManager::GetMaster());
+  browser->StopEmbedding("EventCtrl");
+
   // event
-  gAliEveEvent->AddNewEventCommand("on_new_event();");
-  gAliEveEvent->GotoEvent(0);
+  AliEveEventManager::GetMaster()->AddNewEventCommand("on_new_event();");
+  AliEveEventManager::GetMaster()->GotoEvent(0);
+
+  gEve->EditElement(g_trkcnt);
 
   gEve->Redraw3D(kTRUE);
 }
@@ -122,24 +125,30 @@ void on_new_event()
     printf("Exception loading ITS/TPC clusters: %s\n", exc.Data());
   }
 
-  primary_vertex(1, 1);
+  primary_vertex();
+  primary_vertex_ellipse();
+  primary_vertex_spd();
+  primary_vertex_ellipse_spd();
+
   esd_V0_points();
   esd_V0();
 
-  TEveElementList* cont = esd_tracks_vertex_cut();
+  AliEveTrackCounter* g_trkcnt = AliEveTrackCounter::fgInstance;
+  g_trkcnt->Reset();
+  g_trkcnt->SetEventId(AliEveEventManager::GetMaster()->GetEventId());
+
+  TEveElementList* cont = esd_tracks_by_category();
 
-  // Here we expect five TEveTrackList containers.
+  // Here we expect several TEveTrackList containers.
   // First two have reasonable primaries (sigma-to-prim-vertex < 5).
-  // Other three are almost certainly secondaries.
+  // Others are almost certainly secondaries.
   Int_t count = 1;
-  TEveTrackCounter* g_trkcnt = TEveTrackCounter::fgInstance;
-  g_trkcnt->Reset();
-  g_trkcnt->SetEventId(gAliEveEvent->GetEventId());
   TEveElement::List_i i = cont->BeginChildren();
-  while (i != cont->EndChildren()) {
+  while (i != cont->EndChildren())
+  {
     TEveTrackList* l = dynamic_cast<TEveTrackList*>(*i);
-    if (l != 0) {
-      // l->SetLineWidth(2);
+    if (l != 0)
+    {
       g_trkcnt->RegisterTracks(l, (count <= 2));
       ++count;
     }
@@ -163,45 +172,17 @@ void on_new_event()
   if (gRPhiMgr && top) {
     gRPhiMgr->DestroyElements();
     gRPhiMgr->SetCenter(x[0], x[1], x[2]);
-    gRPhiMgr->ImportElements(gGeomGentle);
+    gRPhiMgr->ImportElements(gGeomGentleRPhi);
     if (gShowTRD) gRPhiMgr->ImportElements(gGeomGentleTRD);
     gRPhiMgr->ImportElements(top);
   }
   if (gRhoZMgr && top) {
     gRhoZMgr->DestroyElements();
     gRhoZMgr->SetCenter(x[0], x[1], x[2]);
-    gRhoZMgr->ImportElements(gGeomGentle);
+    gRhoZMgr->ImportElements(gGeomGentleRhoZ);
     if (gShowTRD) gRhoZMgr->ImportElements(gGeomGentleTRD);
     gRhoZMgr->ImportElements(top);
   }
 
   gROOT->ProcessLine("SplitGLView::UpdateSummary()");
 }
-
-/******************************************************************************/
-
-TParticle* id(Int_t label=0, Bool_t showParents=kTRUE)
-{
-  AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
-  rl->LoadKinematics();
-  AliStack* stack = rl->Stack();
-
-  printf("Number primaries %d, all particles %d, label %d\n",
-        stack->GetNprimary(), stack->GetNtrack(), label);
-  if (label < 0 || label >= stack->GetNtrack()) {
-    printf("  Label exceeds available range.\n");
-    return 0;
-  }
-
-  TParticle* part = stack->Particle(label);
-  if (part != 0) {
-    part->Print();
-    if (showParents) {
-      while (part->GetMother(0) >= 0) {
-       part = stack->Particle(part->GetMother(0));
-       part->Print();
-      }
-    }
-  }
-  return stack->Particle(label);
-}