]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Changes for PROOF mode
authordainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Jul 2009 23:51:50 +0000 (23:51 +0000)
committerdainese <dainese@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Jul 2009 23:51:50 +0000 (23:51 +0000)
PWG3/vertexingHF/RunAnalysisAODVertexingHF.C

index ea895f9e222da61053317328095a8abc2b95008e..62076772c4f1b44efe3fc4102d65f8986a453577 100644 (file)
@@ -14,8 +14,8 @@ void RunAnalysisAODVertexingHF()
   //\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
@@ -28,8 +28,8 @@ void RunAnalysisAODVertexingHF()
     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
@@ -48,8 +48,8 @@ void RunAnalysisAODVertexingHF()
     // 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
@@ -108,31 +108,32 @@ void RunAnalysisAODVertexingHF()
 \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
@@ -145,6 +146,7 @@ void RunAnalysisAODVertexingHF()
 \r
   // Input\r
   AliAODInputHandler *inputHandler = new AliAODInputHandler();\r
+  if(analysisMode=="proof") inputHandler->AddFriend("AliAOD.VertexingHF.root");\r
   mgr->SetInputEventHandler(inputHandler);\r
   //-------------------------------------------------------------------\r
 \r
@@ -200,9 +202,13 @@ void RunAnalysisAODVertexingHF()
   // (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
@@ -215,7 +221,12 @@ void RunAnalysisAODVertexingHF()
   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