ROOT logo
/*
 * this macros connects to ALIEN and searches for TOFQA.root
 * files in the provided search dir. the files are merged in
 * a single local TOFQA.root file.
 * the output file can be used both to check QA histos merged 
 * over more files and to use them to provide reference QA
 * histos merged over more runs (the starting reference histos
 * will be histo from MC production/reconstruction process).
 */

MergeQAHistos(const Char_t *searchDir = "/alice/sim/PDC_09/LHC09a4/80050", Int_t maxFiles = kMaxInt)
{

  const Char_t *fileName = "TOFQA.root";

  TGrid *gGrid = TGrid::Connect("alien");
  if (!gGrid || !gGrid->IsConnected()) {
    AliError("cannot connect to ALIEN");
    return;
  }
  
  TGridResult *gr = gGrid->Query(searchDir, fileName);
  if (gr->GetEntries() < 1) {
    printf("less than one input files: abort\n");
    return;
  }
  printf("%d files found\n", gr->GetEntries());
  
  TFileMerger merger;
  merger.OutputFile(fileName);
  
  Int_t mergedFiles = 0;
  Int_t nFiles = gr->GetEntries();
  for (Int_t i = 0; i < nFiles && i < maxFiles; i++) {
    
    if (merger.AddFile(gr->GetKey(i, "turl")))
      mergedFiles++;

  }

  merger.Merge();
  printf("merged %d files\n", mergedFiles);
  printf("output written on %s\n", fileName);
}

 MergeQAHistos.C:1
 MergeQAHistos.C:2
 MergeQAHistos.C:3
 MergeQAHistos.C:4
 MergeQAHistos.C:5
 MergeQAHistos.C:6
 MergeQAHistos.C:7
 MergeQAHistos.C:8
 MergeQAHistos.C:9
 MergeQAHistos.C:10
 MergeQAHistos.C:11
 MergeQAHistos.C:12
 MergeQAHistos.C:13
 MergeQAHistos.C:14
 MergeQAHistos.C:15
 MergeQAHistos.C:16
 MergeQAHistos.C:17
 MergeQAHistos.C:18
 MergeQAHistos.C:19
 MergeQAHistos.C:20
 MergeQAHistos.C:21
 MergeQAHistos.C:22
 MergeQAHistos.C:23
 MergeQAHistos.C:24
 MergeQAHistos.C:25
 MergeQAHistos.C:26
 MergeQAHistos.C:27
 MergeQAHistos.C:28
 MergeQAHistos.C:29
 MergeQAHistos.C:30
 MergeQAHistos.C:31
 MergeQAHistos.C:32
 MergeQAHistos.C:33
 MergeQAHistos.C:34
 MergeQAHistos.C:35
 MergeQAHistos.C:36
 MergeQAHistos.C:37
 MergeQAHistos.C:38
 MergeQAHistos.C:39
 MergeQAHistos.C:40
 MergeQAHistos.C:41
 MergeQAHistos.C:42
 MergeQAHistos.C:43
 MergeQAHistos.C:44
 MergeQAHistos.C:45
 MergeQAHistos.C:46