if (pProc)
{
- // test if pProc is necessary, if not, take next one
- if((pProc->GetModuleNumber() & fActiveDetectors) == 0)
+ // filter preprocessors according to active detector pattern
+ // don't filter if module returns 0 (i.e. always active)
+ int moduleNo=pProc->GetModuleNumber();
+ if(moduleNo>0 && (moduleNo & fActiveDetectors) == 0)
{
TString msg;
- msg.Form("%s not needed", pProc->GetModuleID());
+ msg.Form("preprocessor module %s inactive", pProc->GetModuleID());
Log(msg.Data());
continue;
}
return 0;
}
- bool bAllFailed=true;
+ bool bAllFailed=fProcessors.GetEntries()>0;
TObjLink *lnk = NULL;
lnk=fProcessors.FirstLink();
while (lnk) {
lnk = lnk->Next();
}
+ // error if all preprocessors failed
if (bAllFailed) return 1;
return retVal;
}