X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisAlien.cxx;h=cf7626e35960bda8b9a2372149772894bccfa3a9;hb=21c2a03ef830b1c34b5ea949e3498df26a3e5c66;hp=689764f305cf8a287a1484dee1b9e3b5746516ca;hpb=d7eb1f39edd5f4f1d2806e1db27e09023c8aa81f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisAlien.cxx b/ANALYSIS/AliAnalysisAlien.cxx index 689764f305c..cf7626e3596 100644 --- a/ANALYSIS/AliAnalysisAlien.cxx +++ b/ANALYSIS/AliAnalysisAlien.cxx @@ -1952,7 +1952,7 @@ Bool_t AliAnalysisAlien::WriteJDL(Bool_t copy) // Writes one or more JDL's corresponding to findex. If findex is negative, // all run numbers are considered in one go (jdl). For non-negative indices // they correspond to the indices in the array fInputFiles. - if (!fInputFiles) return kFALSE; + if (!fInputFiles && !fMCLoop) return kFALSE; TObject *os; TString workdir; if (!fProductionMode && !fGridWorkingDir.BeginsWith("/alice")) workdir = gGrid->GetHomeDirectory(); @@ -1985,7 +1985,7 @@ Bool_t AliAnalysisAlien::WriteJDL(Bool_t copy) fGridJDL->SetOutputDirectory(Form("#alienfulldir#/../%s",fOutputSingle.Data()), "Output directory"); else { fGridJDL->SetOutputDirectory(Form("%s/#alien_counter_03i#", fGridOutputDir.Data()), "Output directory"); - fMergingJDL->SetOutputDirectory(fGridOutputDir); +// fMergingJDL->SetOutputDirectory(fGridOutputDir); } } else { // One jdl to be submitted with 2 input parameters: data collection name and output dir prefix @@ -3698,9 +3698,11 @@ const char *AliAnalysisAlien::GetListOfFiles(const char *type) return files.Data(); } if (mgr->GetOutputEventHandler()) { - aodfiles = mgr->GetOutputEventHandler()->GetOutputFileName(); + aodfiles = ""; + if (mgr->GetOutputEventHandler()->GetFillAOD()) + aodfiles = mgr->GetOutputEventHandler()->GetOutputFileName(); TString extraaod = mgr->GetOutputEventHandler()->GetExtraOutputs(); - if (!extraaod.IsNull()) { + if (!extraaod.IsNull() && mgr->GetOutputEventHandler()->GetFillExtension()) { aodfiles += ","; aodfiles += extraaod; } @@ -4558,6 +4560,16 @@ void AliAnalysisAlien::WriteMergingMacro() if (fIncludePath.Length()) out << " gSystem->AddIncludePath(\"" << fIncludePath.Data() << "\");" << endl; out << " gROOT->ProcessLine(\".include $ALICE_ROOT/include\");" << endl; out << " printf(\"Include path: %s\\n\", gSystem->GetIncludePath());" << endl << endl; + if (fMCLoop && !fGeneratorLibs.IsNull()) { + out << "// MC generator libraries" << endl; + TObjArray *list = fGeneratorLibs.Tokenize(" "); + TIter next(list); + TObjString *str; + while((str=(TObjString*)next())) { + out << " gSystem->Load(\"" << str->GetName() << "\");" << endl; + } + delete list; + } if (fAdditionalLibs.Length()) { out << "// Add aditional AliRoot libraries" << endl; TString additionalLibs = fAdditionalLibs; @@ -4605,7 +4617,10 @@ void AliAnalysisAlien::WriteMergingMacro() out << "// Set temporary compilation directory to current one" << endl; out << " gSystem->SetBuildDir(gSystem->pwd(), kTRUE);" << endl << endl; out << " TString outputDir = dir;" << endl; - out << " TString outputFiles = \"" << GetListOfFiles("out") << "\";" << endl; + if (IsMergeAOD()) + out << " TString outputFiles = \"" << GetListOfFiles("outaod") << "\";" << endl; + else + out << " TString outputFiles = \"" << GetListOfFiles("out") << "\";" << endl; out << " TString mergeExcludes = \"" << fMergeExcludes << " " << fRegisterExcludes << "\";" << endl; out << " TObjArray *list = outputFiles.Tokenize(\",\");" << endl; out << " TIter *iter = new TIter(list);" << endl;