]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/OnlineDisplay/AliHLTPHOSOnlineDisplay.cxx
New class structure
[u/mrichter/AliRoot.git] / HLT / PHOS / OnlineDisplay / AliHLTPHOSOnlineDisplay.cxx
index e4d79eaf2ea12e6803c06308badefe98a1a1bcb1..b74627806b9e52eb9397b1445129d6a47bf4641c 100644 (file)
@@ -1,18 +1,3 @@
-#include  "AliHLTPHOSOnlineDisplay.h"
-#include  "AliHLTDataTypes.h"
-#include  "AliHLTPHOSRcuCellEnergyDataStruct.h"
-#include  <vector>
-#include  "stdio.h"
-#include <string>
-#include <sys/ipc.h>
-#include <errno.h>
-#include "TH2.h"
-#include "TCanvas.h"
-#include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
-#include "AliHLTPHOSCommonDefs.h"
-
-//#include "TGMatrixLayout.h"
-
 /**************************************************************************
  * This file is property of and copyright by the Experimental Nuclear     *
  * Physics Group, Dep. of Physics                                         *
 # include <TApplication.h>
 # include "TStyle.h" 
 #endif
-#include <iostream>
 
+#include  "AliHLTPHOSOnlineDisplay.h"
+#include  "AliHLTDataTypes.h"
+#include  "AliHLTPHOSRcuCellEnergyDataStruct.h"
+#include  <vector>
+#include  "stdio.h"
+#include <string>
+#include <sys/ipc.h>
+#include <errno.h>
+#include "TH2.h"
+#include "TCanvas.h"
+#include "AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h"
+#include "AliHLTPHOSCommonDefs.h"
+#include <iostream>
+#include "AliHLTPHOSOnlineDisplayEventTab.h"
+#include "AliHLTPHOSOnlineDisplayCalibTab.h"
+
+AliHLTPHOSOnlineDisplayEventTab*  AliHLTPHOSOnlineDisplay::fgEventTabPtr       = 0;
+AliHLTPHOSOnlineDisplayCalibTab*  AliHLTPHOSOnlineDisplay::fgCalibTabPtr       = 0;
+AliHLTPHOSOnlineDisplayRawTab*    AliHLTPHOSOnlineDisplay::fgRawTabPtr         = 0;
+AliHLTPHOSOnlineDisplay*          AliHLTPHOSOnlineDisplay::fgInstancePtr       = 0;          /**<The one an only instance of PhosOnlineDisplay*/
+HOMERReader*                      AliHLTPHOSOnlineDisplay::fgHomerReaderPtr    = 0;          /**<Homer reader that fetches events from the HLT online stream*/
+HOMERReader*                      AliHLTPHOSOnlineDisplay::fgHomerReadersPtr[MAX_HOSTS];     /**<Homer reader that fetches events from the HLT online stream*/
+Bool_t                            AliHLTPHOSOnlineDisplay::fgAccumulate        = kFALSE ;    /**<If set to kFALSE reset fgLegoplot between event, kTRUE adds current energies to previous plot*/
+Bool_t                            AliHLTPHOSOnlineDisplay::fgSyncronize        = kFALSE ;
+unsigned int                      AliHLTPHOSOnlineDisplay::fgNHosts            = 0;
+unsigned int                      AliHLTPHOSOnlineDisplay::fgNPorts            = 0;
+char*                             AliHLTPHOSOnlineDisplay::fgHosts[MAX_HOSTS];
+short unsigned int*               AliHLTPHOSOnlineDisplay::fgPorts             = 0; 
+TGTab*                            AliHLTPHOSOnlineDisplay::fTab                = 0;
 
