fOptions.Add("ttl", "N|max", "Time to live", "6h");
fOptions.Add("pattern","GLOB", "File/directory name pattern", "");
fOptions.Add("concat", "Concatenate all runs");
+ fOptions.Add("exclude", "GLOB","Comma separated list of merge excludes","");
}
GridHelper(const GridHelper& o)
: PluginHelper(o), fRuns()
fHandler->SetMaxMergeFiles(fOptions.AsInt("merge"));
}
}
- fHandler->SetMergeExcludes("AliAOD.root *EventStat*.root "
- "*event_stat*.root");
+ TString exclude="AliAOD.root *EventStat*.root *event_stat*.root";
+ if (fOptions.Has("exclude")) {
+ TString exOpt = fOptions.Get("exclude");
+ exOpt.ReplaceAll(",", " ");
+ exclude.Append(" ");
+ exclude.Append(exOpt);
+ }
+ fHandler->SetMergeExcludes(exclude);
// --- Set number of runs per master - 1 or all ------------------
fHandler->SetNrunsPerMaster(fOptions.Has("concat") ? nRun+1 : 1);
TString args;
return AddSETask(macro, args);
}
+ /**
+ * Find an already added task
+ *
+ * @param name Name of the task
+ * @param verbose If true,
+ *
+ * @return
+ */
+ virtual AliAnalysisTask* FindTask(const TString& name,
+ Bool_t verbose=true) const
+ {
+ AliAnalysisManager* mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Warning("FindTask", "No manager defined");
+ return 0;
+ }
+ AliAnalysisTask* task = mgr->GetTask(name);
+ if (!task && verbose)
+ ::Warning("FindTask", "Task \"%s\" not found in train",
+ name.Data());
+ return task;
+ }
/**
* Check if we have an MC handler attached
*