bug fix in AliStorageEventManager
authorjniedzie <jeremi.niedziela@cern.ch>
Sat, 22 Nov 2014 08:45:39 +0000 (09:45 +0100)
committerjniedzie <jeremi.niedziela@cern.ch>
Tue, 2 Dec 2014 10:58:05 +0000 (11:58 +0100)
EVE/EveBase/AliEveEventManager.cxx
EVE/macros/alieve_online_new.C
MONITOR/alistoragemanager/AliStorageEventManager.cxx

index 708eece..9d8b8fa 100644 (file)
@@ -764,10 +764,10 @@ void AliEveEventManager::Open()
 
 void AliEveEventManager::InitOCDB(int runNo)
 {
-               static const TEveException kEH("AliEveEventManager::InitOCDB ");
+  static const TEveException kEH("AliEveEventManager::InitOCDB ");
     //if (this == fgMaster)
     {
-        AliCDBManager* cdb = AliCDBManager::Instance();
+      AliCDBManager* cdb = AliCDBManager::Instance();
         if (cdb->IsDefaultStorageSet() == kTRUE)
         {
             Warning(kEH, "CDB already set - using the old storage:\n  '%s'",
@@ -799,7 +799,6 @@ void AliEveEventManager::InitOCDB(int runNo)
             if (cdb->IsDefaultStorageSet() == kFALSE)
                 throw kEH + "CDB initialization failed for '" + fgCdbUri + "'.";
         }
-
         if (fgCdbUri.BeginsWith("local://"))
         {
             TString curPath = gSystem->WorkingDirectory();
@@ -819,7 +818,7 @@ void AliEveEventManager::InitOCDB(int runNo)
                     cdb->SetSpecificStorage(grp, lpath);
                 }
             }
-        }
+       }
     }
 }
 
@@ -1214,7 +1213,7 @@ void AliEveEventManager::NextEvent()
             {
                 if(fCurrentEvent[fEventInUse]->GetRunNumber() >= 0)
                 {
-                    printf("======================= setting event to %d\n", fEventId);
+                 printf("======================= setting event to %d\n", fCurrentEvent[fEventInUse]->GetEventNumberInFile());
                     
                     DestroyElements();
                     InitOCDB(fCurrentEvent[fEventInUse]->GetRunNumber());
index 9c5fbd1..50931d8 100644 (file)
@@ -48,11 +48,11 @@ void alieve_online_new()
     
     //These macros crashes on mac os. To be checked
     
-    //TEveUtil::LoadMacro("geom_gentle_trd.C");
-    //multiView->InitGeomGentleTrd(geom_gentle_trd());
+    TEveUtil::LoadMacro("geom_gentle_trd.C");
+    multiView->InitGeomGentleTrd(geom_gentle_trd());
     
-    //TEveUtil::LoadMacro("geom_gentle_muon.C");
-    //multiView->InitGeomGentleMuon(geom_gentle_muon(), kFALSE, kFALSE, kTRUE);
+    TEveUtil::LoadMacro("geom_gentle_muon.C");
+    multiView->InitGeomGentleMuon(geom_gentle_muon(), kFALSE, kFALSE, kTRUE);
     
     //============================================================================
     // Standard macros to execute -- not all are enabled by default.
@@ -188,46 +188,47 @@ void alieve_online_on_new_event()
         mv->SetCenterMuon(x[0], x[1], x[2]);
     mv->ImportEventMuon(top);
     
-    /*
+    
      // Register image to amore.
      // const TString pichost("aldaqacrs3");
      const TString pichost(gEnv->GetValue("AliEve.imageDumpHost", "localhost"));
      TTimeStamp now;
      Double_t delta = now.AsDouble() - g_pic_prev.AsDouble();
      
-     printf("Pre image dump: host='%s', delta=%f.\n",
-     gSystem->HostName(), delta);
+     printf("Pre image dump: host='%s', delta=%f.\n",gSystem->HostName(), delta);
      
      AliSysInfo::AddStamp("on_new_event_pic");
-     if (pichost == gSystem->HostName() && delta >= 30)
+     // if (pichost == gSystem->HostName() && delta >= 30)
      {
-     TString id;      id.Form("online-viz-%03d", g_pic_id);
-     TString pic(id); pic += ".png";
+       TString id;      id.Form("online-viz-%03d", g_pic_id);
+       TString pic(id); pic += ".png";
      
-     printf("In image dump: file='%s'.\n", pic.Data());
+       printf("In image dump: file='%s'.\n", pic.Data());
      
-     gEve->GetBrowser()->RaiseWindow();
-     gEve->FullRedraw3D();
-     gSystem->ProcessEvents();
+       gEve->GetBrowser()->RaiseWindow();
+       gEve->FullRedraw3D();
+       gSystem->ProcessEvents();
      
-     Int_t status;
+       Int_t status;
      
-     // create screenshots from OpenGL views
-     TEveUtil::LoadMacro("saveViews.C");
-     saveViews(pic.Data());
+       // create screenshots from OpenGL views
+       TEveUtil::LoadMacro("saveViews.C");
+       saveViews(pic.Data());
      
-     // send screenshot to AMORE
-     status = gSystem->Exec(TString::Format("SendImageToAmore %s %s %d",
-     id.Data(), pic.Data(),
-     AliEveEventManager::AssertESD()->GetRunNumber()));
+       // send screenshot to AMORE
+       cout<<"Sending:"<<TString::Format("SendImageToAmore %s %s %d",id.Data(), pic.Data(),AliEveEventManager::AssertESD()->GetRunNumber())<<endl;
+
+       status = gSystem->Exec(TString::Format("SendImageToAmore %s %s %d",
+                                             id.Data(), pic.Data(),
+                                             AliEveEventManager::AssertESD()->GetRunNumber()));
      
-     printf("Post AMORE reg -- status=%d, run=%d.\n", status,
-     AliEveEventManager::AssertESD()->GetRunNumber());
+       printf("Post AMORE reg -- status=%d, run=%d.\n", status,
+             AliEveEventManager::AssertESD()->GetRunNumber());
      
-     if (++g_pic_id >= g_pic_max)
-     g_pic_id = 0;
-     g_pic_prev.Set();
-     }*/
+       if (++g_pic_id >= g_pic_max)
+        g_pic_id = 0;
+       g_pic_prev.Set();
+     }
     AliSysInfo::AddStamp("on_new_event_end");
 }
 
index 455e5cc..1f28d06 100644 (file)
@@ -477,8 +477,13 @@ vector<serverListStruct> AliStorageEventManager::GetServerListVector(storageSock
 AliESDEvent* AliStorageEventManager::GetEvent(storageSockets socket,int timeout)
 {
     pollitem_t items[1] =  {{*fSockets[socket],0,ZMQ_POLLIN,0}} ;
-    if(timeout>=0){if(poll (&items[0], 1, timeout)==0){return NULL;}}
-    
+    if(timeout>=0){
+       try{(poll (&items[0], 1, timeout)==0);}
+       catch(const zmq::error_t &e){
+         cout<<"EVENT MANAGER -- GetEvent():"<<e.what()<<endl;
+           return NULL;
+         }
+    }
     message_t* message = new message_t();
     
     try
@@ -490,7 +495,6 @@ AliESDEvent* AliStorageEventManager::GetEvent(storageSockets socket,int timeout)
         cout<<"MANAGER -- "<<e.what()<<endl;
         return NULL;
     }
-    
     TBufferFile *mess = new TBufferFile(TBuffer::kRead,
                                         message->size()+sizeof(UInt_t),
                                         message->data());