-#define MAX_BIN_VALUE 1023
-
-
-AliHLTPHOSGetEventButton*  AliHLTPHOSOnlineDisplay::fgEventButtPtr     = 0;           /**<Button to get a new event from the HLT online stream*/
-AliHLTPHOSOnlineDisplay*   AliHLTPHOSOnlineDisplay::fgInstancePtr      = 0;           /**<The one an only instance of PhosOnlineDisplay*/
-HOMERReader*               AliHLTPHOSOnlineDisplay::fgHomerReaderPtr   = 0;           /**<Homer reader that fetches events from the HLT online stream*/
-HOMERReader*               AliHLTPHOSOnlineDisplay::fgHomerReadersPtr[MAX_HOSTS];     /**<Homer reader that fetches events from the HLT online stream*/
-HOMERReader*               AliHLTPHOSOnlineDisplay::fgCalibReadersPtr[MAX_HOSTS];     /**<Homer reader that fetches histograms from the HLT online stream*/
-HOMERReader*               AliHLTPHOSOnlineDisplay::fgChannelRawReadersPtr[MAX_HOSTS];
-TH2D*                      AliHLTPHOSOnlineDisplay::fgLegoPlotLGPtr      = 0;         /**<2D histogram for low gain channels*/
-TH2D*                      AliHLTPHOSOnlineDisplay::fgLegoPlotHGPtr      = 0;         /**<2D histogram for high gain channels*/
-TH2D*                      AliHLTPHOSOnlineDisplay::fgCalibHistPtr[N_GAINS];          /**<2D histogram for low gain channels*/
-TH2I*                      AliHLTPHOSOnlineDisplay::fgHitsHistPtr[N_GAINS];           /**<2D histogram for low gain channels*/
-TH2D*                      AliHLTPHOSOnlineDisplay::fgAveragePtr[N_GAINS];            /**<Accumuated energy/hits*/
-char*                      AliHLTPHOSOnlineDisplay::fgDefaultDet       = "SOHP";      /**<PHOS written backwards*/
-char*                      AliHLTPHOSOnlineDisplay::fgDefaultDataType  = "RENELLEC";  /**<CELLENER (Celle energy) written backwards*/  
-int                        AliHLTPHOSOnlineDisplay::fgEvntCnt          = 0;           /**<Event Counter*/
-TCanvas*                   AliHLTPHOSOnlineDisplay::fgCanvasHGPtr      = 0;           /**<Canvas to plot fgLegoplot for High gain channels*/ 
-TCanvas*                   AliHLTPHOSOnlineDisplay::fgCanvasLGPtr      = 0;           /**<Canvas to plot fgLegoplot for Low gain channels*/ 
-TCanvas*                   AliHLTPHOSOnlineDisplay::fgTestCanvasPtr    = 0;
-Bool_t                     AliHLTPHOSOnlineDisplay::fgAccumulate       = kFALSE ;     /**<If set to kFALSE reset fgLegoplot between event, kTRUE adds current energies to previous plot*/
-Bool_t                     AliHLTPHOSOnlineDisplay::fgSyncronize       = kFALSE ;
-unsigned int               AliHLTPHOSOnlineDisplay::fgNHosts           = 0;
-unsigned int               AliHLTPHOSOnlineDisplay::fgNPorts           = 0;
-char*                      AliHLTPHOSOnlineDisplay::fgHosts[MAX_HOSTS];
-short unsigned int*        AliHLTPHOSOnlineDisplay::fgPorts            =0; 
-
-
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fFrame1            = 0; 
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fF1                = 0;         
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fF2                = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fF3                = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fF4                = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fF5                = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF1             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF2             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF3             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF4             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF5             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF6             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF7             = 0;
-TGCompositeFrame*          AliHLTPHOSOnlineDisplay::fSubF8             = 0;
-
-TGTab*                     AliHLTPHOSOnlineDisplay::fTab               = 0;
-TGTab*                     AliHLTPHOSOnlineDisplay::fSubTab1           = 0;
-TGTab*                     AliHLTPHOSOnlineDisplay::fSubTab2           = 0;
-TGTab*                     AliHLTPHOSOnlineDisplay::fSubTab3           = 0;
-
-TGTab*                     AliHLTPHOSOnlineDisplay::fSubTabModule[N_MODULES];
-TGTab*                     AliHLTPHOSOnlineDisplay::fSubSubTabRcu[N_MODULES][N_RCUS_PER_MODULE]; 
-
-TH1D*                      AliHLTPHOSOnlineDisplay::fgChannelDataPlotPtr[N_ZROWS_RCU][N_XCOLUMNS_RCU];
-
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fTest              = 0;
 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc1               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc2               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc3               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc4               = 0;
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc5               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc6               = 0;
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc7               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc8               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc9               = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc10              = 0;
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc11              = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc12              = 0;
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc13              = 0; 
-TRootEmbeddedCanvas*       AliHLTPHOSOnlineDisplay::fEc14              = 0;
 using namespace std;
 
 
 AliHLTPHOSOnlineDisplay*
-AliHLTPHOSOnlineDisplay::Instance() 
+AliHLTPHOSOnlineDisplay::Instance(int argc, char** argv
 {
-  if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay();
+  if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay(argc, argv);
   return fgInstancePtr;
 }
 
+
 AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay()
 {
+  cout << "ERROR ! level: FATAL, you cannot invoke the onlinedisplay without arguments" << endl;
+}
+
+
+AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay(int argc, char** argv)
+{
+  ScanArguments(argc, argv);
   char **tmp;
   cout << "creating new PHOS Onlinedisplay" << endl;
-  fgLegoPlotLGPtr  = 0;
-  fgLegoPlotHGPtr  = 0;
-
   fgHomerReaderPtr = new  HOMERReader(fgNHosts, (const char**)fgHosts,  fgPorts);
+  cout << "AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay: fgHomerReaderPtr =  " <<  fgHomerReaderPtr << endl;
 
   for(int i = 0; i <fgNHosts; i++)
     {
       fgHomerReadersPtr[i] =      new  HOMERReader(fgHosts[i], fgPorts[i]); 
-      fgCalibReadersPtr[i] =      new  HOMERReader(fgHosts[i], fgPorts[i]);
-      fgChannelRawReadersPtr[i] = new  HOMERReader(fgHosts[i], fgPorts[i]);
     }
  InitDisplay();
-
 }
 
 
@@ -145,155 +92,22 @@ AliHLTPHOSOnlineDisplay::~AliHLTPHOSOnlineDisplay()
 
 }
 
