- if(sopt.Contains("!cw")){
- fSteerParam &= ~kWriteClusters;
- continue;
- } else if(sopt.Contains("!sa")){
- fSteerParam &= ~kSeeding;
- continue;
- } else if(sopt.Contains("!nn")){
- fSteerParam &= ~kSteerPID;
- continue;
- } else if(sopt.Contains("tw")){
- if(!sopt.Contains("!")) fSteerParam |= kWriteTracklets;
- continue;
- } else if(sopt.Contains("ar")){
- if(!sopt.Contains("!")) fSteerParam |= kDriftGas;
- continue;
- } else if(sopt.Contains("hlt")){
- if(!sopt.Contains("!")) fSteerParam |= kHLT;
- continue;
- } else if(sopt.Contains("cos")){
- if(!sopt.Contains("!")) fSteerParam |= kCosmic;
- } else if(sopt.Contains("sl")){
- TObjArray *stl = sopt.Tokenize("_");
- if(stl->GetEntriesFast() < 3) continue;
- TString taskstr(((TObjString*)(*stl)[1])->String());
- TString levelstring(((TObjString*)(*stl)[2])->String());
- // Set the stream Level
- Int_t level = levelstring.Atoi();
- AliTRDReconstructorTask task = kTracker;
- if(taskstr.CompareTo("cl") == 0) task = kClusterizer;
- else if(taskstr.CompareTo("tr") == 0) task = kTracker;
- else if(taskstr.CompareTo("pi") == 0) task = kPID;
- SetStreamLevel(level, task);
- continue;
+ for(Int_t iopt=0; iopt<kNsteer; iopt++){
+ if(!sopt.Contains(fgSteerFlags[iopt])) continue;
+ SETFLG(fSteerParam, BIT(iopt));
+ if(sopt.Contains("!")) CLRFLG(fSteerParam, BIT(iopt));
+ processed = kTRUE;
+ break;