]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/hlt-macros/off.C
end-of-line normalization
[u/mrichter/AliRoot.git] / EVE / hlt-macros / off.C
index e3c738e1c85274f30d9cd4e6bd3ee861f8c326f0..f49b4e4f855e0a9d0925de0bb9fc96bfcf8f45a6 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 "AliEveHLTEventManagerOffline.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
-// -----------------------------------------------------------------\r
-// --                         Members                            --\r
-// -----------------------------------------------------------------\r
-\r
-// -- Timer for automatic event loop\r
-TTimer                                    eventTimer;\r
-TTimer                                    eventTimerFast;\r
-\r
-// -- HOMERManager\r
-AliEveHLTEventManagerOffline*                       geventManager      = 0;\r
-\r
-// -- Geometry Manager \r
-TGeoManager*                              gGeoManager        = 0;\r
-AliPHOSGeometry*                          gPHOSGeom          = 0;\r
-\r
-// -- Cluster members\r
-TEvePointSet*                             gSPDClusters       = 0;\r
-TEvePointSet*                             gSSDClusters       = 0;\r
-TEvePointSet*                             gSDDClusters       = 0;\r
-TEvePointSet*                             gTRDClusters       = 0;\r
-TEvePointSetArray*                        gTRDColClusters    = 0;\r
-TEvePointSet*                             gTPCClusters       = 0;\r
-TEvePointSet*                             gTPCTestClusters       = 0;\r
-TEvePointSetArray*                        gTPCColClusters    = 0;\r
-TEveBoxSet*                               gPHOSBoxSet[5]     = {0, 0, 0, 0, 0}; \r
-TEveBoxSet*                               gEMCALBoxSet[13]   = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};\r
-TEvePointSet*                             gMUONClusters      = 0;\r
-TEveStraightLineSet*                      gMUONTracks        = 0;\r
-\r
-// -- Text output members\r
-TEveText*                                 gHLTText           = 0;\r
-\r
-// -- Tracks members\r
-TEveTrackList*                            gTPCTrack          = 0;\r
-\r
-// -- Canvas for histograms\r
-TCanvas*                                  gTRDCanvas         = 0;\r
-TCanvas*                                  gTPCCanvas         = 0;\r
-TCanvas*                                  gTPCClustCanvas          = 0;\r
-TCanvas*                                  gTRDCalibCanvas    = 0;\r
-TCanvas*                                  gTRDEORCanvas      = 0;\r
-TCanvas*                                  gPrimVertexCanvas  = 0;\r
-TCanvas*                                  gSPDVertexCanvas   = 0;\r
-TCanvas*                                  gITSCanvas         = 0;\r
-TCanvas*                                  gSSDCanvas0        = 0;\r
-TCanvas*                                  gSSDCanvas1        = 0;\r
-TCanvas*                                  gV0Canvas          = 0;\r
-TCanvas*                                  gPHOSCanvas          = NULL;\r
-TCanvas*                                  gEMCALCanvas          = 0;\r
-\r
-// -- vertex --\r
-Int_t                                     gSPDVertexHistoCount  = 0;\r
-\r
-\r
-\r
-// -- TRD --\r
-Int_t                                     gTRDHistoCount     = 0;\r
-Int_t                                     gTRDEvents         = 0;\r
-Int_t                                     gTRDBins           = 12;\r
-\r
-// -- TPC --\r
-Int_t                                     gTPCBins           = 15;\r
-TH1F*                                     gTPCCharge         = 0;\r
-TH1F*                                     gTPCQMax           = 0;\r
-TH1F*                                     gTPCQMaxOverCharge = 0;\r
-\r
-TH1F*                                     gTPCPt        = 0; // KK\r
-TH1F*                                     gTPCEta       = 0; \r
-TH1F*                                     gTPCPsi       = 0; \r
-TH1F*                                     gTPCnClusters = 0; \r
-TH1F*                                     gTPCMult      = 0;\r
-\r
-// -- PHOS --\r
-TEveElementList*                          gPHOSElementList   = 0;\r
-Int_t                                     gPHOSHistoCount    =0;\r
-// -- EMCAL\r
-TEveElementList*                          gEMCALElementList  = 0;\r
-TGeoNode*                                 gEMCALNode         = 0;\r
-Int_t                                     gEMCALHistoCount    =0;\r
-\r
-// --- Flag if eventloop is running\r
-Bool_t                                    gEventLoopStarted = kFALSE;\r
-\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 off ( Bool_t showBarrel = kTRUE, Bool_t showMuon = kFALSE ) {\r
-\r
-  // -- Loading Geometry\r
-  // ---------------------\r
-  Int_t run = 67179;\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
-  initializeEveViewer( showBarrel, showMuon );\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
-  gEventManager = new AliEveHLTEventManagerOffline("/home/slindal/alice/data/PbPb/AliESDs.root");\r
-\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
-  //gEventManager->SetBarrelFlag(showBarrel);\r
-  //gEventManager->SetMuonFlag(showMuon);\r
-\r
-\r
-  // -- Add hM to EveTree\r
-  // ----------------------\r
-  gEve->AddToListTree(gEventManager, kTRUE);\r
-\r
-  // -- Create SourceList\r
-  // ----------------------\r
-\r
-\r
-\r
-  gGeoManager = fGeoManager;\r
-  \r
-\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon ) {\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
-  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
-\r
-  gStyle->SetOptFit(1);\r
-\r
-\r
-  \r
-  return 0;\r
-}\r
-\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 "AliEveHLTEventManagerOffline.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;
+
+
+// -----------------------------------------------------------------
+// --                         Members                            --
+// -----------------------------------------------------------------
+
+// -- Timer for automatic event loop
+TTimer                                    eventTimer;
+TTimer                                    eventTimerFast;
+
+// -- HOMERManager
+AliEveHLTEventManagerOffline*                       geventManager      = 0;
+
+// -- Geometry Manager 
+TGeoManager*                              gGeoManager        = 0;
+AliPHOSGeometry*                          gPHOSGeom          = 0;
+
+// -- Cluster members
+TEvePointSet*                             gSPDClusters       = 0;
+TEvePointSet*                             gSSDClusters       = 0;
+TEvePointSet*                             gSDDClusters       = 0;
+TEvePointSet*                             gTRDClusters       = 0;
+TEvePointSetArray*                        gTRDColClusters    = 0;
+TEvePointSet*                             gTPCClusters       = 0;
+TEvePointSet*                             gTPCTestClusters       = 0;
+TEvePointSetArray*                        gTPCColClusters    = 0;
+TEveBoxSet*                               gPHOSBoxSet[5]     = {0, 0, 0, 0, 0}; 
+TEveBoxSet*                               gEMCALBoxSet[13]   = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+TEvePointSet*                             gMUONClusters      = 0;
+TEveStraightLineSet*                      gMUONTracks        = 0;
+
+// -- Text output members
+TEveText*                                 gHLTText           = 0;
+
+// -- Tracks members
+TEveTrackList*                            gTPCTrack          = 0;
+
+// -- Canvas for histograms
+TCanvas*                                  gTRDCanvas         = 0;
+TCanvas*                                  gTPCCanvas         = 0;
+TCanvas*                                  gTPCClustCanvas          = 0;
+TCanvas*                                  gTRDCalibCanvas    = 0;
+TCanvas*                                  gTRDEORCanvas      = 0;
+TCanvas*                                  gPrimVertexCanvas  = 0;
+TCanvas*                                  gSPDVertexCanvas   = 0;
+TCanvas*                                  gITSCanvas         = 0;
+TCanvas*                                  gSSDCanvas0        = 0;
+TCanvas*                                  gSSDCanvas1        = 0;
+TCanvas*                                  gV0Canvas          = 0;
+TCanvas*                                  gPHOSCanvas          = NULL;
+TCanvas*                                  gEMCALCanvas          = 0;
+
+// -- vertex --
+Int_t                                     gSPDVertexHistoCount  = 0;
+
+
+
+// -- TRD --
+Int_t                                     gTRDHistoCount     = 0;
+Int_t                                     gTRDEvents         = 0;
+Int_t                                     gTRDBins           = 12;
+
+// -- TPC --
+Int_t                                     gTPCBins           = 15;
+TH1F*                                     gTPCCharge         = 0;
+TH1F*                                     gTPCQMax           = 0;
+TH1F*                                     gTPCQMaxOverCharge = 0;
+
+TH1F*                                     gTPCPt        = 0; // KK
+TH1F*                                     gTPCEta       = 0; 
+TH1F*                                     gTPCPsi       = 0; 
+TH1F*                                     gTPCnClusters = 0; 
+TH1F*                                     gTPCMult      = 0;
+
+// -- PHOS --
+TEveElementList*                          gPHOSElementList   = 0;
+Int_t                                     gPHOSHistoCount    =0;
+// -- EMCAL
+TEveElementList*                          gEMCALElementList  = 0;
+TGeoNode*                                 gEMCALNode         = 0;
+Int_t                                     gEMCALHistoCount    =0;
+
+// --- Flag if eventloop is running
+Bool_t                                    gEventLoopStarted = kFALSE;
+
+
+
+//Container for gGeoManager till it is broken
+TGeoManager *fGeoManager = 0;
+// -----------------------------------------------------------------
+// --                          Methods                            --
+// -----------------------------------------------------------------
+
+Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon );
+
+void writeToFile();
+
+
+// #################################################################
+// #################################################################
+// #################################################################
+
+// -----------------------------------------------------------------
+void off ( Bool_t showBarrel = kTRUE, Bool_t showMuon = kFALSE ) {
+
+  // -- Loading Geometry
+  // ---------------------
+  Int_t run = 67179;
+  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
+  // -------------------
+  initializeEveViewer( showBarrel, showMuon );
+
+  // -- Reset gGeoManager to the original pointer
+  // ----------------------------------------------
+
+  // -- Finalize Eve
+  // -----------------
+  gSystem->ProcessEvents();
+  gEve->Redraw3D(kTRUE);
+
+  // -- Create new hM object
+  // -------------------------
+  gEventManager = new AliEveHLTEventManagerOffline("/home/slindal/alice/data/PbPb/AliESDs.root");
+
+  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);
+
+
+  // -- Add hM to EveTree
+  // ----------------------
+  gEve->AddToListTree(gEventManager, kTRUE);
+
+  // -- Create SourceList
+  // ----------------------
+
+
+
+  gGeoManager = fGeoManager;
+  
+
+}
+
+// -------------------------------------------------------------------------
+Int_t initializeEveViewer( Bool_t showBarrel, Bool_t showMuon ) {
+  
+  //=============================================================================
+  // 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);
+  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;
+}
+
+
+
+
+
+
+