+
 void
 AliHLTPHOSOnlineDisplay::InitDisplay()
 {
   char tmpHistoName[256];
-
-  fgLegoPlotHGPtr = new TH2D("Homer","HLT: #pi^{0} 5 - 30Gev HG, High gain",  
-                            N_XCOLUMNS_MOD*N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
-                             N_ZROWS_MOD,               0, N_ZROWS_MOD);
-  fgLegoPlotHGPtr->SetMaximum( MAX_BIN_VALUE);
-  fgLegoPlotHGPtr->Reset();
-
-  fgLegoPlotLGPtr = new TH2D("Homer","HLT: #pi^{0} 5 - 30Gev LG, Low gain",  
-                            N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD* N_MODULES,  
-                            N_ZROWS_MOD,          0, N_ZROWS_MOD);
-  fgLegoPlotLGPtr->SetMaximum( MAX_BIN_VALUE); 
-  fgLegoPlotLGPtr->Reset();
-
-  for(int gain = 0; gain< N_GAINS; gain ++)
-    {
-      sprintf(tmpHistoName, "HLT gain %d", gain);
-      fgCalibHistPtr[gain] = new TH2D(tmpHistoName, tmpHistoName,  
-                                     N_XCOLUMNS_MOD*N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES , 
-                                     N_ZROWS_MOD,         0, N_ZROWS_MOD);
-      fgCalibHistPtr[gain]->Reset(); 
-     
-      sprintf(tmpHistoName, "Calibration Data HLT: #pi^{0} 5 - 30GeV gain %d", gain);
-      fgHitsHistPtr[gain] = new TH2I(tmpHistoName, tmpHistoName,  
-                                   N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
-                                   N_ZROWS_MOD,          0, N_ZROWS_MOD);
-      fgHitsHistPtr[gain]->SetMaximum( MAX_BIN_VALUE); 
-      fgHitsHistPtr[gain]->Reset();
-
-      sprintf(tmpHistoName, "Average Data HLT: #pi^{0} 5 - 30GeV gain %d", gain);
-      fgAveragePtr[gain] = new TH2D(tmpHistoName,tmpHistoName,  
-                                   N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
-                                   N_ZROWS_MOD,          0, N_ZROWS_MOD);
-      fgAveragePtr[gain]->SetMaximum( MAX_BIN_VALUE); 
-      fgAveragePtr[gain]->Reset();
-    }
-
   char tmpChDtaName[256];
 
-  for(int z = 0; z < N_ZROWS_RCU; z ++)
-    {
-      for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
-       {
-         sprintf(tmpHistoName, "blablaz%d x%d",z, x);
-         fgChannelDataPlotPtr[z][x] = new TH1D(tmpHistoName, tmpHistoName, 300, 0, 299);
-         fgChannelDataPlotPtr[z][x]->SetMaximum(MAX_BIN_VALUE); 
-         fgChannelDataPlotPtr[z][x]->Reset();
-       }
-    }
-
   gStyle->SetPalette(1);
   fTab = new TGTab(this, 100, 100);
   TGLayoutHints *fL1 = new TGLayoutHints(kLHintsBottom | kLHintsExpandX |
                                         kLHintsExpandY, 2, 2, 15, 1);
-
-  TGCompositeFrame *tf = fTab->AddTab("Event display");
-           fSubTab1 = new TGTab(tf, 100, 100);
-           TGCompositeFrame *tf2 = fSubTab1->AddTab("LEGO");  
-          fSubF1 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          fEc1 = new TRootEmbeddedCanvas("ec1", fSubF1, 100, 100);
-          fSubF1->AddFrame(fEc1, fL1);
-          fEc2 = new TRootEmbeddedCanvas("ec2", fSubF1, 100, 100);
-          fSubF1->AddFrame(fEc2, fL1);
-          tf2->AddFrame(fSubF1, fL1);
-
-          tf2 = fSubTab1->AddTab("SCAT"); 
-          fSubF2 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          tf2->AddFrame(fSubF2, fL1);
-          fEc3 = new TRootEmbeddedCanvas("ec3", fSubF2, 100, 100);
-          fSubF2->AddFrame(fEc3, fL1);
-          fEc4 = new TRootEmbeddedCanvas("ec4", fSubF2, 100, 100);
-          fSubF2->AddFrame(fEc4, fL1);
-
-          tf2 = fSubTab1->AddTab("SURF"); 
-          fSubF3 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          tf2->AddFrame(fSubF3, fL1);
-          fEc5 = new TRootEmbeddedCanvas("ec5", fSubF3, 100, 100);
-          fSubF3->AddFrame(fEc5, fL1);
-          fEc6 = new TRootEmbeddedCanvas("ec6", fSubF3, 100, 100);
-          fSubF3->AddFrame(fEc6, fL1);
-          fSubTab1->Resize();
-          tf->AddFrame(fSubTab1, fL1);
-
-  tf = fTab->AddTab("Calibration data");
-     
-           fSubTab2 = new TGTab(tf, 100, 100);
-
-          tf2 = fSubTab2->AddTab("Accumulated energy");   
-          fSubF4 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-
-          fEc7 = new TRootEmbeddedCanvas("ec7", fSubF4, 100, 100);
-          fSubF4->AddFrame(fEc7, fL1);
-
-          fEc8 = new TRootEmbeddedCanvas("ec8", fSubF4, 100, 100);
-          fSubF4->AddFrame(fEc8, fL1);
-
-          tf2->AddFrame(fSubF4, fL1);
-          
-          tf2 = fSubTab2->AddTab("SCAT (hits)"); 
-          fSubF5 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          tf2->AddFrame(fSubF5, fL1);
-          fEc9 = new TRootEmbeddedCanvas("ec9", fSubF5, 100, 100);
-          fSubF5->AddFrame(fEc9, fL1);
-          fEc10 = new TRootEmbeddedCanvas("ec10", fSubF5, 100, 100);
-          fSubF5->AddFrame(fEc10, fL1);
-
-          tf2 = fSubTab2->AddTab("SURF"); 
-          fSubF6 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          tf2->AddFrame(fSubF6, fL1);
-          fEc11 = new TRootEmbeddedCanvas("ec11", fSubF6, 100, 100);
-          fSubF6->AddFrame(fEc11, fL1);
-          fEc12 = new TRootEmbeddedCanvas("ec12", fSubF6, 100, 100);
-          fSubF6->AddFrame(fEc12, fL1);
-
-          tf2 = fSubTab2->AddTab("acummulated energy / hits"); 
-          fSubF7 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
-          tf2->AddFrame(fSubF7, fL1);
-          fEc13 = new TRootEmbeddedCanvas("ec13", fSubF7, 100, 100);
-          fSubF7->AddFrame(fEc13, fL1);
-          fEc14 = new TRootEmbeddedCanvas("ec14", fSubF7, 100, 100);
-          fSubF7->AddFrame(fEc14, fL1);
-
-          fSubTab2->Resize();
-          tf->AddFrame(fSubTab2, fL1);
-
-
-  tf = fTab->AddTab("Raw Data Display");
-
-           fSubTab3 = new TGTab(tf, 100, 100);
-          TGLayoutHints *hints = new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0); 
-
-          char tmpTabName[256];
-          char tmpCanvasName[256];
-                  sprintf(tmpTabName, "Raw data");
-                  tf2 = fSubTab3->AddTab(tmpTabName);
-                  fgEventButtPtr = new  AliHLTPHOSGetEventButton(tf, "Get Rawdata2xxxxx", 'r');
-                  AliHLTPHOSGetEventButton*       EventButtPtr2 = new  AliHLTPHOSGetEventButton(tf, "Get Rawdata", 'r'); 
-                  EventButtPtr2->Move(200, 200); 
-
-  tf = fTab->AddTab("Tab 4");
+  fgEventTabPtr = new  AliHLTPHOSOnlineDisplayEventTab(fTab, fgHomerReaderPtr, fgHomerReadersPtr, fgNHosts);
+  fgCalibTabPtr = new  AliHLTPHOSOnlineDisplayCalibTab(fTab, fgHomerReaderPtr, fgHomerReadersPtr, fgNHosts);
+  fgRawTabPtr   = new  AliHLTPHOSOnlineDisplayRawTab(fTab, fgHomerReaderPtr, fgHomerReadersPtr, fgNHosts);
 
   AddFrame(fTab, fL1);
