ROOT logo
void
RunFast(Bool_t      proof=false,
	Long64_t    maxEvents=100,
	UInt_t      runNo=138190,
	Double_t    bMin=0,
	Double_t    bMax=20,
	const char* eg="default",
	Int_t       monitor=5)
{
  TString ali = gSystem->ExpandPathName("${ALICE_ROOT}");
  // TString fwd = gSystem->ExpandPathName("$ANA_SRC");
  TString fwd = ali + "/PWGLF/FORWARD/analysis2";
  gSystem->AddIncludePath(Form("-I%s/include", ali.Data()));
  gROOT->SetMacroPath(Form("%s:%s/sim", gROOT->GetMacroPath(), fwd.Data()));

  // Remember to copy changes to FastSim.C(FastSim::ProofLoadLibs)
  TList clsLib;
  clsLib.Add(new TNamed("TVirtualMC",              "libVMC"));
  clsLib.Add(new TNamed("TLorentzVector",          "libPhysics"));
  clsLib.Add(new TNamed("TLinearFitter",           "libMinuit"));
  clsLib.Add(new TNamed("TTree",                   "libTree"));
  clsLib.Add(new TNamed("TProof",                  "libProof"));
  clsLib.Add(new TNamed("TGFrame",                 "libGui"));
  clsLib.Add(new TNamed("TSAXParser",              "libXMLParser"));
  clsLib.Add(new TNamed("AliVEvent",               "libSTEERBase"));
  clsLib.Add(new TNamed("AliESDEvent",             "libESD"));
  clsLib.Add(new TNamed("AliAODEvent",             "libAOD"));
  clsLib.Add(new TNamed("AliAnalysisManager",      "libANALYSIS"));
  clsLib.Add(new TNamed("AliCDBManager",           "libCDB"));
  clsLib.Add(new TNamed("AliRawVEvent",            "libRAWDatabase"));
  clsLib.Add(new TNamed("AliHit",                  "libSTEER"));
  clsLib.Add(new TNamed("AliGenMC",                "libEVGEN"));
  clsLib.Add(new TNamed("AliFastEvent",            "libFASTSIM"));

  TIter next(&clsLib);
  TObject* obj = 0;
  while ((obj = next())) {
    gROOT->LoadClass(obj->GetName(), obj->GetTitle());
  }

  const char* opt="";
  gROOT->LoadMacro(Form("%s/sim/FastSim.C+%s",fwd.Data(),opt));

  const char* cleanFiles[] = { "grp.dat",
			       "galice.root",
			       "Kinematics.root",
			       "fort.8",
			       "fort.16",
			       0 };
  const char** pClean = cleanFiles;
  while (*pClean) { 
    gSystem->Unlink(*pClean);
    pClean++;
  }

  const char* url = "lite:///?workers=8";
  ::Info("runFast", "Monitor=%d", monitor);
  if (proof) FastSim::Proof(url,maxEvents, runNo, eg, bMin, bMax, monitor);
  else       FastSim::Run(maxEvents, runNo, eg, bMin, bMax, monitor);
}
 RunFast.C:1
 RunFast.C:2
 RunFast.C:3
 RunFast.C:4
 RunFast.C:5
 RunFast.C:6
 RunFast.C:7
 RunFast.C:8
 RunFast.C:9
 RunFast.C:10
 RunFast.C:11
 RunFast.C:12
 RunFast.C:13
 RunFast.C:14
 RunFast.C:15
 RunFast.C:16
 RunFast.C:17
 RunFast.C:18
 RunFast.C:19
 RunFast.C:20
 RunFast.C:21
 RunFast.C:22
 RunFast.C:23
 RunFast.C:24
 RunFast.C:25
 RunFast.C:26
 RunFast.C:27
 RunFast.C:28
 RunFast.C:29
 RunFast.C:30
 RunFast.C:31
 RunFast.C:32
 RunFast.C:33
 RunFast.C:34
 RunFast.C:35
 RunFast.C:36
 RunFast.C:37
 RunFast.C:38
 RunFast.C:39
 RunFast.C:40
 RunFast.C:41
 RunFast.C:42
 RunFast.C:43
 RunFast.C:44
 RunFast.C:45
 RunFast.C:46
 RunFast.C:47
 RunFast.C:48
 RunFast.C:49
 RunFast.C:50
 RunFast.C:51
 RunFast.C:52
 RunFast.C:53
 RunFast.C:54
 RunFast.C:55
 RunFast.C:56
 RunFast.C:57
 RunFast.C:58
 RunFast.C:59
 RunFast.C:60
 RunFast.C:61