10 #include <TInterpreter.h>
15 #include <TEveManager.h>
16 #include <TEveSelection.h>
18 #include <AliEveEventManager.h>
19 #include <AliEveMultiView.h>
20 #include <AliEveMacro.h>
21 #include <AliEveMacroExecutor.h>
22 #include <AliEveTrackFitter.h>
23 #include <AliEveTrackCounter.h>
25 #include "../alice-macros/geom_gentle.C"
26 #include "../alice-macros/geom_gentle_trd.C"
27 #include "../alice-macros/geom_gentle_muon.C"
30 #include "AliEveMainWindow.h"
31 #include "AliEveUtil.h"
32 #include "AliEveFileDialog.h"
37 AliEveMainWindow::AliEveMainWindow(const char* title, UInt_t width, UInt_t height)
38 : TGMainFrame(gClient->GetRoot(), width, height),
44 fPicturePool = AliEveUtil::GetPicturePool();
46 static const TEveException kEH("AliEveMainWindow::AliEveMainWindow");
48 if(!fPicturePool) cout<< "Couldnt get a PicturePool"<<endl;
51 fEve = TEveManager::Create(kFALSE, "V");
52 gEve->GetDefaultViewer()->SetElementName("3D View");
53 gEve->GetSelection()->SetPickToSelect(TEveSelection::kPS_PableCompound);
54 gEve->GetHighlight()->SetPickToSelect(TEveSelection::kPS_PableCompound);
56 TString evedir(Form("%s/EVE", gSystem->Getenv("ALICE_ROOT")));
57 gEve->RegisterGeometryAlias("Default", Form("%s/alice-data/default_geo.root", evedir.Data()));
62 TGFrame* viewFrame = gEve->GetDefaultViewer()->GetGUIFrame();
63 viewFrame->MapWindow();
64 viewFrame->ReparentWindow(this);
66 AddFrame(viewFrame, new TGLayoutHints(kLHintsNormal | kLHintsExpandX | kLHintsExpandY , 3, 3, 3, 3));
74 gEve->Redraw3D(kTRUE);
75 gSystem->ProcessEvents();
78 AliEveMainWindow::~AliEveMainWindow()
83 void AliEveMainWindow::onMenuFileItem(UInt_t id)
88 if(!fFileDialog) fFileDialog = new AliEveFileDialog( gClient->GetRoot(), this, kAliEveFDLocal);
90 fFileDialog->setMode(kAliEveFDLocal);
91 fFileDialog->MapWindow();
93 if(fFileDialog->accepted()) {
94 AliEveEventManager::SetESDFileName(fFileDialog->GetPathESD());
95 AliEveEventManager::SetESDfriendFileName(fFileDialog->GetPathESDfriend());
96 AliEveEventManager::SetAODFileName(fFileDialog->GetPathAOD());
97 AliEveEventManager::AddAODfriend(fFileDialog->GetPathAODfriend());
98 AliEveEventManager::SetRawFileName(fFileDialog->GetPathRaw());
99 AliEveEventManager::SetCdbUri(fFileDialog->GetCDBStoragePath());
104 case MENU_FILE_OPEN_URL:
106 if(!fFileDialog) fFileDialog = new AliEveFileDialog( gClient->GetRoot(), this, kAliEveFDRemote);
108 fFileDialog->setMode(kAliEveFDRemote);
109 fFileDialog->MapWindow();
110 if(fFileDialog->accepted()) {
111 AliEveEventManager::SetFilesPath(fFileDialog->GetUrl());
112 AliEveEventManager::SetCdbUri(fFileDialog->GetCDBStoragePath());
117 if (fFileDialog->GetUrl().BeginsWith("alien:"))
121 Info("AliEveMainWindow::openFile", "TGrid already initializied. Skiping checks and initialization.");
125 Info("AliEveMainWindow::openFile", "AliEn requested - connecting.");
126 if (gSystem->Getenv("GSHELL_ROOT") == 0)
128 Error("AliEveMainWindow::openFile", "AliEn environment not initialized. Aborting.");
129 new TGMsgBox(gClient->GetRoot(), this, "AliEve", "AliEn environment not initialized. Aborting.", kMBIconStop);
132 if (TGrid::Connect("alien") == 0)
134 Error("AliEveMainWindow::openFile", "TGrid::Connect() failed. Aborting.");
135 new TGMsgBox(gClient->GetRoot(), this, "AliEve", "TGrid::Connect() failed. Aborting.", kMBIconStop);
153 void AliEveMainWindow::onMenuEditItem(UInt_t id)
158 void AliEveMainWindow::onMenuViewItem(UInt_t id)
163 void AliEveMainWindow::onMenuGoItem(UInt_t id)
166 case MENU_GO_NEXT_EVENT:
168 AliEveEventManager::GetMaster()->NextEvent();
171 case MENU_GO_PREV_EVENT:
173 AliEveEventManager::GetMaster()->PrevEvent();
182 TEveElement* top = gEve->GetCurrentEvent();
184 AliEveMultiView *mv = AliEveMultiView::Instance();
186 mv->ImportEventRPhi(top);
187 mv->ImportEventRhoZ(top);
189 gEve->Redraw3D(kTRUE);
192 void AliEveMainWindow::setupMenus()
194 fMenuBar = new TGMenuBar(this);
197 fMenuFile = new TGPopupMenu(gClient->GetRoot());
198 fMenuFile->AddEntry("&Open...", MENU_FILE_OPEN, 0, fPicturePool->GetPicture("menu/document-open.png"));
199 fMenuFile->AddEntry("&Open URL...", MENU_FILE_OPEN_URL, 0, fPicturePool->GetPicture("menu/document-open-remote.png"));
200 fMenuFile->AddSeparator();
201 fMenuFile->AddEntry("&Connect To Server...", MENU_FILE_OPEN_CONNECTION, 0, fPicturePool->GetPicture("menu/network-connect.png"));
202 fMenuFile->AddSeparator();
203 fMenuFile->AddEntry("Export View(s)...", MENU_FILE_EXPORT_VIEWS, 0, fPicturePool->GetPicture("menu/document-export.png"));
204 fMenuFile->AddSeparator();
205 fMenuFile->AddEntry("E&xit", MENU_FILE_EXIT, 0, fPicturePool->GetPicture("menu/application-exit.png"));
209 fMenuEdit = new TGPopupMenu(gClient->GetRoot());
210 fMenuEdit->AddEntry("&Undo", MENU_EDIT_UNDO, 0, fPicturePool->GetPicture("menu/edit-undo.png"));
211 fMenuEdit->AddEntry("&Redo", MENU_EDIT_REDO, 0, fPicturePool->GetPicture("menu/edit-redo.png"));
212 fMenuEdit->AddSeparator();
213 fMenuEdit->AddEntry("&Cut", MENU_EDIT_CUT, 0, fPicturePool->GetPicture("menu/edit-cut.png"));
214 fMenuEdit->AddEntry("C&opy", MENU_EDIT_COPY, 0, fPicturePool->GetPicture("menu/edit-copy.png"));
215 fMenuEdit->AddEntry("&Paste", MENU_EDIT_PASTE, 0, fPicturePool->GetPicture("menu/edit-paste.png"));
216 fMenuEdit->AddEntry("&Delete",MENU_EDIT_DELETE, 0, fPicturePool->GetPicture("menu/edit-delete.png"));
217 fMenuEdit->AddSeparator();
218 fMenuEdit->AddEntry("P&references", MENU_EDIT_PROP, 0, fPicturePool->GetPicture("menu/document-properties.png"));
222 fMenuView = new TGPopupMenu(gClient->GetRoot());
224 fMenuViewToolbars = new TGPopupMenu(gClient->GetRoot());
225 fMenuViewToolbars->AddEntry("&Main Toolbar", MENU_VIEW_TOOLBAR_MAIN);
226 fMenuViewToolbars->AddEntry("&Navigation Toolbar", MENU_VIEW_TOOLBAR_NAV);
227 fMenuView->AddPopup("Toolbars", fMenuViewToolbars);
229 fMenuViewSidebars = new TGPopupMenu(gClient->GetRoot());
230 fMenuViewSidebars->AddEntry("Hi&story", MENU_VIEW_TOOLBAR_HIST);
231 fMenuViewSidebars->AddEntry("&Properties", MENU_VIEW_TOOLBAR_NAV);
232 fMenuView->AddPopup("Sidebars", fMenuViewSidebars);
234 fMenuView->AddSeparator();
235 fMenuView->AddEntry("&Reload", MENU_VIEW_RELOAD, 0, fPicturePool->GetPicture("menu/view-refresh.png"));
236 fMenuView->AddSeparator();
237 fMenuView->AddEntry("Zoom &In", MENU_VIEW_ZOOM_IN, 0, fPicturePool->GetPicture("menu/zoom-in.png"));
238 fMenuView->AddEntry("Zoom &Out",MENU_VIEW_ZOOM_OUT, 0, fPicturePool->GetPicture("menu/zoom-out.png"));
239 fMenuView->AddEntry("Zoom &Reset",MENU_VIEW_ZOOM_RESET, 0, fPicturePool->GetPicture("menu/zoom-original.png"));
243 fMenuGo = new TGPopupMenu(gClient->GetRoot());
244 fMenuGo->AddEntry("&Next Event", MENU_GO_NEXT_EVENT, 0, fPicturePool->GetPicture("navigation/media-seek-forward.png"));
245 fMenuGo->AddEntry("P&revious Event", MENU_GO_PREV_EVENT, 0, fPicturePool->GetPicture("navigation/media-seek-backward.png"));
246 fMenuGo->AddSeparator();
247 fMenuGo->AddEntry("&First Event", MENU_GO_FIRST_EVENT,0, fPicturePool->GetPicture("navigation/media-skip-backward.png"));
248 fMenuGo->AddEntry("&Last Event", MENU_GO_LAST_EVENT, 0, fPicturePool->GetPicture("navigation/media-skip-forward.png"));
249 fMenuGo->AddSeparator();
250 fMenuGo->AddEntry("&Play", MENU_GO_PLAY, 0, fPicturePool->GetPicture("navigation/media-playback-start.png"));
254 fMenuTools = new TGPopupMenu(gClient->GetRoot());
255 fMenuTools->AddEntry("&QA Histograms", MENU_TOOLS_QA);
256 fMenuTools->AddEntry("&Macros", MENU_TOOLS_MACROS);
260 fMenuHelp = new TGPopupMenu(gClient->GetRoot());
261 fMenuHelp->AddEntry("&Contents", MENU_HELP_CONTENTS, 0, fPicturePool->GetPicture("menu/help-contents.png"));
262 fMenuHelp->AddEntry("&About", MENU_HELP_ABOUT, 0, fPicturePool->GetPicture("menu/help-about.png"));
265 // Add popupmenus to MenuBar
266 fMenuBar->AddPopup("&File", fMenuFile, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
267 fMenuBar->AddPopup("&Edit", fMenuEdit, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
268 fMenuBar->AddPopup("&View", fMenuView, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
269 fMenuBar->AddPopup("&Go", fMenuGo, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
270 fMenuBar->AddPopup("&Tools", fMenuTools, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
271 fMenuBar->AddPopup("&Help", fMenuHelp, new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0));
273 // MenuBar to the window
274 AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX));
277 fMenuFile->Connect("Activated(Int_t)", "AliEveMainWindow", this, "onMenuFileItem(Int_t)");
278 fMenuEdit->Connect("Activated(Int_t)", "AliEveMainWindow", this, "onMenuEditItem(Int_t)");
279 fMenuView->Connect("Activated(Int_t)", "AliEveMainWindow", this, "onMenuViewItem(Int_t)");
280 fMenuGo->Connect("Activated(Int_t)", "AliEveMainWindow", this, "onMenuGoItem(Int_t)");
283 void AliEveMainWindow::setupToolbars()
285 TGMenuEntry* tmpMenuEntry;
287 fToolBar = new TGToolBar(this);
289 tmpMenuEntry = fMenuFile->GetEntry("Open...");
290 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
291 tmpMenuEntry = fMenuFile->GetEntry("Open URL...");
292 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
293 tmpMenuEntry = fMenuFile->GetEntry("Connect To Server...");
294 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
295 tmpMenuEntry = fMenuFile->GetEntry("Export View(s)...");
296 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
298 fToolBar->AddFrame(new TGVertical3DLine(fToolBar), new TGLayoutHints(kLHintsExpandY));
300 tmpMenuEntry = fMenuView->GetEntry("Reload");
301 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
302 tmpMenuEntry = fMenuView->GetEntry("Zoom In");
303 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
304 tmpMenuEntry = fMenuView->GetEntry("Zoom Out");
305 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
306 tmpMenuEntry = fMenuView->GetEntry("Zoom Reset");
307 fToolBar->AddButton(this, new TGPictureButton(fToolBar, tmpMenuEntry->GetPic(), tmpMenuEntry->GetEntryId() ));
312 AddFrame(new TGHorizontal3DLine(this), new TGLayoutHints(kLHintsExpandX));
313 AddFrame(fToolBar, new TGLayoutHints(kLHintsNormal));
314 AddFrame(new TGHorizontal3DLine(this), new TGLayoutHints(kLHintsExpandX));
318 //fToolBar->Connect("Clicked(Int_t)", "RCMainWindow", this, "openFile()");
321 void AliEveMainWindow::loadFiles()
323 TString name("Event"); // CINT has trouble with direct "Event".
324 new AliEveEventManager(name, 0);
325 gEve->AddEvent(AliEveEventManager::GetMaster());
327 TEveUtil::AssertMacro("VizDB_scan.C");
329 AliEveMacroExecutor *exec = AliEveEventManager::GetMaster()->GetExecutor();
330 //==============================================================================
331 // Geometry, scenes, projections and viewers
332 //==============================================================================
334 AliEveMultiView *mv = new AliEveMultiView;
338 TEveUtil::LoadMacro("geom_gentle.C");
339 mv->InitGeomGentle(geom_gentle(), geom_gentle_rphi(), geom_gentle_rhoz(), 0);
342 TEveUtil::LoadMacro("geom_gentle_trd.C");
343 mv->InitGeomGentleTrd(geom_gentle_trd());
345 TEveUtil::LoadMacro("geom_gentle_muon.C");
346 mv->InitGeomGentleMuon(geom_gentle_muon(kFALSE), kTRUE, kTRUE, kFALSE);
350 //==============================================================================
351 // Registration of per-event macros
352 //==============================================================================
354 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Track", "kine_tracks.C", "kine_tracks", "", kFALSE));
356 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits ITS", "its_hits.C", "its_hits", "", kFALSE));
357 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits TPC", "tpc_hits.C", "tpc_hits", "", kFALSE));
358 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits T0", "t0_hits.C", "t0_hits", "", kFALSE));
359 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits FMD", "fmd_hits.C", "fmd_hits", "", kFALSE));
360 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits ACORDE", "acorde_hits.C", "acorde_hits", "", kFALSE));
361 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits EMCAL", "emcal_hits.C", "emcal_hits", "", kFALSE));
362 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits TOF", "tof_hits.C", "tof_hits", "", kFALSE));
363 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits TRD", "trd_hits.C", "trd_hits", "", kFALSE));
364 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hits VZERO", "vzero_hits.C", "vzero_hits", "", kFALSE));
366 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG ITS", "its_digits.C", "its_digits", "", kFALSE));
367 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG TPC", "tpc_digits.C", "tpc_digits", "", kFALSE));
368 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG TOF", "tof_digits.C", "tof_digits", "", kFALSE));
369 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG HMPID", "hmpid_digits.C","hmpid_digits","", kFALSE));
370 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG FMD", "fmd_digits.C", "fmd_digits", "", kFALSE));
372 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW ITS", "its_raw.C", "its_raw", "", kFALSE));
373 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW TPC", "tpc_raw.C", "tpc_raw", "", kFALSE));
374 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW TOF", "tof_raw.C", "tof_raw", "", kFALSE));
375 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW HMPID", "hmpid_raw.C", "hmpid_raw", "", kFALSE));
376 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW T0", "t0_raw.C", "t0_raw", "", kFALSE));
377 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW FMD", "fmd_raw.C", "fmd_raw", "", kFALSE));
378 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW VZERO", "vzero_raw.C", "vzero_raw", "", kFALSE));
379 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW ACORDE", "acorde_raw.C", "acorde_raw", "", kFALSE));
381 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX", "primary_vertex.C", "primary_vertex", "", kTRUE));
382 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Ellipse", "primary_vertex.C", "primary_vertex_ellipse", "", kTRUE));
383 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Box", "primary_vertex.C", "primary_vertex_box", "kFALSE, 3, 3, 3", kFALSE));
384 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX SPD", "primary_vertex.C", "primary_vertex_spd", "", kTRUE));
385 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Ellipse SPD", "primary_vertex.C", "primary_vertex_ellipse_spd", "", kTRUE));
386 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Box SPD", "primary_vertex.C", "primary_vertex_box_spd", "kFALSE, 3, 3, 3", kFALSE));
387 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX TPC", "primary_vertex.C", "primary_vertex_tpc", "", kFALSE));
388 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Ellipse TPC", "primary_vertex.C", "primary_vertex_ellipse_tpc", "", kFALSE));
389 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Box TPC", "primary_vertex.C", "primary_vertex_box_tpc", "kFALSE, 3, 3, 3", kFALSE));
391 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC V0", "esd_V0_points.C", "esd_V0_points_onfly"));
392 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC V0", "esd_V0_points.C", "esd_V0_points_offline"));
393 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC V0", "esd_V0.C", "esd_V0"));
394 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC CSCD", "esd_cascade_points.C", "esd_cascade_points"));
395 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC CSCD", "esd_cascade.C", "esd_cascade"));
396 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC KINK", "esd_kink_points.C", "esd_kink_points"));
397 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC KINK", "esd_kink.C", "esd_kink"));
399 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks", "esd_tracks.C", "esd_tracks", "", kFALSE));
400 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks ITS standalone", "esd_tracks.C", "esd_tracks_ITS_standalone", "", kFALSE));
401 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks ITS", "esd_tracks.C", "esd_tracks_ITS", "", kFALSE));
402 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks TPC", "esd_tracks.C", "esd_tracks_TPC", "", kFALSE));
403 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks MI", "esd_tracks.C", "esd_tracks_MI", "", kFALSE));
404 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks by category", "esd_tracks.C", "esd_tracks_by_category", "", kTRUE));
405 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks by anal cuts", "esd_tracks.C", "esd_tracks_by_anal_cuts", "", kFALSE));
406 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks Lego", "lego.C", "lego", "", kFALSE));
407 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks Beams Info", "beams_info.C", "beams_info", "", kFALSE));
409 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracklets SPD", "esd_spd_tracklets.C", "esd_spd_tracklets", "", kTRUE));
411 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC ZDC", "esd_zdc.C", "esd_zdc", "", kFALSE));
413 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters", "clusters.C", "clusters", "", kFALSE));
414 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters ITS", "its_clusters.C", "its_clusters"));
415 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters TPC", "tpc_clusters.C", "tpc_clusters"));
416 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters TRD", "trd_clusters.C", "trd_clusters"));
417 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters TOF", "tof_clusters.C", "tof_clusters"));
418 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters HMPID", "hmpid_clusters.C", "hmpid_clusters"));
419 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters PHOS", "phos_clusters.C", "phos_clusters"));
421 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters TPC", "vplot_tpc.C", "vplot_tpc", "", kFALSE));
423 exec->AddMacro(new AliEveMacro(AliEveMacro::kAOD, "ANA HF", "aod_HF.C", "aod_HF", "", kFALSE));
424 exec->AddMacro(new AliEveMacro(AliEveMacro::kAOD, "ANA Jets", "jetplane.C", "jetplane", "", kFALSE));
426 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "DUMP VZERO", "vzero_dump.C", "vzero_dump", "", kFALSE));
429 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM TrackRef MUON", "muon_trackRefs.C", "muon_trackRefs", "kTRUE", kFALSE));
430 exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW MUON", "muon_raw.C", "muon_raw", "", kFALSE));
431 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG MUON", "muon_digits.C", "muon_digits", "", kFALSE));
432 exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "REC Clusters MUON", "muon_clusters.C", "muon_clusters", "", kTRUE));
433 exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC Tracks MUON", "esd_muon_tracks.C", "esd_muon_tracks", "kTRUE,kFALSE", kTRUE));
436 //==============================================================================
437 // AliEve objects - global tools
438 //==============================================================================
440 AliEveTrackFitter* fitter = new AliEveTrackFitter();
441 gEve->AddToListTree(fitter, 1);
442 gEve->AddElement(fitter, gEve->GetEventScene());
444 AliEveTrackCounter* g_trkcnt = new AliEveTrackCounter("Primary Counter");
445 gEve->AddToListTree(g_trkcnt, kFALSE);
447 // A refresh to show proper window.
448 //gEve->GetViewers()->SwitchColorSet();
449 gEve->Redraw3D(kTRUE);
450 gSystem->ProcessEvents();
452 // Register command to call on each event.
453 // AliEveEventManager::GetMaster()->AddNewEventCommand("on_new_event();");
454 AliEveEventManager::GetMaster()->GotoEvent(0);
456 gEve->Redraw3D(kTRUE);