-#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 "AliHLTPHOSCommonDefs.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>
-
-
-#define MAX_BIN_VALUE 1023
+#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;
-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];
-TH2S* AliHLTPHOSOnlineDisplay::legoPlotLGPtr = 0; /**<2D histogram for low gain channels*/
-TH2S* AliHLTPHOSOnlineDisplay::legoPlotHGPtr = 0; /**<2D histogram for high gain channels*/
-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 legoplot for High gain channels*/
-TCanvas* AliHLTPHOSOnlineDisplay::fgCanvasLGPtr = 0; /**<Canvas to plot legoplot for Low gain channels*/
-Bool_t AliHLTPHOSOnlineDisplay::fgAccumulate = kTRUE ; /**<If set to kFALSE reset legoplot between event, kTRUE adds current energies to previous plot*/
-char* AliHLTPHOSOnlineDisplay::host = 0;
-int AliHLTPHOSOnlineDisplay::port = 0;
-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;
-TGTab* AliHLTPHOSOnlineDisplay::fTab = 0;
-TGTab* AliHLTPHOSOnlineDisplay::fSubTab = 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;
using namespace std;
AliHLTPHOSOnlineDisplay*
-AliHLTPHOSOnlineDisplay::Instance()
+AliHLTPHOSOnlineDisplay::Instance(int argc, char** argv)
{
- if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay(host, port);
+ if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay(argc, argv);
return fgInstancePtr;
}
AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay()
{
- // if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay(host, port);
- // return fgInstancePtr;
- // cout << "ERROR: You canot create Onlinedisplay without parameters" << endl;
- // cout << "Usage: AliHLTPHOSOnlineDisplay(char *hostname, int port)" << endl;
+ cout << "ERROR ! level: FATAL, you cannot invoke the onlinedisplay without arguments" << endl;
}
-AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay(char *hostname, int port)
+
+AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay(int argc, char** argv)
{
+ ScanArguments(argc, argv);
char **tmp;
cout << "creating new PHOS Onlinedisplay" << endl;
- legoPlotLGPtr = 0;
- legoPlotHGPtr = 0;
-
- //fgHomerReaderPtr = new HOMERReader(hostname, port);
-
fgHomerReaderPtr = new HOMERReader(fgNHosts, (const char**)fgHosts, fgPorts);
+ cout << "AliHLTPHOSOnlineDisplay::AliHLTPHOSOnlineDisplay: fgHomerReaderPtr = " << fgHomerReaderPtr << endl;
-
-
- // fgHomerReaderPtr = new HOMERReader(fgNHosts, fgHosts, fgPorts);
for(int i = 0; i <fgNHosts; i++)
{
- fgHomerReadersPtr[i] = new HOMERReader(fgHosts[i], fgPorts[i]);
+ fgHomerReadersPtr[i] = new HOMERReader(fgHosts[i], fgPorts[i]);
}
-
-
InitDisplay();
- int ret = 0;
- Bool_t nextSwitch=kTRUE;
- cout << "The number of ports is" << fgNPorts << endl;
- cout << "The number of HOSTS is" << fgNHosts << endl;
-
- for(int i = 0; i< fgNPorts; i++)
- {
- cout << "Port[" << i <<"] = " << fgPorts[i] << endl;
- }
-
- for(int i = 0; i< fgNHosts; i++)
- {
- cout << "Host[" << i <<"] = " << fgHosts[i] << endl;
- }
-
}
}
+
void
AliHLTPHOSOnlineDisplay::InitDisplay()
{
+ char tmpHistoName[256];
+ char tmpChDtaName[256];
+
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");
- fSubTab = new TGTab(tf, 100, 100);
- TGCompositeFrame *tf2 = fSubTab->AddTab("LEGO");
-
- fSubF1 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
- fEc1 = new TRootEmbeddedCanvas("ec1", fSubF1, 100, 100);
- fSubF1->AddFrame(fEc1, fL1);
-
- fEc2 = new TRootEmbeddedCanvas("ec1", fSubF1, 100, 100);
- fgCanvasHGPtr = fEc2->GetCanvas();
- fSubF1->AddFrame(fEc2, fL1);
- tf2->AddFrame(fSubF1, fL1);
-
- tf2 = fSubTab->AddTab("SCAT");
- fSubF2 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
- tf2->AddFrame(fSubF2, fL1);
- fEc3 = new TRootEmbeddedCanvas("ec1", fSubF2, 100, 100);
- fSubF2->AddFrame(fEc3, fL1);
- fEc4 = new TRootEmbeddedCanvas("ec1", fSubF2, 100, 100);
- fSubF2->AddFrame(fEc4, fL1);
-
-
- tf2 = fSubTab->AddTab("SURF");
- fSubF3 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
- tf2->AddFrame(fSubF3, fL1);
- fEc5 = new TRootEmbeddedCanvas("ec1", fSubF3, 100, 100);
- fSubF3->AddFrame(fEc5, fL1);
- fEc6 = new TRootEmbeddedCanvas("ec1", fSubF3, 100, 100);
- fSubF3->AddFrame(fEc6, fL1);
- fSubTab->Resize();
- tf->AddFrame(fSubTab, fL1);
-
- tf = fTab->AddTab("Tab 2");
- fF1 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame);
-
- tf = fTab->AddTab("Tab 3");
- fF2 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame);
- tf->AddFrame(fF2, fL1);
-
-
- tf = fTab->AddTab("Tab 4");
- fF4 = new TGCompositeFrame(tf, 60, 20, kVerticalFrame);
- tf->AddFrame(fF4, fL1);
- // tf->AddFrame(tf2, fL1);
+ 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(fF1, "get event");
- fgEventButtPtr = new AliHLTPHOSGetEventButton(fSubF1, "get event");
-
MapSubwindows();
Resize();
SetWindowName("online display");
}
+int
+AliHLTPHOSOnlineDisplay::GetNextEvent()
+{
+ fgEventTabPtr->GetNextEvent();
+}
+
+
+int
+AliHLTPHOSOnlineDisplay::GetNextEventRaw()
+{
+ fgRawTabPtr->GetNextEvent();
+}
+
+
+int
+AliHLTPHOSOnlineDisplay::GetHistogram()
+{
+ fgCalibTabPtr->GetNextEvent();
+}
+
+
int
AliHLTPHOSOnlineDisplay::ScanArguments(int argc, char** argv)
{
}
fgPorts = new short unsigned[100];
-
Bool_t hostIsSet = kFALSE;
Bool_t portIsSet = kFALSE;
int iResult=0;
TString argument="";
- // int hostCnt = 0;
-
- int bMissingParam=0;
- printf("Main: the number of argumnets is %d \n", argc);
+
for (int i=0; i<argc && iResult>=0; i++)
{
argument=argv[i];
-
+
if (argument.IsNull())
{
continue;
}
-
+
+ if (argument.CompareTo("-sync")==0)
+ {
+ cout << "setting Synchronize to true" << endl;
+ fgSyncronize = kTRUE;
+ }
+
+ if (argument.CompareTo("-acc")==0)
+ {
+ cout << "setting Accumulate to true" << endl;
+ fgAccumulate = kTRUE;
+ }
+
if (argument.CompareTo("-host")==0)
{
if(i+1 <= argc)
{
i++;
- host = argv[i];
- cout << "sprintf " <<host <<endl;
sprintf(fgHosts[fgNHosts],"%s", argv[i]);
- cout << "finnished sprintf " <<host <<endl;
fgNHosts ++;
+ cout <<"fgNHosts set to"<< fgNHosts <<endl;
hostIsSet = kTRUE;
if(i+1 <= argc)
{
portIsSet = kTRUE;
}
}
-
else
{
-
- fgPorts[fgNPorts] = DEFAULT_PORT;
- cout << "B setting port to " << fgPorts[fgNPorts] <<endl;
+ fgPorts[fgNPorts] = DEFAULT_EVENT_PORT;
+ cout << "B setting port to " << fgPorts[fgNPorts] <<endl;
fgNPorts ++;
portIsSet = kTRUE;
}
-
-
}
-
}
-
}
}
-
-
if(hostIsSet != kTRUE || portIsSet != kTRUE)
{
if(hostIsSet == kFALSE)
{
printf("ERROR: no port spcified\n");
}
- printf("\nYou must specify hostname & port as command line arguments\n\n");
+ printf("\nYou must specify at least one host \n\n");
printf("*****************************************************************\n");
- printf("\nUsage: ./onlinedisplay -hostname <hostname> -port <port>\n\n");
+ printf("\nUsage: ./onlinedisplay -host <hostname> -port <port>");
+ printf("\n-port is optional, if not set port 42001 will be used\n");
printf("*****************************************************************\n\n\n");
iResult = -1;
-
}
else
}
return iResult;
-}
-
-
-int
-AliHLTPHOSOnlineDisplay::GetNextEvent()
-{
- int whileCnt = 0;
-
- if(fgEvntCnt == 0)
- {
- legoPlotHGPtr = new TH2S("Homer","HLT:HOMER: #pi^{0} 5 - 30Gev, High gain", N_COLUMNS_MOD* N_MODULES , 0,
- N_COLUMNS_MOD* N_MODULES , N_ROWS_MOD, 0, N_ROWS_MOD);
- legoPlotHGPtr->SetMaximum( MAX_BIN_VALUE);
- legoPlotLGPtr = new TH2S("Homer","HLT:HOMER: #pi^{0} 5 - 30Gev, Low gain", N_COLUMNS_MOD* N_MODULES , 0,
- N_COLUMNS_MOD* N_MODULES , N_ROWS_MOD, 0, N_ROWS_MOD);
- legoPlotLGPtr->SetMaximum( MAX_BIN_VALUE);
- }
-
-
- if(fgAccumulate == kFALSE)
- {
- cout <<"restting legoplot" << endl;
- if(legoPlotHGPtr !=0)
- {
- legoPlotHGPtr->Reset();
- }
-
- if(legoPlotLGPtr !=0)
- {
- legoPlotLGPtr->Reset();
- }
- }
-
-
- int ret = 0;
- unsigned long ndx;
- const AliHLTComponentBlockData* iter = NULL;
- Bool_t nextSwitch=kTRUE;
-
- cout << "homerreader connectionstatus =" <<fgHomerReaderPtr->GetConnectionStatus() << endl;;
-
- for(int reader = 0; reader < fgNHosts; reader ++)
- {
- ret =fgHomerReadersPtr[reader]->ReadNextEvent();
-
- cout << "Event ID for reader " << reader <<" = "<< fgHomerReadersPtr[reader]->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 = fgHomerReadersPtr[reader]->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 =fgHomerReadersPtr[reader]->GetBlockDataOrigin( i );
- }
- unsigned long blk = fgHomerReadersPtr[reader]->FindBlockNdx( fgDefaultDataType, fgDefaultDet, 0xFFFFFFFF );
-
-
- while ( blk != ~(unsigned long)0 )
- {
- AliHLTUInt16_t moduleID;
- const AliHLTPHOSRcuCellEnergyDataStruct* cellEnergiesPtr = (const AliHLTPHOSRcuCellEnergyDataStruct*)fgHomerReadersPtr[reader]->GetBlockData( blk );
- moduleID = cellEnergiesPtr->fModuleID ;
- int tmpCount = cellEnergiesPtr->fCnt;
- int tmpRow;
- int tmpCol;
- int tmpGain;
- Int_t tmpBin;
-
- for(int i= 0; i<tmpCount; i++)
- {
- tmpRow = cellEnergiesPtr->fValidData[i].fRow;
- tmpCol = cellEnergiesPtr->fValidData[i].fCol;
- tmpGain = cellEnergiesPtr->fValidData[i].fGain;
-
- if(tmpGain == HIGH_GAIN)
- {
- legoPlotHGPtr->Fill(moduleID*N_COLUMNS_MOD + tmpCol + N_COLUMNS_RCU*cellEnergiesPtr->fRcuZ, tmpRow + N_ROWS_RCU*cellEnergiesPtr->fRcuX, cellEnergiesPtr->fValidData[i].fEnergy);
- }
-
- else if(tmpGain == LOW_GAIN)
- {
- legoPlotLGPtr->Fill(moduleID*N_COLUMNS_MOD + tmpCol + N_COLUMNS_RCU*cellEnergiesPtr->fRcuZ, tmpRow + N_ROWS_RCU*cellEnergiesPtr->fRcuX, cellEnergiesPtr->fValidData[i].fEnergy);
- }
-
- }
-
- blk = fgHomerReadersPtr[reader]->FindBlockNdx( fgDefaultDataType, fgDefaultDet, 0xFFFFFFFF, blk+1);
-
- whileCnt ++;
-
- }
-
- }
-
- UpdateDisplay();
-
- fgEvntCnt ++;
-}
-
-int
-AliHLTPHOSOnlineDisplay::GetNextEvent2()
-{
- int whileCnt = 0;
-
- if(fgEvntCnt == 0)
- {
- legoPlotHGPtr = new TH2S("Homer","HLT:HOMER: #pi^{0} 5 - 30Gev, High gain", N_COLUMNS_MOD* N_MODULES , 0,
- N_COLUMNS_MOD* N_MODULES , N_ROWS_MOD, 0, N_ROWS_MOD);
- legoPlotHGPtr->SetMaximum( MAX_BIN_VALUE);
- legoPlotLGPtr = new TH2S("Homer","HLT:HOMER: #pi^{0} 5 - 30Gev, Low gain", N_COLUMNS_MOD* N_MODULES , 0,
- N_COLUMNS_MOD* N_MODULES , N_ROWS_MOD, 0, N_ROWS_MOD);
- legoPlotLGPtr->SetMaximum( MAX_BIN_VALUE);
- }
-
-
- if(fgAccumulate == kFALSE)
- {
- cout <<"restting legoplot" << endl;
- if(legoPlotHGPtr !=0)
- {
- legoPlotHGPtr->Reset();
- }
-
- if(legoPlotLGPtr !=0)
- {
- legoPlotLGPtr->Reset();
- }
- }
-
-
- int ret = 0;
- unsigned long ndx;
- const AliHLTComponentBlockData* iter = NULL;
- Bool_t nextSwitch=kTRUE;
-
- cout << "homerreader connectionstatus sync=" <<fgHomerReaderPtr->GetConnectionStatus() << endl;;
-
- // for(int reader = 0; reader < fgNHosts; reader ++)
- // {
- ret =fgHomerReaderPtr->ReadNextEvent();
-
- // cout << "Event ID for reader " << reader <<" = "<< fgHomerReaderPtr->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 sync= " << ndx << endl;
- return ret;
- }
-
-
- unsigned long blockCnt = fgHomerReaderPtr->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 =fgHomerReaderPtr->GetBlockDataType( i );
- void *tmp21 = tmp2;
- ULong_t* tmp22 = (ULong_t*)tmp21;
- *tmp22 =fgHomerReaderPtr->GetBlockDataOrigin( i );
- }
- unsigned long blk = fgHomerReaderPtr->FindBlockNdx( fgDefaultDataType, fgDefaultDet, 0xFFFFFFFF );
-
-
- while ( blk != ~(unsigned long)0 )
- {
- AliHLTUInt16_t moduleID;
- const AliHLTPHOSRcuCellEnergyDataStruct* cellEnergiesPtr = (const AliHLTPHOSRcuCellEnergyDataStruct*)fgHomerReaderPtr->GetBlockData( blk );
- moduleID = cellEnergiesPtr->fModuleID ;
- int tmpCount = cellEnergiesPtr->fCnt;
- int tmpRow;
- int tmpCol;
- int tmpGain;
- Int_t tmpBin;
-
- for(int i= 0; i<tmpCount; i++)
- {
- tmpRow = cellEnergiesPtr->fValidData[i].fRow;
- tmpCol = cellEnergiesPtr->fValidData[i].fCol;
- tmpGain = cellEnergiesPtr->fValidData[i].fGain;
-
- if(tmpGain == HIGH_GAIN)
- {
- legoPlotHGPtr->Fill(moduleID*N_COLUMNS_MOD + tmpCol + N_COLUMNS_RCU*cellEnergiesPtr->fRcuZ, tmpRow + N_ROWS_RCU*cellEnergiesPtr->fRcuX, cellEnergiesPtr->fValidData[i].fEnergy);
- }
-
- else if(tmpGain == LOW_GAIN)
- {
- legoPlotLGPtr->Fill(moduleID*N_COLUMNS_MOD + tmpCol + N_COLUMNS_RCU*cellEnergiesPtr->fRcuZ, tmpRow + N_ROWS_RCU*cellEnergiesPtr->fRcuX, cellEnergiesPtr->fValidData[i].fEnergy);
- }
-
- }
-
- blk = fgHomerReaderPtr->FindBlockNdx( fgDefaultDataType, fgDefaultDet, 0xFFFFFFFF, blk+1);
-
- // whileCnt ++;
-
- // }
-
- }
-
- UpdateDisplay();
-
- fgEvntCnt ++;
-}
-
-
-void
-AliHLTPHOSOnlineDisplay::UpdateDisplay()
-{
- fgCanvasHGPtr = fEc1->GetCanvas();
- fgCanvasHGPtr->cd();
- legoPlotHGPtr->Draw("LEGO2Z");
- fgCanvasHGPtr->Update();
- fgCanvasLGPtr = fEc2->GetCanvas();
- fgCanvasLGPtr->cd();
- legoPlotLGPtr->Draw("LEGO2Z");
- fgCanvasLGPtr->Update();
-
- fgCanvasHGPtr = fEc3->GetCanvas();
- fgCanvasHGPtr->cd();
- legoPlotHGPtr->Draw("SCAT");
- fgCanvasHGPtr->Update();
- fgCanvasLGPtr = fEc4->GetCanvas();
- fgCanvasLGPtr->cd();
- legoPlotLGPtr->Draw("SCAT");
- fgCanvasLGPtr->Update();
-
- fgCanvasHGPtr = fEc5->GetCanvas();
- fgCanvasHGPtr->cd();
- legoPlotHGPtr->Draw("CONTZ");
- fgCanvasHGPtr->Update();
- fgCanvasLGPtr = fEc6->GetCanvas();
- fgCanvasLGPtr->cd();
- legoPlotLGPtr->Draw("CONTZ");
- fgCanvasLGPtr->Update();
-}
-
+}//end ScanArguments