-//-*- Mode: C++ -*-\r
-\r
-// ** USED macros :\r
-// ***************************************************\r
-// - hlt_alieve_init.C\r
-// - VizDB_scan.C\r
-// - geom_gentle_hlt.C\r
-// - geom_gentle_muon.C\r
-// ***************************************************\r
-\r
-#if !defined(__CINT__) || defined(__MAKECINT__)\r
-\r
-//****************** ROOT ******************************************\r
-#include "TRandom.h"\r
-#include "TVirtualPad.h"\r
-#include "TGLViewer.h"\r
-#include "TThread.h"\r
-#include "TGFileBrowser.h"\r
-#include "TStyle.h"\r
-#include "TList.h"\r
-#include "TDirectory.h"\r
-#include "TFile.h"\r
-#include "TH2.h"\r
-#include "TCanvas.h"\r
-#include "TColor.h"\r
-#include "TVector3.h"\r
-\r
-//****************** ROOT/EVE **************************************\r
-#include "TEveManager.h"\r
-\r
-#include "AliEveHOMERManager.h"\r
-#include "AliEveHLTEventManager.h"\r
-#include "geom_gentle_hlt.C"\r
-\r
-//***************************************************************\r
-#include "HLT/rec/AliHLTReconstructor.h"\r
-\r
-\r
-\r
-#endif\r
-\r
-\r
-\r
-// -----------------------------------------------------------------\r
-// -- Geometry / Scenes --\r
-// -----------------------------------------------------------------\r
-\r
-TEveGeoShape *gGeomGentle = 0;\r
-TEveGeoShape *gGeomGentleRPhi = 0;\r
-TEveGeoShape *gGeomGentleRhoZ = 0;\r
-TEveGeoShape *gGeomGentleTRD = 0;\r
-TEveGeoShape *gGeomGentleMUON = 0;\r
-\r
-TEveScene *gRPhiGeomScene = 0;\r
-TEveScene *gRhoZGeomScene = 0;\r
-TEveScene *gRPhiEventScene = 0;\r
-TEveScene *gRhoZEventScene = 0;\r
-\r
-TEveProjectionManager *gRPhiMgr = 0;\r
-TEveProjectionManager *gRhoZMgr = 0;\r
-\r
-TEveViewer *g3DView = 0;\r
-TEveViewer *gRPhiView = 0;\r
-TEveViewer *gRhoZView = 0;\r
-\r
-// -----------------------------------------------------------------\r
-// -- Geometry / Scenes Parameters --\r
-// -----------------------------------------------------------------\r
-\r
-// -- Parameters to show different geometries\r
-Bool_t gShowMUON = kTRUE;\r
-Bool_t gShowMUONRPhi = kFALSE;\r
-Bool_t gShowMUONRhoZ = kTRUE;\r
-Bool_t gShowTRD = kFALSE;\r
-\r
-\r
-// -- HOMERManager\r
-AliEveHOMERManager* gHomerManager = 0;\r
-AliEveHLTEventManager* geventManager = 0;\r
-\r
-// -- Geometry Manager \r
-TGeoManager* gGeoManager = 0;\r
-\r
-\r
-//Container for gGeoManager till it is broken\r
-TGeoManager *fGeoManager = 0;\r
-// -----------------------------------------------------------------\r
-// -- Methods --\r
-// -----------------------------------------------------------------\r
-\r
-Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon );\r
-\r
-void writeToFile();\r
-\r
-\r
-// #################################################################\r
-// #################################################################\r
-// #################################################################\r
-\r
-// -----------------------------------------------------------------\r
-void od ( Bool_t showBarrel = kTRUE, Bool_t showMuon = kFALSE ) {\r
-\r
- // -- Loading Geometry\r
- // ---------------------\r
- Int_t run = 0;\r
- AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");\r
- AliCDBManager::Instance()->SetRun(run);\r
- AliGeomManager::LoadGeometry();\r
- // The default in the simulation is the following line\r
- // TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1, AliMagF::k5kG));\r
- // However for the current setting of +ve L3 and +ve Dipole magnetic field\r
- // the following setting creates the field close to real field with currect polarity\r
- if(showMuon)\r
- TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1, AliMagF::k5kG));\r
-\r
- // Get the pointer to gGeoManager before it's broken (bug in alieve)\r
- fGeoManager = gGeoManager;\r
-\r
- // -- Initialize pointsets and add macros\r
- // ----------------------------------------\r
- //TEveUtil::LoadMacro("hlt_alieve_init.C");\r
- //hlt_alieve_init(".", -1);\r
-\r
- // -- Initialize Eve\r
- // -------------------\r
- cout << "Initializing the EVE viewer"<<endl;\r
- initializeEveViewer( showBarrel, showMuon, fGeoManager );\r
-\r
- // -- Reset gGeoManager to the original pointer\r
- // ----------------------------------------------\r
-\r
- // -- Finalize Eve\r
- // -----------------\r
- gSystem->ProcessEvents();\r
- gEve->Redraw3D(kTRUE);\r
-\r
- // -- Create new hM object\r
- // -------------------------\r
-\r
- cout << "Creating the Event Manager"<<endl;\r
- gEventManager = new AliEveHLTEventManagerHomer();\r
- gEventManager->SetShowMuon(showMuon);\r
- gEventManager->SetEveManager(gEve);\r
- gEventManager->SetGeoManager(gGeoManager);\r
- gEventManager->SetRPhiManager(gRPhiMgr);\r
- gEventManager->SetRPhiEventScene(gRPhiEventScene);\r
- gEventManager->SetRPhiViewer(gRPhiView);\r
- gEventManager->SetRhoZManager(gRhoZMgr);\r
- gEventManager->SetRhoZEventScene(gRhoZEventScene);\r
- gEventManager->SetRhoZViewer(gRhoZView);\r
- \r
- //gEventManager->SetBarrelFlag(showBarrel);\r
- //gEventManager->SetMuonFlag(showMuon);\r
-\r
- // Int_t iResult = gHomerManager->Initialize();\r
- // if (iResult) { \r
- // printf("Error Initializing AliHLTHOMERManager, quitting");\r
- // return; \r
- // }\r
- \r
- // gEventManager->SetHomerManager(gHomerManager);\r
-\r
- // -- Add hM to EveTree\r
- // ----------------------\r
- //gEve->AddToListTree(gHomerManager, kTRUE);\r
- gEve->AddToListTree(gEventManager, kTRUE);\r
-\r
- // -- Create SourceList\r
- // ----------------------\r
- // iResult = gHomerManager->CreateEveSourcesListLoop();\r
- // if (iResult) {\r
- // printf ("Couldn't find active services. Giving up. \n");\r
- // return;\r
- // } \r
-\r
-\r
- // if ( showBarrel ) {\r
- // gHomerManager->ConnectEVEtoHOMER("TPC" );\r
- // } else if ( MUONMode ) {\r
- // gHomerManager->ConnectEVEtoHOMER("MUON");\r
- // } else if( TRDMode ) {\r
- // gHomerManager->ConnectEVEtoHOMER("TRD"); \r
- // } else {\r
- // cout<<" No detectors selected, nothing will be displayed"<<endl;\r
- // } \r
- // THIS LINE DOES NOT WORK. PLEASE USE ANOTHER LINE!\r
-\r
-\r
- gGeoManager = fGeoManager;\r
- \r
-\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon, TGeoManager * manager ) {\r
- \r
- //=============================================================================\r
- // Visualization database\r
- //============================================================================\r
-\r
- TEveUtil::AssertMacro("VizDB_scan.C");\r
- \r
- // alieve_vizdb();\r
- \r
-\r
-\r
- //==============================================================================\r
- // -- Geometry, scenes, projections and viewers\r
- //==============================================================================\r
-\r
- TEveBrowser *browser = gEve->GetBrowser();\r
- browser->ShowCloseTab(kFALSE);\r
- \r
- // -- Disable extra geometry\r
- // ---------------------------\r
- if (!showMuon)\r
- gShowMUON = gShowMUONRPhi = gShowMUONRhoZ = kFALSE;\r
- \r
- // -- Load Geometry\r
- // ------------------\r
- TEveUtil::LoadMacro("geom_gentle_hlt.C");\r
- gGeomGentle = geom_gentle_hlt();\r
- gGeomGentleRPhi = geom_gentle_rphi(); gGeomGentleRPhi->IncDenyDestroy();\r
- gGeomGentleRhoZ = geom_gentle_rhoz(); gGeomGentleRhoZ->IncDenyDestroy();\r
- gGeomGentleTRD = geom_gentle_trd();\r
-\r
- gGeoManager = fGeoManager;\r
-\r
- gEMCALNode = gGeoManager->GetTopVolume()->FindNode("XEN1_1");\r
-\r
- TEveGeoTopNode* emcal_re = new TEveGeoTopNode(gGeoManager, gEMCALNode);\r
- emcal_re->SetVisLevel(1);\r
- // emcal_re->FirstChild()->Dump();\r
-\r
- // for(Int_t i = 4; i < 11; i++) {\r
- // emcal_re->FindChild(Form("SMOD_%d", i))->SetRnrState(kFALSE);\r
- // }\r
- // emcal_re->FindChild("SM10_1")->SetRnrState(kFALSE);\r
- // emcal_re->FindChild("SM10_2")->SetRnrState(kFALSE);\r
-\r
-\r
-\r
- gEve->AddGlobalElement(emcal_re);\r
- gEve->Redraw3D();\r
-\r
- if (gShowMUON) \r
- gGeomGentleMUON = geom_gentle_muon(kFALSE);\r
- \r
- // -- Scenes\r
- // -----------\r
- gRPhiGeomScene = gEve->SpawnNewScene("RPhi Geometry",\r
- "Scene holding projected geometry for the RPhi view.");\r
- gRhoZGeomScene = gEve->SpawnNewScene("RhoZ Geometry",\r
- "Scene holding projected geometry for the RhoZ view.");\r
- gRPhiEventScene = gEve->SpawnNewScene("RPhi Event Data",\r
- "Scene holding projected geometry for the RPhi view.");\r
- gRhoZEventScene = gEve->SpawnNewScene("RhoZ Event Data",\r
- "Scene holding projected geometry for the RhoZ view.");\r
-\r
- // -- Projection managers\r
- // ------------------------\r
-\r
- gRPhiMgr = new TEveProjectionManager();\r
- gRPhiMgr->SetProjection(TEveProjection::kPT_RPhi);\r
- gEve->AddToListTree(gRPhiMgr, kFALSE);\r
- {\r
- TEveProjectionAxes* a = new TEveProjectionAxes(gRPhiMgr);\r
- a->SetMainColor(kWhite);\r
- a->SetTitle("R-Phi");\r
- a->SetTitleSize(0.05);\r
- a->SetTitleFont(102);\r
- a->SetLabelSize(0.025);\r
- a->SetLabelFont(102);\r
- gRPhiGeomScene->AddElement(a);\r
- }\r
- gRPhiMgr->SetCurrentDepth(-10);\r
- gRPhiMgr->ImportElements(gGeomGentleRPhi, gRPhiGeomScene);\r
- gRPhiMgr->SetCurrentDepth(0);\r
- gRPhiMgr->ImportElements(gGeomGentleTRD, gRPhiGeomScene);\r
- if (gShowMUONRPhi) gRPhiMgr->ImportElements(gGeomGentleMUON, gRPhiGeomScene);\r
-\r
- gRhoZMgr = new TEveProjectionManager();\r
- gRhoZMgr->SetProjection(TEveProjection::kPT_RhoZ);\r
- gEve->AddToListTree(gRhoZMgr, kFALSE);\r
- {\r
- TEveProjectionAxes* a = new TEveProjectionAxes(gRhoZMgr);\r
- a->SetMainColor(kWhite);\r
- a->SetTitle("Rho-Z");\r
- a->SetTitleSize(0.05);\r
- a->SetTitleFont(102);\r
- a->SetLabelSize(0.025);\r
- a->SetLabelFont(102);\r
- gRhoZGeomScene->AddElement(a);\r
- }\r
- gRhoZMgr->SetCurrentDepth(-10);\r
- gRhoZMgr->ImportElements(gGeomGentleRhoZ, gRhoZGeomScene);\r
- gRhoZMgr->SetCurrentDepth(0);\r
- gRhoZMgr->ImportElements(gGeomGentleTRD, gRhoZGeomScene);\r
- \r
- if (gShowMUONRhoZ) gRhoZMgr->ImportElements(gGeomGentleMUON, gRhoZGeomScene);\r
-\r
- // -- Viewers\r
- // ------------\r
-\r
- TEveWindowSlot *slot = TEveWindow::CreateWindowInTab(browser->GetTabRight());\r
- TEveWindowPack *pack = slot->MakePack();\r
- pack->SetElementName("Multi View");\r
- pack->SetHorizontal();\r
- pack->SetShowTitleBar(kFALSE);\r
- pack->NewSlot()->MakeCurrent();\r
- g3DView = gEve->SpawnNewViewer("3D View", "");\r
- g3DView->AddScene(gEve->GetGlobalScene());\r
- g3DView->AddScene(gEve->GetEventScene());\r
-\r
-\r
- pack = pack->NewSlot()->MakePack();\r
- pack->SetShowTitleBar(kFALSE);\r
- pack->NewSlot()->MakeCurrent();\r
- gRPhiView = gEve->SpawnNewViewer("RPhi View", "");\r
- gRPhiView->GetGLViewer()->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);\r
- gRPhiView->AddScene(gRPhiGeomScene);\r
- gRPhiView->AddScene(gRPhiEventScene);\r
-\r
- pack->NewSlot()->MakeCurrent();\r
- gRhoZView = gEve->SpawnNewViewer("RhoZ View", "");\r
- gRhoZView->GetGLViewer()->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);\r
- gRhoZView->AddScene(gRhoZGeomScene);\r
- gRhoZView->AddScene(gRhoZEventScene);\r
-\r
-\r
- \r
- //Add HLT Text to windows\r
- \r
- TGLOverlayButton *ob1 = new TGLOverlayButton(g3DView->GetGLViewer(), "HLT", 0, 20, 110, 60);\r
- ob1->SetAlphaValues(0.8, 0.8);\r
- // cout << "color" << ob1->GetBackColor() << endl;\r
- //ob1->SetBackColor(8421631);\r
- //ob1->SetBackColor(10492431);\r
- TGLOverlayButton *ob2 = new TGLOverlayButton(g3DView->GetGLViewer(), "ALICE", 0, 0, 110, 20);\r
- ob2->SetAlphaValues(0.8, 0.8);\r
- //ob2->SetBackColor(0.2);\r
- TGLOverlayButton *ob3 = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "HLT", 0, 20, 110, 60);\r
- ob3->SetAlphaValues(0.8, 0.8);\r
- TGLOverlayButton *ob4 = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "ALICE", 0, 0, 110, 20);\r
- ob4->SetAlphaValues(0.8, 0.8);\r
-\r
-\r
- TGLOverlayButton *ne = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "Next Event", 110, 0, 210, 20);\r
- ne->SetAlphaValues(0.0, 0.8);\r
-\r
- // -- List of Viewers\r
- // --------------------\r
-\r
- TEveViewerList *viewerlist = new TEveViewerList();\r
- viewerlist->AddElement(gEve->GetDefaultViewer());\r
- \r
- viewerlist->AddElement(g3DView);\r
- viewerlist->AddElement(gRhoZView);\r
- viewerlist->AddElement(gRPhiView);\r
- viewerlist->SwitchColorSet();\r
-\r
- //==============================================================================\r
- // -- Macros / QA histograms\r
- //==============================================================================\r
-\r
- // -- Registration of per-event macros\r
- // -------------------------------------\r
-\r
- AliEveMacroExecutor *exec = new AliEveMacroExecutor();\r
-\r
-\r
-\r
- gStyle->SetPalette(1, 0);\r
- gStyle->SetOptFit(1);\r
-\r
-\r
- \r
- return 0;\r
-}\r
-\r
-//****************************************************************************\r
-void writeToFile(){\r
-\r
- TList * bList = gHomerManager->GetBlockList();\r
- if(bList){\r
- TFile * file = TFile::Open(Form("Event_0x%016X_ITS.root", gHomerManager->GetEventID()), "RECREATE"); \r
- bList->Write("blockList", TObject::kSingleKey);\r
- file->Close();\r
- }\r
- \r
- bList = gHomerManager->GetAsyncBlockList();\r
- if(bList){\r
- TFile * afile = TFile::Open(Form("Event_0x%016X_Async.root", gHomerManager->GetEventID()), "RECREATE"); \r
- bList->Write("blockList", TObject::kSingleKey);\r
- afile->Close();\r
- }\r
-}\r
-\r
-\r
-\r
- \r
+//-*- Mode: C++ -*-
+
+// ** USED macros :
+// ***************************************************
+// - hlt_alieve_init.C
+// - VizDB_scan.C
+// - geom_gentle_hlt.C
+// - geom_gentle_muon.C
+// ***************************************************
+
+#if !defined(__CINT__) || defined(__MAKECINT__)
+
+//****************** ROOT ******************************************
+#include "TRandom.h"
+#include "TVirtualPad.h"
+#include "TGLViewer.h"
+#include "TThread.h"
+#include "TGFileBrowser.h"
+#include "TStyle.h"
+#include "TList.h"
+#include "TDirectory.h"
+#include "TFile.h"
+#include "TH2.h"
+#include "TCanvas.h"
+#include "TColor.h"
+#include "TVector3.h"
+
+//****************** ROOT/EVE **************************************
+#include "TEveManager.h"
+
+#include "AliEveHOMERManager.h"
+#include "AliEveHLTEventManager.h"
+#include "geom_gentle_hlt.C"
+
+//***************************************************************
+#include "HLT/rec/AliHLTReconstructor.h"
+
+
+
+#endif
+
+
+
+// -----------------------------------------------------------------
+// -- Geometry / Scenes --
+// -----------------------------------------------------------------
+
+TEveGeoShape *gGeomGentle = 0;
+TEveGeoShape *gGeomGentleRPhi = 0;
+TEveGeoShape *gGeomGentleRhoZ = 0;
+TEveGeoShape *gGeomGentleTRD = 0;
+TEveGeoShape *gGeomGentleMUON = 0;
+
+TEveScene *gRPhiGeomScene = 0;
+TEveScene *gRhoZGeomScene = 0;
+TEveScene *gRPhiEventScene = 0;
+TEveScene *gRhoZEventScene = 0;
+
+TEveProjectionManager *gRPhiMgr = 0;
+TEveProjectionManager *gRhoZMgr = 0;
+
+TEveViewer *g3DView = 0;
+TEveViewer *gRPhiView = 0;
+TEveViewer *gRhoZView = 0;
+
+// -----------------------------------------------------------------
+// -- Geometry / Scenes Parameters --
+// -----------------------------------------------------------------
+
+// -- Parameters to show different geometries
+Bool_t gShowMUON = kTRUE;
+Bool_t gShowMUONRPhi = kFALSE;
+Bool_t gShowMUONRhoZ = kTRUE;
+Bool_t gShowTRD = kFALSE;
+
+
+// -- HOMERManager
+AliEveHOMERManager* gHomerManager = 0;
+AliEveHLTEventManager* geventManager = 0;
+
+// -- Geometry Manager
+TGeoManager* gGeoManager = 0;
+
+
+//Container for gGeoManager till it is broken
+TGeoManager *fGeoManager = 0;
+// -----------------------------------------------------------------
+// -- Methods --
+// -----------------------------------------------------------------
+
+Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon );
+
+void writeToFile();
+
+
+// #################################################################
+// #################################################################
+// #################################################################
+
+// -----------------------------------------------------------------
+void od ( Bool_t showBarrel = kTRUE, Bool_t showMuon = kFALSE ) {
+
+ // -- Loading Geometry
+ // ---------------------
+ Int_t run = 0;
+ AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
+ AliCDBManager::Instance()->SetRun(run);
+ AliGeomManager::LoadGeometry();
+ // The default in the simulation is the following line
+ // TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1, AliMagF::k5kG));
+ // However for the current setting of +ve L3 and +ve Dipole magnetic field
+ // the following setting creates the field close to real field with currect polarity
+ if(showMuon)
+ TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1, AliMagF::k5kG));
+
+ // Get the pointer to gGeoManager before it's broken (bug in alieve)
+ fGeoManager = gGeoManager;
+
+ // -- Initialize pointsets and add macros
+ // ----------------------------------------
+ //TEveUtil::LoadMacro("hlt_alieve_init.C");
+ //hlt_alieve_init(".", -1);
+
+ // -- Initialize Eve
+ // -------------------
+ cout << "Initializing the EVE viewer"<<endl;
+ initializeEveViewer( showBarrel, showMuon, fGeoManager );
+
+ // -- Reset gGeoManager to the original pointer
+ // ----------------------------------------------
+
+ // -- Finalize Eve
+ // -----------------
+ gSystem->ProcessEvents();
+ gEve->Redraw3D(kTRUE);
+
+ // -- Create new hM object
+ // -------------------------
+
+ cout << "Creating the Event Manager"<<endl;
+ gEventManager = new AliEveHLTEventManagerHomer();
+ gEventManager->SetShowMuon(showMuon);
+ gEventManager->SetEveManager(gEve);
+ gEventManager->SetGeoManager(gGeoManager);
+ gEventManager->SetRPhiManager(gRPhiMgr);
+ gEventManager->SetRPhiEventScene(gRPhiEventScene);
+ gEventManager->SetRPhiViewer(gRPhiView);
+ gEventManager->SetRhoZManager(gRhoZMgr);
+ gEventManager->SetRhoZEventScene(gRhoZEventScene);
+ gEventManager->SetRhoZViewer(gRhoZView);
+
+ //gEventManager->SetBarrelFlag(showBarrel);
+ //gEventManager->SetMuonFlag(showMuon);
+
+ // Int_t iResult = gHomerManager->Initialize();
+ // if (iResult) {
+ // printf("Error Initializing AliHLTHOMERManager, quitting");
+ // return;
+ // }
+
+ // gEventManager->SetHomerManager(gHomerManager);
+
+ // -- Add hM to EveTree
+ // ----------------------
+ //gEve->AddToListTree(gHomerManager, kTRUE);
+ gEve->AddToListTree(gEventManager, kTRUE);
+
+ // -- Create SourceList
+ // ----------------------
+ // iResult = gHomerManager->CreateEveSourcesListLoop();
+ // if (iResult) {
+ // printf ("Couldn't find active services. Giving up. \n");
+ // return;
+ // }
+
+
+ // if ( showBarrel ) {
+ // gHomerManager->ConnectEVEtoHOMER("TPC" );
+ // } else if ( MUONMode ) {
+ // gHomerManager->ConnectEVEtoHOMER("MUON");
+ // } else if( TRDMode ) {
+ // gHomerManager->ConnectEVEtoHOMER("TRD");
+ // } else {
+ // cout<<" No detectors selected, nothing will be displayed"<<endl;
+ // }
+ // THIS LINE DOES NOT WORK. PLEASE USE ANOTHER LINE!
+
+
+ gGeoManager = fGeoManager;
+
+
+}
+
+// -------------------------------------------------------------------------
+Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon, TGeoManager * manager ) {
+
+ //=============================================================================
+ // Visualization database
+ //============================================================================
+
+ TEveUtil::AssertMacro("VizDB_scan.C");
+
+ // alieve_vizdb();
+
+
+
+ //==============================================================================
+ // -- Geometry, scenes, projections and viewers
+ //==============================================================================
+
+ TEveBrowser *browser = gEve->GetBrowser();
+ browser->ShowCloseTab(kFALSE);
+
+ // -- Disable extra geometry
+ // ---------------------------
+ if (!showMuon)
+ gShowMUON = gShowMUONRPhi = gShowMUONRhoZ = kFALSE;
+
+ // -- Load Geometry
+ // ------------------
+ TEveUtil::LoadMacro("geom_gentle_hlt.C");
+ gGeomGentle = geom_gentle_hlt();
+ gGeomGentleRPhi = geom_gentle_rphi(); gGeomGentleRPhi->IncDenyDestroy();
+ gGeomGentleRhoZ = geom_gentle_rhoz(); gGeomGentleRhoZ->IncDenyDestroy();
+ gGeomGentleTRD = geom_gentle_trd();
+
+ gGeoManager = fGeoManager;
+
+ gEMCALNode = gGeoManager->GetTopVolume()->FindNode("XEN1_1");
+
+ TEveGeoTopNode* emcal_re = new TEveGeoTopNode(gGeoManager, gEMCALNode);
+ emcal_re->SetVisLevel(1);
+ // emcal_re->FirstChild()->Dump();
+
+ // for(Int_t i = 4; i < 11; i++) {
+ // emcal_re->FindChild(Form("SMOD_%d", i))->SetRnrState(kFALSE);
+ // }
+ // emcal_re->FindChild("SM10_1")->SetRnrState(kFALSE);
+ // emcal_re->FindChild("SM10_2")->SetRnrState(kFALSE);
+
+
+
+ gEve->AddGlobalElement(emcal_re);
+ gEve->Redraw3D();
+
+ if (gShowMUON)
+ gGeomGentleMUON = geom_gentle_muon(kFALSE);
+
+ // -- Scenes
+ // -----------
+ gRPhiGeomScene = gEve->SpawnNewScene("RPhi Geometry",
+ "Scene holding projected geometry for the RPhi view.");
+ gRhoZGeomScene = gEve->SpawnNewScene("RhoZ Geometry",
+ "Scene holding projected geometry for the RhoZ view.");
+ gRPhiEventScene = gEve->SpawnNewScene("RPhi Event Data",
+ "Scene holding projected geometry for the RPhi view.");
+ gRhoZEventScene = gEve->SpawnNewScene("RhoZ Event Data",
+ "Scene holding projected geometry for the RhoZ view.");
+
+ // -- Projection managers
+ // ------------------------
+
+ gRPhiMgr = new TEveProjectionManager();
+ gRPhiMgr->SetProjection(TEveProjection::kPT_RPhi);
+ gEve->AddToListTree(gRPhiMgr, kFALSE);
+ {
+ TEveProjectionAxes* a = new TEveProjectionAxes(gRPhiMgr);
+ a->SetMainColor(kWhite);
+ a->SetTitle("R-Phi");
+ a->SetTitleSize(0.05);
+ a->SetTitleFont(102);
+ a->SetLabelSize(0.025);
+ a->SetLabelFont(102);
+ gRPhiGeomScene->AddElement(a);
+ }
+ gRPhiMgr->SetCurrentDepth(-10);
+ gRPhiMgr->ImportElements(gGeomGentleRPhi, gRPhiGeomScene);
+ gRPhiMgr->SetCurrentDepth(0);
+ gRPhiMgr->ImportElements(gGeomGentleTRD, gRPhiGeomScene);
+ if (gShowMUONRPhi) gRPhiMgr->ImportElements(gGeomGentleMUON, gRPhiGeomScene);
+
+ gRhoZMgr = new TEveProjectionManager();
+ gRhoZMgr->SetProjection(TEveProjection::kPT_RhoZ);
+ gEve->AddToListTree(gRhoZMgr, kFALSE);
+ {
+ TEveProjectionAxes* a = new TEveProjectionAxes(gRhoZMgr);
+ a->SetMainColor(kWhite);
+ a->SetTitle("Rho-Z");
+ a->SetTitleSize(0.05);
+ a->SetTitleFont(102);
+ a->SetLabelSize(0.025);
+ a->SetLabelFont(102);
+ gRhoZGeomScene->AddElement(a);
+ }
+ gRhoZMgr->SetCurrentDepth(-10);
+ gRhoZMgr->ImportElements(gGeomGentleRhoZ, gRhoZGeomScene);
+ gRhoZMgr->SetCurrentDepth(0);
+ gRhoZMgr->ImportElements(gGeomGentleTRD, gRhoZGeomScene);
+
+ if (gShowMUONRhoZ) gRhoZMgr->ImportElements(gGeomGentleMUON, gRhoZGeomScene);
+
+ // -- Viewers
+ // ------------
+
+ TEveWindowSlot *slot = TEveWindow::CreateWindowInTab(browser->GetTabRight());
+ TEveWindowPack *pack = slot->MakePack();
+ pack->SetElementName("Multi View");
+ pack->SetHorizontal();
+ pack->SetShowTitleBar(kFALSE);
+ pack->NewSlot()->MakeCurrent();
+ g3DView = gEve->SpawnNewViewer("3D View", "");
+ g3DView->AddScene(gEve->GetGlobalScene());
+ g3DView->AddScene(gEve->GetEventScene());
+
+
+ pack = pack->NewSlot()->MakePack();
+ pack->SetShowTitleBar(kFALSE);
+ pack->NewSlot()->MakeCurrent();
+ gRPhiView = gEve->SpawnNewViewer("RPhi View", "");
+ gRPhiView->GetGLViewer()->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
+ gRPhiView->AddScene(gRPhiGeomScene);
+ gRPhiView->AddScene(gRPhiEventScene);
+
+ pack->NewSlot()->MakeCurrent();
+ gRhoZView = gEve->SpawnNewViewer("RhoZ View", "");
+ gRhoZView->GetGLViewer()->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
+ gRhoZView->AddScene(gRhoZGeomScene);
+ gRhoZView->AddScene(gRhoZEventScene);
+
+
+
+ //Add HLT Text to windows
+
+ TGLOverlayButton *ob1 = new TGLOverlayButton(g3DView->GetGLViewer(), "HLT", 0, 20, 110, 60);
+ ob1->SetAlphaValues(0.8, 0.8);
+ // cout << "color" << ob1->GetBackColor() << endl;
+ //ob1->SetBackColor(8421631);
+ //ob1->SetBackColor(10492431);
+ TGLOverlayButton *ob2 = new TGLOverlayButton(g3DView->GetGLViewer(), "ALICE", 0, 0, 110, 20);
+ ob2->SetAlphaValues(0.8, 0.8);
+ //ob2->SetBackColor(0.2);
+ TGLOverlayButton *ob3 = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "HLT", 0, 20, 110, 60);
+ ob3->SetAlphaValues(0.8, 0.8);
+ TGLOverlayButton *ob4 = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "ALICE", 0, 0, 110, 20);
+ ob4->SetAlphaValues(0.8, 0.8);
+
+
+ TGLOverlayButton *ne = new TGLOverlayButton(gEve->GetDefaultGLViewer(), "Next Event", 110, 0, 210, 20);
+ ne->SetAlphaValues(0.0, 0.8);
+
+ // -- List of Viewers
+ // --------------------
+
+ TEveViewerList *viewerlist = new TEveViewerList();
+ viewerlist->AddElement(gEve->GetDefaultViewer());
+
+ viewerlist->AddElement(g3DView);
+ viewerlist->AddElement(gRhoZView);
+ viewerlist->AddElement(gRPhiView);
+ viewerlist->SwitchColorSet();
+
+ //==============================================================================
+ // -- Macros / QA histograms
+ //==============================================================================
+
+ // -- Registration of per-event macros
+ // -------------------------------------
+
+ AliEveMacroExecutor *exec = new AliEveMacroExecutor();
+
+
+
+ gStyle->SetPalette(1, 0);
+ gStyle->SetOptFit(1);
+
+
+
+ return 0;
+}
+
+//****************************************************************************
+void writeToFile(){
+
+ TList * bList = gHomerManager->GetBlockList();
+ if(bList){
+ TFile * file = TFile::Open(Form("Event_0x%016X_ITS.root", gHomerManager->GetEventID()), "RECREATE");
+ bList->Write("blockList", TObject::kSingleKey);
+ file->Close();
+ }
+
+ bList = gHomerManager->GetAsyncBlockList();
+ if(bList){
+ TFile * afile = TFile::Open(Form("Event_0x%016X_Async.root", gHomerManager->GetEventID()), "RECREATE");
+ bList->Write("blockList", TObject::kSingleKey);
+ afile->Close();
+ }
+}
+
+
+
+