-
-  fgEventButtPtr = new  AliHLTPHOSGetEventButton(fSubF1, "get event", 'e');
-  fgEventButtPtr = new  AliHLTPHOSGetEventButton(fSubF4, "update histograms", 'h');
-
   MapSubwindows();
   Resize();
   SetWindowName("online display");
@@ -302,6 +116,27 @@ AliHLTPHOSOnlineDisplay::InitDisplay()
 }
 
 
+int
+AliHLTPHOSOnlineDisplay::GetNextEvent()
+{
+  fgEventTabPtr->GetNextEvent();
+}
+
+
+int 
+AliHLTPHOSOnlineDisplay::GetNextEventRaw()
+{
+  fgRawTabPtr->GetNextEvent();
+}
+
+
+int
+AliHLTPHOSOnlineDisplay::GetHistogram()
+{
+  fgCalibTabPtr->GetNextEvent(); 
+}
+
+
 int
 AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
 {
@@ -311,7 +146,6 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
     }
 
   fgPorts = new short unsigned[100];
-
   Bool_t hostIsSet = kFALSE;
   Bool_t portIsSet = kFALSE;
   int iResult=0;
@@ -331,7 +165,6 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
          cout << "setting Synchronize to true" << endl;
          fgSyncronize = kTRUE;
        }  
