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