ROOT logo
merger(const Char_t *filelist, const Char_t *output, Bool_t alien = kFALSE)
{

  gSystem->Setenv("TMPDIR", gSystem->pwd());
  if (alien) TGrid::Connect("alien");

  ifstream filein(filelist);
  Int_t nfiles = 0;
  Char_t filename[4096];
  TFileMerger m(kFALSE);
  m.OutputFile(output);

  while(1) {
    filein.getline(filename, 4096);
    if (filein.eof()) break;
    if (alien) sprintf(filename, "alien://%s", filename);
    printf("adding file: %s\n", filename);
    if (m.AddFile(filename)) {
      printf("file %s successfully added\n", filename);
      nfiles++;
    }
  }

  printf("start merging %d files\n", nfiles);
  m.Merge();
  printf("%d files merged: %s\n", nfiles, output);

  /* create dummy file to tell we are done */
  gSystem->Exec("touch done");
}
 merger.C:1
 merger.C:2
 merger.C:3
 merger.C:4
 merger.C:5
 merger.C:6
 merger.C:7
 merger.C:8
 merger.C:9
 merger.C:10
 merger.C:11
 merger.C:12
 merger.C:13
 merger.C:14
 merger.C:15
 merger.C:16
 merger.C:17
 merger.C:18
 merger.C:19
 merger.C:20
 merger.C:21
 merger.C:22
 merger.C:23
 merger.C:24
 merger.C:25
 merger.C:26
 merger.C:27
 merger.C:28
 merger.C:29
 merger.C:30
 merger.C:31