ROOT logo
void
CreateIndex(const TString& dir, const TString& tree="esdTree")
{
  gROOT->SetMacroPath(Form("$ALICE_ROOT/PWGLF/FORWARD/trains:%s", 
			   gROOT->GetMacroPath()));
  gROOT->LoadMacro("ChainBuilder.C+");
  gROOT->Macro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/scripts/LoadLibs.C");
  
  Bool_t mc = false;
  if (tree.BeginsWith("mc")) { 
    mc = true;
    tree.Remove(0,2);
  }
  
  TString pat("*.root");
  if      (tree.EqualTo("esdTree", TString::kIgnoreCase)) pat="AliESDs*";
  else if (tree.EqualTo("aodTree", TString::kIgnoreCase)) pat="AliAOD*";
  else    Warning("", "Unknown tree: %s, pattern set to *.root", tree.Data());
  if (mc) {
    pat.Prepend("root_archive.zip@");
    pat.ReplaceAll("*", ".root");
  }


  TString opts;
  opts.Append(Form("pattern=%s", pat.Data()));
  opts.Append("&check");
  opts.Append("&clean");
  opts.Append("&recursive");
  // opts.Append("&verbose");
  if (mc) opts.Append("&mc");

  TString realDir(gSystem->ExpandPathName(dir.Data()));
  if (realDir.EqualTo(".")) realDir = gSystem->WorkingDirectory();

  TUrl url;
  url.SetProtocol("local");
  url.SetPort(0);
  url.SetFile(realDir);
  url.SetAnchor(tree);
  url.SetOptions(opts);
  
  Printf("Running ChainBuilder::CreateCollection(\"%s/index.root\",\"%s\")",
	 realDir.Data(), url.GetUrl());
  ChainBuilder::CreateCollection(Form("%s/index.root", realDir.Data()), url);
}

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