ROOT logo
//
void runAAFglob(TString dataset="/alice/data/LHC10h_000137161_p1_plusplusplus",
		TString outFName = "globs.root",
		Int_t  nEvents     = 50000000,
		Int_t  nEventsSkip = 0,
		TString alirootVer = "VO_ALICE@AliRoot::v4-21-04-AN",
		TString rootVer    = "VO_ALICE@ROOT::v5-27-06b",
		TString proofCluster="shahoian@alice-caf.cern.ch"
		//TString proofCluster="shahoian@skaf.saske.sk"
		) 
{ 
  //  
  Bool_t runLocal = kFALSE; // true only for local test mode
  if (runLocal) {
    dataset = "/default/shahoian/test_pp";
    //dataset = "/default/shahoian/test";
    proofCluster = "";
    alirootVer = "AliRootProofLite";
    nEvents = 500;
  }
  //
  printf("Requested: %s %s\n",alirootVer.Data(), rootVer.Data());
  printf("Output expected in %s\n",outFName.Data());
  //
  gEnv->SetValue("XSec.GSI.DelegProxy","2");
  //
  TString alirootMode="REC";
  TString extraLibs;
  extraLibs+= "ANALYSIS:ANALYSISalice";
  TList *list = new TList();
  // sets $ALIROOT_MODE on each worker to let proof to know to run in special mode
  list->Add(new TNamed("ALIROOT_MODE"      , alirootMode.Data()));
  list->Add(new TNamed("ALIROOT_EXTRA_LIBS", extraLibs.Data()));
  //  list->Add(new TNamed("ALIROOT_ENABLE_ALIEN","1"));
  //
  //REM: same version of AliRoot on client!!!!! Otherwise error!! 
  TProof::Mgr(proofCluster.Data())->SetROOTVersion(rootVer.Data());
  TProof::Open(proofCluster.Data());//,"workers=10x");
  //  TProof::Open(proofCluster.Data(),"workers=1x");
  if (!gProof) {
    Error("runAAFglob.C","Connection to AF failed.");
    return;
  }
  gProof->Exec("TObject *o = gEnv->GetTable()->FindObject(\"Proof.UseMergers\");"
	       "gEnv->GetTable()->Remove(o);", kTRUE);
  //  gProof->SetParameter("PROOF_UseMergers", 0);
  // Lets enable aliroot + extra libs on proof cluster
  if (runLocal) gProof->UploadPackage(alirootVer.Data());
  gProof->EnablePackage(alirootVer.Data(), list);
  //
  gROOT->LoadMacro("AnalysisMacroGlob.C");
  //
  if (runLocal) {
    Int_t numWorkers = gProof->GetParallel();
    if (numWorkers<1) {printf("No workers\n"); return;}
    gProof->SetParameter("PROOF_PacketizerStrategy", (Int_t)0);
    int frac = (Int_t) 5 / numWorkers;
    if (frac<1) frac = 1;
    gProof->SetParameter("PROOF_PacketAsAFraction", frac);
  }
  AnalysisMacroGlob(dataset,outFName,nEvents,nEventsSkip);
  //
}
 runAAFglob.C:1
 runAAFglob.C:2
 runAAFglob.C:3
 runAAFglob.C:4
 runAAFglob.C:5
 runAAFglob.C:6
 runAAFglob.C:7
 runAAFglob.C:8
 runAAFglob.C:9
 runAAFglob.C:10
 runAAFglob.C:11
 runAAFglob.C:12
 runAAFglob.C:13
 runAAFglob.C:14
 runAAFglob.C:15
 runAAFglob.C:16
 runAAFglob.C:17
 runAAFglob.C:18
 runAAFglob.C:19
 runAAFglob.C:20
 runAAFglob.C:21
 runAAFglob.C:22
 runAAFglob.C:23
 runAAFglob.C:24
 runAAFglob.C:25
 runAAFglob.C:26
 runAAFglob.C:27
 runAAFglob.C:28
 runAAFglob.C:29
 runAAFglob.C:30
 runAAFglob.C:31
 runAAFglob.C:32
 runAAFglob.C:33
 runAAFglob.C:34
 runAAFglob.C:35
 runAAFglob.C:36
 runAAFglob.C:37
 runAAFglob.C:38
 runAAFglob.C:39
 runAAFglob.C:40
 runAAFglob.C:41
 runAAFglob.C:42
 runAAFglob.C:43
 runAAFglob.C:44
 runAAFglob.C:45
 runAAFglob.C:46
 runAAFglob.C:47
 runAAFglob.C:48
 runAAFglob.C:49
 runAAFglob.C:50
 runAAFglob.C:51
 runAAFglob.C:52
 runAAFglob.C:53
 runAAFglob.C:54
 runAAFglob.C:55
 runAAFglob.C:56
 runAAFglob.C:57
 runAAFglob.C:58
 runAAFglob.C:59
 runAAFglob.C:60
 runAAFglob.C:61
 runAAFglob.C:62
 runAAFglob.C:63
 runAAFglob.C:64