Merging STORAGE-dev to master
[u/mrichter/AliRoot.git] / MONITOR / monitor.C
index e4c4f7c..01967e9 100644 (file)
@@ -2,38 +2,41 @@
 #include <TSystem.h>
 #include <TError.h>
 #include <TInterpreter.h>
+#include "AliRun.h"
 #include "MONITOR/AliMonitorProcess.h"
 #include "MONITOR/AliMonitorControl.h"
 #endif
 
-void monitor(const char* alienHost = "alien://aliens7.cern.ch:15000/?direct",
+void monitor(Bool_t batchMode = kFALSE,
+            const char* selection = "ALL",
+            const char* alienHost = "alien://aliens7.cern.ch:15000/?direct",
             const char* alienDir = "/alice_mdc/DC")
 {
   // load libraries
-  if (strcmp(gSystem->Getenv("ALIHLT_USEPACKAGE"), "ALIROOT") == 0) {
-    if (!gROOT->GetClass("AliLevel3")) {
-      gSystem->Load("libAliL3Src.so");
-      gSystem->Load("libAliL3Misc.so");
-      gSystem->Load("libAliL3Hough.so");
-      gSystem->Load("libAliL3Comp.so");
-    }
+  if (!gROOT->GetClass("AliLevel3")) {
+    gSystem->Load("libAliHLTSrc.so");
+    gSystem->Load("libAliHLTMisc.so");
+    gSystem->Load("libAliHLTHough.so");
+    gSystem->Load("libAliHLTComp.so");
   }
   if (!gROOT->GetClass("AliMonitorProcess")) {
     gSystem->Load("libMONITOR.so");
   }
 
-  // make sure galice.root and compression tables are there
+  // make sure galice.root is there
   if (!gSystem->Which(".", "galice.root")) {
-    gAlice->Init("$ALICE_ROOT/MONITOR/galice.C");
-    gAlice->GetRunLoader()->Write();
-    delete gAlice->GetRunLoader();
-  }
-  if (!gSystem->Which(".", "Table0.dat")) {
-    gSystem->Exec("cp $ALICE_ROOT/RAW/Table*.dat .");
+    gAlice->InitMC("$ALICE_ROOT/MONITOR/galice.C");
+    AliRunLoader::Instance()->Write();
+    delete AliRunLoader::Instance();
   }
 
   // start the monitoring
-  AliMonitorProcess *process = new AliMonitorProcess(alienHost, alienDir);
-  //  process->Run();
-  new AliMonitorControl(process);
+  AliMonitorProcess *process = new AliMonitorProcess(alienHost, alienDir,
+                                                    selection);
+  if (batchMode) {
+    process->Run();
+    delete process;
+  } else {
+    new AliMonitorControl(process);
+  }
 }