]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/alionlinemonitor.cxx
#97492 Request to: patch AliSimulation; port to Release; make tag on release; for...
[u/mrichter/AliRoot.git] / MONITOR / alionlinemonitor.cxx
index def86579f9b643a259a0f019791783600d94f91e..5f1c401367cb0692759bae001e5b7f9d029c81d1 100644 (file)
@@ -20,62 +20,101 @@ int main(int argc, char **argv)
   AliOnlineReco *win = new AliOnlineReco;
   win->MapWindow();
 
+  TString autoRun(gSystem->Getenv("ONLINERECO_AUTORUN"));
+  if (autoRun == "1" || autoRun.CompareTo("true", TString::kIgnoreCase) == 0)
+  {
+    win->SetAutoRunMode(kTRUE);
+  }
+
   if (test)
   {
     win->SetTestMode();
 
-    win->GetSOR()->infoHandlerTest(2214);
-    win->GetSOR()->infoHandlerTest(2215);
-    win->GetSOR()->infoHandlerTest(2224);
-    win->GetSOR()->infoHandlerTest(2244);
+    win->GetSOR(0)->infoHandlerTest(2214);
+    win->GetSOR(0)->infoHandlerTest(2215);
+    win->GetSOR(0)->infoHandlerTest(2224);
+    win->GetSOR(0)->infoHandlerTest(2244);
 
     printf("win = (AliOnlineReco*) 0x%lx\n", (unsigned long)win);
   }
-  else {
-
+  else
+  {
     TString baseDir = gSystem->Getenv("ONLINERECO_BASE_DIR");
-    if (baseDir.IsNull()) {
+    if (baseDir.IsNull())
+    {
       printf("ERROR: ONLINERECO_BASE_DIR is not set. Exiting...");
       return 0;
     }
 
-    const char *dbHost = "aldaqdb";
-    Int_t dbPort = 3306;
-    const char *dbName = "LOGBOOK";
-    const char *user = "logbook";
-    const char *password = "alice";
+    TString dbHost = gSystem->Getenv("ONLINERECO_DB_HOST");
+    if (dbHost.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_HOST is not set. Exiting...");
+      return 0;
+    }
+
+    TString dbPort = gSystem->Getenv("ONLINERECO_DB_PORT");
+    if (dbPort.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_PORT is not set. Exiting...");
+      return 0;
+    }
+
+    TString dbName = gSystem->Getenv("ONLINERECO_DB_NAME");
+    if (dbName.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_NAME is not set. Exiting...");
+      return 0;
+    }
+
+    TString user = gSystem->Getenv("ONLINERECO_DB_USER");
+    if (user.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_USER is not set. Exiting...");
+      return 0;
+    }
+
+    TString password = gSystem->Getenv("ONLINERECO_DB_PASSWORD");
+    if (password.IsNull())
+    {
+      printf("ERROR: ONLINERECO_DB_PASSWORD is not set. Exiting...");
+      return 0;
+    }
 
-    TSQLServer* server = TSQLServer::Connect(Form("mysql://%s:%d/%s", dbHost, dbPort, dbName), user, password);
+    TSQLServer* server = TSQLServer::Connect(Form("mysql://%s:%s/%s", dbHost.Data(), dbPort.Data(), dbName.Data()), user.Data(), password.Data());
     if (!server) {
       printf("ERROR: Could not connect to DAQ Logbook");
       return 0;
     }
     TString sqlQuery;
     TTimeStamp ts;
-    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL AND partition = 'PHYSICS'",
-                 ts.GetSec()-86400);
-    //    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL",
-    //           ts.GetSec()-86400);
+    sqlQuery.Form("SELECT run FROM logbook WHERE DAQ_time_start > %u AND DAQ_time_end IS NULL AND partition REGEXP 'PHYSICS.*'",
+      (UInt_t)ts.GetSec()-86400);
     TSQLResult* result = server->Query(sqlQuery);
-    if (!result) {
+    if (!result)
+    {
       printf("ERROR: Can't execute query <%s>!", sqlQuery.Data());
       return 0;
     }
-    if (result->GetRowCount() == 0) {
+    if (result->GetRowCount() == 0)
+    {
       printf("No active physics runs found");
     }
-    else {
-      for (Int_t iRow = 0; iRow < result->GetRowCount(); iRow++) {
-       TSQLRow* row = result->Next();
-       TString runStr = row->GetField(0);
-       if (runStr.IsDigit())
-         win->StartOfRun(runStr.Atoi());
-       delete row;
+    else
+    {
+      for (Int_t iRow = 0; iRow < result->GetRowCount(); iRow++)
+      {
+        TSQLRow* row = result->Next();
+        TString runStr = row->GetField(0);
+        if (runStr.IsDigit())
+          win->StartOfRun(runStr.Atoi());
+        delete row;
       }
     }
     delete result;
   }
 
   app.Run(kTRUE);
+  
   return 0;
 }