ROOT logo
void memoryCheck()
{
// include path
   gSystem->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT/TRD ");
   gSystem->AddIncludePath("-I$ALICE_ROOT/include");

// Load analysis framework libraries
   gSystem->Load("libANALYSIS");
   gSystem->Load("libANALYSISalice");
   gSystem->Load("libCORRFW");

// Add aditional AliRoot libraries
   gSystem->Load("libTENDER.so");
   gSystem->Load("libPWG0base.so");
   gSystem->Load("libPWG0dep.so");
   gSystem->Load("libPWG0selectors.so");
   gSystem->Load("libPWGPP.so");
   gSystem->Load("libPWG2.so");
   gSystem->Load("libPWG2forward.so");
   gSystem->Load("libEMCALUtils.so");
   gSystem->Load("libPWG4PartCorrBase.so");
   gSystem->Load("libPWG4PartCorrDep.so");
   gSystem->Load("libPWGHFbase.so");
   gSystem->Load("libPWGmuon.so");
   gSystem->Load("libPWGmuondep.so");
   TFile *f = new TFile("QA/syswatch.root");
   if (!f) return;
   TTree *t = (TTree*)f->Get("syswatch");
// read the analysis manager from file
   TFile *file = TFile::Open("QA/QA.root");
   if (!file) return;
   TIter nextkey(file->GetListOfKeys());
   AliAnalysisManager *mgr = 0;
   TKey *key;
   while ((key=(TKey*)nextkey())) {
      if (!strcmp(key->GetClassName(), "AliAnalysisManager"))
         mgr = (AliAnalysisManager*)file->Get(key->GetName());
   };
   if (!mgr) {
      ::Error("mrmoryCheck", "No analysis manager found in file QA.root");
      return;
   }
   
   TString task_name;
   TIter next(mgr->GetTasks());
   TObject *task;
   while ((task=next())) task_name += Form("%s ", task->GetName());
   t->SetAlias("event", "id0");
   t->SetAlias("RM","pI.fMemResident");
   TCanvas *canvas = new TCanvas("SysInfo",Form("sysinfo QA for %s", task_name.Data()),10,10,1200,1000);
   canvas->Divide(1,2);
   canvas->cd(1)->SetBorderMode(0);
   t->SetMarkerStyle(kCircle);
   t->SetMarkerColor(kRed);
   t->Draw("VM:event","id1==-1 && id2==-1","", 1234567890, 0);
   TH1* hist = (TH1*)gPad->GetListOfPrimitives()->FindObject("htemp");
   if (hist) {
      hist->SetTitle(Form("VM[MB] %s",task_name.Data()));
      hist->GetYaxis()->SetTitle("VM [MB]");
   }   
   canvas->cd(2)->SetBorderMode(0);
   t->SetMarkerStyle(kOpenSquare);
   t->SetMarkerColor(kBlue);
   t->Draw("RM:event","id1==-1 && id2==-1","", 1234567890, 0);
   TH1* hist = (TH1*)gPad->GetListOfPrimitives()->FindObject("htemp");
   if (hist) {
      hist->SetTitle(Form("RM[MB] %s", task_name.Data()));
      hist->GetYaxis()->SetTitle("RM [MB]");
   } 
   canvas->SaveAs("syswatch.gif");
   delete t;
}
 memoryCheck.C:1
 memoryCheck.C:2
 memoryCheck.C:3
 memoryCheck.C:4
 memoryCheck.C:5
 memoryCheck.C:6
 memoryCheck.C:7
 memoryCheck.C:8
 memoryCheck.C:9
 memoryCheck.C:10
 memoryCheck.C:11
 memoryCheck.C:12
 memoryCheck.C:13
 memoryCheck.C:14
 memoryCheck.C:15
 memoryCheck.C:16
 memoryCheck.C:17
 memoryCheck.C:18
 memoryCheck.C:19
 memoryCheck.C:20
 memoryCheck.C:21
 memoryCheck.C:22
 memoryCheck.C:23
 memoryCheck.C:24
 memoryCheck.C:25
 memoryCheck.C:26
 memoryCheck.C:27
 memoryCheck.C:28
 memoryCheck.C:29
 memoryCheck.C:30
 memoryCheck.C:31
 memoryCheck.C:32
 memoryCheck.C:33
 memoryCheck.C:34
 memoryCheck.C:35
 memoryCheck.C:36
 memoryCheck.C:37
 memoryCheck.C:38
 memoryCheck.C:39
 memoryCheck.C:40
 memoryCheck.C:41
 memoryCheck.C:42
 memoryCheck.C:43
 memoryCheck.C:44
 memoryCheck.C:45
 memoryCheck.C:46
 memoryCheck.C:47
 memoryCheck.C:48
 memoryCheck.C:49
 memoryCheck.C:50
 memoryCheck.C:51
 memoryCheck.C:52
 memoryCheck.C:53
 memoryCheck.C:54
 memoryCheck.C:55
 memoryCheck.C:56
 memoryCheck.C:57
 memoryCheck.C:58
 memoryCheck.C:59
 memoryCheck.C:60
 memoryCheck.C:61
 memoryCheck.C:62
 memoryCheck.C:63
 memoryCheck.C:64
 memoryCheck.C:65
 memoryCheck.C:66
 memoryCheck.C:67
 memoryCheck.C:68
 memoryCheck.C:69
 memoryCheck.C:70
 memoryCheck.C:71
 memoryCheck.C:72
 memoryCheck.C:73