//\r
\r
//\r
- TString analysisMode = "grid"; // "local", "grid", or "proof" (not yet)\r
- TString inputMode = "list"; // "list", "xml", or "dataset" (not yet)\r
+ TString analysisMode = "grid"; // "local", "grid", or "proof"\r
+ TString inputMode = "list"; // "list", "xml", or "dataset"\r
Long64_t nentries=1234567890,firstentry=0;\r
Bool_t useParFiles=kFALSE;\r
Bool_t useAlienPlugin=kTRUE;\r
TGrid::Connect("alien://");\r
} else if(analysisMode=="proof") {\r
// Connect to the PROOF cluster\r
- printf("PROOF mode not yet functional..\n");\r
- return;\r
+ if(inputMode.Data()!="dataset") {printf("Input mode must be dataset, for proof analysis\n"); return;}\r
+ gEnv->SetValue("XSec.GSI.DelegProxy","2");\r
TProof::Open("alicecaf");\r
//TProof::Reset("alicecaf");\r
}\r
// Enable the needed packages\r
//gProof->ClearPackages();\r
if(!useParFiles) {\r
- gProof->UploadPackage("AF-v4-16");\r
- gProof->EnablePackage("AF-v4-16");\r
+ gProof->UploadPackage("AF-v4-17");\r
+ gProof->EnablePackage("AF-v4-17");\r
} else {\r
TString parDir="/afs/cern.ch/user/d/dainesea/code/";\r
TString parFile;\r
\r
// Create Alien plugin, if requested\r
if(useAlienPlugin) { \r
+ if(analysisMode!="grid") {printf("Analysis mode must be grid, to use alien plugin\n"); return;}\r
AliAnalysisGrid *alienHandler = CreateAlienHandler(pluginmode,useParFiles); \r
if(!alienHandler) return;\r
}\r
\r
\r
//-------------------------------------------------------------------\r
- // Prepare input chain\r
+ // Prepare input\r
TChain *chainAOD = 0;\r
TString dataset; // for proof\r
\r
if(!useAlienPlugin) {\r
TString makeAODInputChain="MakeAODInputChain.C"; makeAODInputChain.Prepend(loadMacroPath.Data());\r
- gROOT->LoadMacro(makeAODInputChain.Data());\r
if(inputMode=="list") {\r
// Local files\r
+ gROOT->LoadMacro(makeAODInputChain.Data());\r
chainAOD = MakeAODInputChain();// with this it reads ./AliAOD.root and ./AliAOD.VertexingHF.root\r
//chainAOD = MakeAODInputChain("alien:///alice/cern.ch/user/r/rbala/newtrain/out_lhc08x/180100/",1,1);\r
} else if(inputMode=="xml") {\r
// xml\r
+ gROOT->LoadMacro(makeAODInputChain.Data());\r
chainAOD = MakeAODInputChain("collection_aod.xml","collection_aodHF.xml");\r
} else if(inputMode=="dataset") {\r
// CAF dataset\r
- //gProof->ShowDataSet();\r
- dataset="/ITS/dainesea/AODVertexingHF_LHC08x_180100_small";\r
- chainAOD = MakeAODInputChainCAF(dataset.Data());\r
+ //gProof->ShowDataSets();\r
+ dataset="/ITS/dainesea/AODVertexingHF_LHC08x_180100";\r
}\r
}\r
\r
\r
// Input\r
AliAODInputHandler *inputHandler = new AliAODInputHandler();\r
+ if(analysisMode=="proof") inputHandler->AddFriend("AliAOD.VertexingHF.root");\r
mgr->SetInputEventHandler(inputHandler);\r
//-------------------------------------------------------------------\r
\r
// (the files MyTask.h MyTask.cxx AddMyTask.C have to be declared in plugin\r
// configuration, see below)\r
/*\r
- gROOT->LoadMacro("MyTask.cxx++");\r
- gROOT->LoadMacro("AddMyTask.C");\r
- MyTask *myTask = AddMyTask();\r
+ if(analysisMode.Data()=="proof") {\r
+ gProof->LoadMacro("MyTask.cxx++g");\r
+ } else {\r
+ gROOT->LoadMacro("MyTask.cxx++g");\r
+ }\r
+ gROOT->LoadMacro("AddMyTask.C");\r
+ MyTask *myTask = AddMyTask();\r
*/\r
\r
//-------------------------------------------------------------------\r
if(!mgr->InitAnalysis()) return;\r
mgr->PrintStatus();\r
if(analysisMode=="grid" && !useAlienPlugin) analysisMode="local";\r
- mgr->StartAnalysis(analysisMode.Data(),chainAOD,nentries,firstentry);\r
+ if(chainAOD) {\r
+ mgr->StartAnalysis(analysisMode.Data(),chainAOD,nentries,firstentry);\r
+ } else {\r
+ // proof\r
+ mgr->StartAnalysis(analysisMode.Data(),dataset.Data(),nentries,firstentry);\r
+ }\r
\r
return;\r
}\r