Fixed output directory setting in submit mode (Ernesto)
authoragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Dec 2009 14:25:55 +0000 (14:25 +0000)
committeragheata <agheata@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Dec 2009 14:25:55 +0000 (14:25 +0000)
ANALYSIS/AliAnalysisAlien.cxx

index 20be1b9..5400fc4 100644 (file)
@@ -868,6 +868,22 @@ Bool_t AliAnalysisAlien::CreateJDL()
    }
    // Copy jdl to grid workspace   
    if (copy) {
+      // Check if an output directory was defined and valid
+      if (!fGridOutputDir.Length()) {
+         Error("CreateJDL", "You must define AliEn output directory");
+         return kFALSE;
+      } else {
+         if (!fGridOutputDir.Contains("/")) fGridOutputDir = Form("%s/%s", workdir.Data(), fGridOutputDir.Data());
+         if (!DirectoryExists(fGridOutputDir)) {
+            if (gGrid->Mkdir(fGridOutputDir)) {
+               Info("CreateJDL", "\n#####   Created alien output directory %s", fGridOutputDir.Data());
+            } else {
+               Error("CreateJDL", "Could not create alien output directory %s", fGridOutputDir.Data());
+               return kFALSE;
+            }
+         }
+         gGrid->Cd(workdir);
+      }   
       if (TestBit(AliAnalysisGrid::kSubmit)) {
          Info("CreateJDL", "\n#####   Copying JDL file <%s> to your AliEn output directory", fJDLName.Data());
          TString locjdl = Form("%s/%s", fGridOutputDir.Data(),fJDLName.Data());