]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/hlt-macros/od.C
end-of-line normalization
[u/mrichter/AliRoot.git] / EVE / hlt-macros / od.C
index fc619777a101b291a6a60f7dbaf474d5fe94e40a..362f07f8060880c51476105e3c911fb7bec0450b 100644 (file)
-//-*- 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();
+  }
+}
+
+
+
+