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;
}