}
//_____________________________________________________________________________
-Bool_t AliCentralTrigger::RunTrigger( AliRunLoader* runLoader )
+Bool_t AliCentralTrigger::RunTrigger( AliRunLoader* runLoader, const char *detectors )
{
// run the trigger
runLoader->GetEvent( iEvent );
// Get detectors involve
TString detStr = GetDetectors();
- AliInfo( Form(" Triggering Detectors %s \n", detStr.Data() ) );
+ AliInfo( Form(" Triggering Detectors: %s \n", detStr.Data() ) );
+ TString detWithDigits = detectors;
+ AliInfo( Form(" Detectors with digits: %s \n", detWithDigits.Data() ) );
TObjArray* detArray = runLoader->GetAliRun()->Detectors();
// Reset Mask
fClassMask = 0;
for( Int_t iDet = 0; iDet < detArray->GetEntriesFast(); iDet++ ) {
AliModule* det = (AliModule*) detArray->At( iDet );
if( !det || !det->IsActive() ) continue;
- if( IsSelected(det->GetName(), detStr) ) {
+ if( IsSelected(det->GetName(), detStr) &&
+ IsSelected(det->GetName(), detWithDigits) ) {
AliInfo( Form("Triggering from digits for %s", det->GetName() ) );
AliTriggerDetector* trgdet = det->CreateTriggerDetector();
virtual ~AliCentralTrigger();
Bool_t LoadConfiguration( TString & config );
- Bool_t RunTrigger( AliRunLoader * runloader );
+ Bool_t RunTrigger( AliRunLoader * runloader , const char* detectors);
ULong64_t TriggerClasses();
void Reset();
void DeleteConfiguration();
// digits -> trigger
- if (!RunTrigger(fMakeTrigger)) {
+ if (!RunTrigger(fMakeTrigger,fMakeDigits)) {
if (fStopOnError) return kFALSE;
}
}
//_____________________________________________________________________________
-Bool_t AliSimulation::RunTrigger(const char* config)
+Bool_t AliSimulation::RunTrigger(const char* config, const char* detectors)
{
// run the trigger
trconfiguration = gAlice->GetTriggerDescriptor();
}
else
- AliWarning("No trigger descriptor is specified. Loading the one that is the CDB.");
+ AliWarning("No trigger descriptor is specified. Loading the one that is in the CDB.");
}
runLoader->MakeTree( "GG" );
return kFALSE;
// digits -> trigger
- if( !aCTP->RunTrigger( runLoader ) ) {
+ if( !aCTP->RunTrigger( runLoader , detectors ) ) {
if (fStopOnError) {
// delete aCTP;
return kFALSE;
virtual Bool_t RunSimulation(Int_t nEvents = 0);
virtual Bool_t RunSDigitization(const char* detectors = "ALL");
- virtual Bool_t RunTrigger(const char* descriptors ="" );
+ virtual Bool_t RunTrigger(const char* descriptors ="", const char* detectors = "ALL");
virtual Bool_t WriteTriggerRawData();
virtual Bool_t RunDigitization(const char* detectors = "ALL",
const char* excludeDetectors = "");