-
       
       if (argument.CompareTo("-acc")==0)
        {
@@ -339,7 +172,6 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
          fgAccumulate = kTRUE;
        }  
       
       if (argument.CompareTo("-host")==0) 
        {
          if(i+1 <= argc)
@@ -347,6 +179,7 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
              i++;
              sprintf(fgHosts[fgNHosts],"%s", argv[i]);
              fgNHosts ++; 
+             cout <<"fgNHosts set to"<< fgNHosts <<endl;
              hostIsSet = kTRUE; 
              if(i+1 <= argc)
                {
@@ -363,7 +196,6 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
                        portIsSet = kTRUE;
                      }
                  }
-                 
                  else
                    {
                      fgPorts[fgNPorts] =  DEFAULT_EVENT_PORT;  
@@ -372,9 +204,7 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
                      portIsSet = kTRUE;
                    }
                }
-
            }
-
        }
     }
 
@@ -404,385 +234,3 @@ AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
 
   return iResult;
 }//end ScanArguments
-
-
-int
-AliHLTPHOSOnlineDisplay::GetNextEvent()
-{
-  HOMERReader* CurrentReaderPtr;
-
-  if(fgAccumulate == kFALSE)
-    {
-      cout <<"resetting fgLegoplot" << endl;
-      if(fgLegoPlotHGPtr !=0)
-       {
-         fgLegoPlotHGPtr->Reset(); 
-       }
-
-      if(fgLegoPlotLGPtr !=0)
-       {
-         fgLegoPlotLGPtr->Reset();
-       }  
-    }
-
-  int ret = 0;
-  unsigned long ndx;
-  const AliHLTComponentBlockData* iter = NULL;   
-  Bool_t nextSwitch=kTRUE; 
-  cout << "homerreader connectionstatus  =" <<fgHomerReaderPtr->GetConnectionStatus() << endl;;
-
-  int nLoops=0;
-  if(fgSyncronize == kTRUE)
-    {
-      nLoops = 1;
-    }
-  else
-    {
-      nLoops =  fgNHosts; 
-    }
-  
-  for(int reader = 0; reader <  nLoops; reader ++)
-    {
-      if(fgSyncronize == kTRUE)
-       {
-         CurrentReaderPtr =fgHomerReaderPtr;
-       }
-      else
-       {
-         CurrentReaderPtr =fgHomerReadersPtr[reader];
-       }
-      ret =CurrentReaderPtr->ReadNextEvent();  
-      cout << "Event ID =\t " << reader <<" = "<< CurrentReaderPtr->GetEventID() << endl;;
-  
-      if( ret ) 
-       {
-         int ndx = fgHomerReaderPtr->GetErrorConnectionNdx();
-         printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
-         cout << "HOMER getconncetioNdx  status = " << ndx << endl;
-         return ret; 
-       }
-  
-      unsigned long blockCnt = CurrentReaderPtr->GetBlockCnt();
-      
-      for ( unsigned long i = 0; i < blockCnt; i++ ) 
-       {
-         char tmp1[9], tmp2[5];
-         memset( tmp1, 0, 9 );
-         memset( tmp2, 0, 5);
-         void *tmp11 = tmp1;
-         ULong64_t* tmp12 = (ULong64_t*)tmp11;
-         *tmp12 =fgHomerReadersPtr[reader]->GetBlockDataType( i );
-         void *tmp21 = tmp2;
-         ULong_t* tmp22 = (ULong_t*)tmp21;
-         *tmp22 = CurrentReaderPtr->GetBlockDataOrigin( i );
-         cout << "Dataype for block:  "<< i<<"  is:  "<< tmp1<<tmp2 <<endl;
-       }
-
-      unsigned long blk = CurrentReaderPtr->FindBlockNdx("RENELLEC","SOHP", 0xFFFFFFFF );
-
-      while ( blk != ~(unsigned long)0 ) 
-       {
-         Int_t moduleID;
-         const AliHLTPHOSRcuCellEnergyDataStruct* cellEnergiesPtr = (const AliHLTPHOSRcuCellEnergyDataStruct*) CurrentReaderPtr->GetBlockData( blk );  
-         moduleID = cellEnergiesPtr->fModuleID ;
-         Int_t tmpCount = cellEnergiesPtr->fCnt;
-         Int_t tmpZ;
-         Int_t tmpX;
-         Int_t tmpGain;
-         
-         //      for(int i= 0; i<tmpCount; i++)
-         for(int i= 0; i <= tmpCount; i++)
-           {
-             tmpZ = cellEnergiesPtr->fValidData[i].fZ;
-             tmpX = cellEnergiesPtr->fValidData[i].fX;
-             tmpGain =  cellEnergiesPtr->fValidData[i].fGain;
-             
-             if(tmpGain == HIGH_GAIN)
-               {
-                 fgLegoPlotHGPtr->Fill(moduleID*N_XCOLUMNS_MOD + tmpX +  N_XCOLUMNS_RCU*cellEnergiesPtr->fRcuX,  
-                                     tmpZ + N_ZROWS_RCU*cellEnergiesPtr->fRcuZ, cellEnergiesPtr->fValidData[i].fEnergy);
-               }
-                 
-             else if(tmpGain == LOW_GAIN)
-               {
-                 fgLegoPlotLGPtr->Fill(moduleID*N_XCOLUMNS_MOD + tmpX +  N_XCOLUMNS_RCU*cellEnergiesPtr->fRcuX,
-                                     tmpZ + N_ZROWS_RCU*cellEnergiesPtr->fRcuZ,    cellEnergiesPtr->fValidData[i].fEnergy);
-               }
-           }
-               
-         blk = CurrentReaderPtr->FindBlockNdx("RENELLEC","SOHP", 0xFFFFFFFF, blk+1);
-       }
-    }
-  UpdateDisplay();
-  fgEvntCnt ++;
-}
-
-int 
-AliHLTPHOSOnlineDisplay::GetNextEventRaw()
-{
-  cout << "AliHLTPHOSOnlineDisplay::GetNextEventRaw():updating RawdataDisplay" << endl;
-  int ret = 0;
-  unsigned long ndx;
-  const AliHLTComponentBlockData* iter = NULL;
-  for(int reader = 0; reader <  fgNHosts; reader ++)
-    {
-      ret = fgChannelRawReadersPtr[reader]->ReadNextEvent();  
-      if( ret ) 
-       {
-         int ndx = fgChannelRawReadersPtr[reader]->GetErrorConnectionNdx();
-         printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
-         cout << "HOMER getconncetioNdx  status = " << ndx << endl;
-         return ret; 
-       }
-      
-      unsigned long blockCnt = fgChannelRawReadersPtr[reader]->GetBlockCnt();
-      cout << "AliHLTPHOSOnlineDisplay::NextEventRaw():  blockCnt  = " << blockCnt << endl;
-
-      for ( unsigned long i = 0; i < blockCnt; i++ ) 
-       {
-         char tmp1[9], tmp2[5];
-         memset( tmp1, 0, 9 );
-         memset( tmp2, 0, 5);
-         void *tmp11 = tmp1;
-         ULong64_t* tmp12 = (ULong64_t*)tmp11;
-         *tmp12 =fgChannelRawReadersPtr[reader]->GetBlockDataType( i );
-         void *tmp21 = tmp2;
-         ULong_t* tmp22 = (ULong_t*)tmp21;
-         *tmp22 = fgChannelRawReadersPtr[reader]->GetBlockDataOrigin( i );
-         cout << "Dataype is: "<< tmp1<<"   "<<tmp2 <<endl;
-       }
-      
-      unsigned long blk = fgChannelRawReadersPtr[reader]->FindBlockNdx("ATADNAHC","SOHP", 0xeFFFFFFF );
-
-      while ( blk != ~(unsigned long)0 ) 
-       {
-         cout << ":GetNextEventRaw(): updating block " << endl;
-         AliHLTUInt16_t moduleID;
-         const AliHLTPHOSRcuChannelDataStruct* rcuChannelDataPtr = (const AliHLTPHOSRcuChannelDataStruct*)fgChannelRawReadersPtr[reader]->GetBlockData( blk ); 
-         moduleID = rcuChannelDataPtr->fModuleID ;
-         int tmpx;
-         int tmpz;
-         AliHLTUInt32_t tmpChCnt =0;
-         AliHLTUInt16_t tmpSampleCnt =0;
-
-         tmpChCnt = rcuChannelDataPtr->fNValidChannels;
-         cout << "tmpChCnt = " << tmpChCnt << endl; 
-
-         for( AliHLTUInt32_t ch =0; ch < tmpChCnt; ch ++)
-           {
-             {
-               tmpz =  rcuChannelDataPtr->fValidData[ch].fZ;
-               tmpx =  rcuChannelDataPtr->fValidData[ch].fX;   
-               tmpSampleCnt =  rcuChannelDataPtr->fValidData[ch].fNSamples;
-
-               for(AliHLTUInt16_t sample =0; sample <tmpSampleCnt; sample ++)
-                 {
-                   if(  rcuChannelDataPtr->fValidData[ch].fGain  == 0)
-                     {
-                       fgChannelDataPlotPtr[tmpz][tmpx]->SetBinContent(sample,  rcuChannelDataPtr->fValidData[ch].fChannelData[sample]);
-                     }
-                 }
-             }
-           }
-
-         blk = fgChannelRawReadersPtr[reader]->FindBlockNdx("ATADNAHC","SOHP", 0xeFFFFFFF, blk+1);
-
-       } 
-    }
-  
-  UpdateChanneRawDataDisplay();
-  fgEvntCnt ++;
-}
-
-
-
-int
-AliHLTPHOSOnlineDisplay::GetHistogram()
-{
-  fgCalibHistPtr[LOW_GAIN]->Reset(); 
-  fgCalibHistPtr[HIGH_GAIN]->Reset();
-  int ret = 0;
-  unsigned long ndx;
-  const AliHLTComponentBlockData* iter = NULL;   
-  Bool_t nextSwitch=kTRUE; 
-
-  for(int reader = 0; reader <  fgNHosts; reader ++)
-    {
-      ret =fgCalibReadersPtr[reader]->ReadNextEvent(); ;  
-      if( ret ) 
-       {
-         int ndx = fgCalibReadersPtr[reader]->GetErrorConnectionNdx();
-         printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
-         cout << "HOMER getconncetioNdx  status = " << ndx << endl;
-         return ret; 
-       }
-      
-      unsigned long blockCnt = fgCalibReadersPtr[reader]->GetBlockCnt();
-      cout << "AliHLTPHOSOnlineDisplay::GetHistogram():  blockCnt  = " << blockCnt << endl;
-
-      for ( unsigned long i = 0; i < blockCnt; i++ ) 
-       {
-         char tmp1[9], tmp2[5];
-         memset( tmp1, 0, 9 );
-         memset( tmp2, 0, 5);
-         void *tmp11 = tmp1;
-         ULong64_t* tmp12 = (ULong64_t*)tmp11;
-         *tmp12 =fgCalibReadersPtr[reader]->GetBlockDataType( i );
-         void *tmp21 = tmp2;
-         ULong_t* tmp22 = (ULong_t*)tmp21;
-         *tmp22 = fgCalibReadersPtr[reader]->GetBlockDataOrigin( i );
-         cout << "Dataype is: "<< tmp1<<"   "<<tmp2 <<endl;
-       }
-      
-      unsigned long blk = fgCalibReadersPtr[reader]->FindBlockNdx("UCCARENE","SOHP", 0xFFFFFFFF );
-      //      int tmpWhileCnt = 0;
-  
-
-
-      while ( blk != ~(unsigned long)0 ) 
-       {
-         cout << "GetHistogram: updating block " << endl;
-         AliHLTUInt16_t moduleID;
-         const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct* accCellEnergiesPtr = (const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct*)fgCalibReadersPtr[reader]->GetBlockData( blk ); 
-         moduleID = accCellEnergiesPtr->fModuleID ;
-         //      int RcuXOffset = (accCellEnergiesPtr->fRcuX)*N_XCOLUMNS_RCU;
-         //      int RcuZOffset = (accCellEnergiesPtr->fRcuZ)*N_ZROWS_RCU;
-         cout << "(X,Z) =" << "("<< (int)accCellEnergiesPtr->fRcuX <<" , " <<  (int)accCellEnergiesPtr->fRcuZ << ") " << endl;
-         
-         int tmpx;
-         int tmpz;
-
-         for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
-           for(int z = 0; z <N_ZROWS_RCU; z ++)
-             {
-               {
-                 for(int gain = 0; gain < N_GAINS; gain ++)
-                   {
-                     tmpx = moduleID*N_XCOLUMNS_MOD + (accCellEnergiesPtr->fRcuX)*N_XCOLUMNS_RCU + x;
-                     tmpz = (accCellEnergiesPtr->fRcuZ)*N_ZROWS_RCU +z;
-
-                     fgCalibHistPtr[gain]->Fill(tmpx, tmpz, accCellEnergiesPtr->fAccumulatedEnergies[x][z][gain] );
-                     fgHitsHistPtr[gain]->Fill(tmpx, tmpz, accCellEnergiesPtr->fHits[x][z][gain] );
-                     
-                     if(fgHitsHistPtr[gain]->GetBinContent(tmpx, tmpz) > 0)
-                       {
-                         fgAveragePtr[gain]->SetBinContent(tmpx, tmpz, fgCalibHistPtr[gain]->GetBinContent(tmpx, tmpz)/fgHitsHistPtr[gain]->GetBinContent(tmpx, tmpz));
-                       }
-                   }
-               }
-             }
-
-         blk = fgCalibReadersPtr[reader]->FindBlockNdx("UCCARENE","SOHP", 0xFFFFFFFF, blk+1);
-         //      tmpWhileCnt ++;
-       } 
-    }
-  
-  UpdateHistograms();
-  fgEvntCnt ++;
-}
-
-
-void
-AliHLTPHOSOnlineDisplay::UpdateDisplay()
-{
-  fgCanvasHGPtr =  fEc1->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgLegoPlotHGPtr->Draw("LEGO2Z");
-  fgCanvasHGPtr->Update();
-  fgCanvasLGPtr = fEc2->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgLegoPlotLGPtr->Draw("LEGO2Z");
-  fgCanvasLGPtr->Update();
-
-  fgCanvasHGPtr =  fEc3->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgLegoPlotHGPtr->Draw("SCAT");
-  fgCanvasHGPtr->Update();
-  fgCanvasLGPtr = fEc4->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgLegoPlotLGPtr->Draw("SCAT");
-  fgCanvasLGPtr->Update();
-
-  fgCanvasHGPtr =  fEc5->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgLegoPlotHGPtr->Draw("CONTZ");
-  fgCanvasHGPtr->Update();
-  fgCanvasLGPtr = fEc6->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgLegoPlotLGPtr->Draw("CONTZ");
-  fgCanvasLGPtr->Update();
-}
-
-void
-AliHLTPHOSOnlineDisplay::UpdateHistograms()
-{
-  fgCanvasHGPtr =  fEc7->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgCalibHistPtr[HIGH_GAIN]->Draw("LEGO2Z");
-  fgCanvasHGPtr->Update();
-
-  fgCanvasLGPtr = fEc8->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgCalibHistPtr[LOW_GAIN]->Draw("LEGO2Z");
-  fgCanvasLGPtr->Update();
-
-  fgCanvasHGPtr =  fEc9->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgHitsHistPtr[HIGH_GAIN]->Draw("SCAT");
-  fgCanvasHGPtr->Update();
-
-  fgCanvasLGPtr = fEc10->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgHitsHistPtr[LOW_GAIN]->Draw("SCAT");
-  fgCanvasLGPtr->Update();
-
-  fgCanvasHGPtr =  fEc11->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgCalibHistPtr[HIGH_GAIN]->Draw("COLZ");
-  fgCanvasHGPtr->Update();
-
-  fgCanvasLGPtr = fEc12->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgCalibHistPtr[LOW_GAIN]->Draw("COLZ");
-  fgCanvasLGPtr->Update();
-
-
-  fgCanvasLGPtr = fEc13->GetCanvas();
-  fgCanvasLGPtr->cd();
-  fgAveragePtr[HIGH_GAIN]->Draw("COLZ");
-  fgCanvasLGPtr->Update();
-
-  fgCanvasHGPtr = fEc14->GetCanvas();
-  fgCanvasHGPtr->cd();
-  fgAveragePtr[LOW_GAIN]->Draw("COLZ");
-  fgCanvasHGPtr->Update();
-
-}
-
-
-void 
-AliHLTPHOSOnlineDisplay::UpdateChanneRawDataDisplay()
-{
-  fgTestCanvasPtr = new TCanvas("TEST", "testcanvas", 1200, 1000);  
-  //  fgTestCanvasPtr->Divide(N_ZROWS_RCU, N_XCOLUMNS_RCU, 0, 0);
-  fgTestCanvasPtr->Divide(N_XCOLUMNS_RCU, N_ZROWS_RCU, 0, 0);
-
-  for(int z = 0; z < N_ZROWS_RCU; z ++)
-    {
-      for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
-       {
-         //      fgTestCanvasPtr->cd(x*N_ZROWS_RCU +z + 1);
-         fgTestCanvasPtr->cd(z*N_XCOLUMNS_RCU +x + 1);
-
-         fgChannelDataPlotPtr[z][x]->Draw();
-       } 
-    }
-
-  fgTestCanvasPtr->Update();
-
-}
-
-
-
-