fMaxMergeFiles(0),
fNsubmitted(0),
fProductionMode(0),
+ fOutputToRunNo(0),
fRunNumbers(),
fExecutable(),
fExecutableCommand(),
fMaxMergeFiles(0),
fNsubmitted(0),
fProductionMode(0),
+ fOutputToRunNo(0),
fRunNumbers(),
fExecutable(),
fExecutableCommand(),
fMaxMergeFiles(other.fMaxMergeFiles),
fNsubmitted(other.fNsubmitted),
fProductionMode(other.fProductionMode),
+ fOutputToRunNo(other.fOutputToRunNo),
fRunNumbers(other.fRunNumbers),
fExecutable(other.fExecutable),
fExecutableCommand(other.fExecutableCommand),
fMaxMergeFiles = other.fMaxMergeFiles;
fNsubmitted = other.fNsubmitted;
fProductionMode = other.fProductionMode;
+ fOutputToRunNo = other.fOutputToRunNo;
fRunNumbers = other.fRunNumbers;
fExecutable = other.fExecutable;
fExecutableCommand = other.fExecutableCommand;
} else {
// One jdl to be submitted with 2 input parameters: data collection name and output dir prefix
fGridJDL->AddToInputDataCollection(Form("LF:%s/$1,nodownload", workdir.Data()));
- if (!fOutputSingle.IsNull())
- fGridJDL->SetOutputDirectory(Form("#alienfulldir#/%s",fOutputSingle.Data()));
- fGridJDL->SetOutputDirectory(Form("%s/$2/#alien_counter_03i#", fGridOutputDir.Data()));
+ if (!fOutputSingle.IsNull()) {
+ if (!fOutputToRunNo) fGridJDL->SetOutputDirectory(Form("#alienfulldir#/%s",fOutputSingle.Data()));
+ else fGridJDL->SetOutputDirectory(Form("%s/$2",fGridOutputDir.Data()));
+ } else {
+ fGridJDL->SetOutputDirectory(Form("%s/$2/#alien_counter_03i#", fGridOutputDir.Data()));
+ }
}
// Submit for a range of enumeration of runs.
if (fNsubmitted>=nmasterjobs) {iscalled = kFALSE; return;}
TString query;
- query = Form("submit %s %s %03d", fJDLName.Data(), fInputFiles->At(fNsubmitted)->GetName(), fNsubmitted);
+ TString runOutDir = gSystem->BaseName(fInputFiles->At(fNsubmitted)->GetName());
+ runOutDir.ReplaceAll(".xml", "");
+ if (fOutputToRunNo)
+ query = Form("submit %s %s %s", fJDLName.Data(), fInputFiles->At(fNsubmitted)->GetName(), runOutDir.Data());
+ else
+ query = Form("submit %s %s %03d", fJDLName.Data(), fInputFiles->At(fNsubmitted)->GetName(), fNsubmitted);
printf("********* %s\n",query.Data());
res = gGrid->Command(query);
if (res) {