]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/trigger/AliHLTGlobalTriggerComponent.cxx
dding default trigger description and trigger domain parameters for AliHLTTriggerMenu...
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTGlobalTriggerComponent.cxx
index cbf13310897c3fa6b940993d389f365b04e9885f..0c400723e8b016b1edbb91bbb35f8e0d2f10d029 100644 (file)
@@ -46,6 +46,8 @@ AliHLTGlobalTriggerComponent::AliHLTGlobalTriggerComponent() :
        fDebugMode(false)
 {
   // Default constructor.
+  
+  ClearInfoForNewEvent(false);
 }
 
 
@@ -198,6 +200,10 @@ Int_t AliHLTGlobalTriggerComponent::DoInit(int argc, const char** argv)
   fTrigger->FillFromMenu(*menu);
   fTrigger->ResetCounters(menu->NumberOfItems());
   
+  // Set the default values from the trigger menu.
+  SetDescription(menu->DefaultDescription());
+  SetTriggerDomain(menu->DefaultTriggerDomain());
+  
   return 0;
 }
 
@@ -247,11 +253,16 @@ int AliHLTGlobalTriggerComponent::DoTrigger()
   // Calculate the global trigger result and trigger domain, then create and push
   // back the new global trigger decision object.
   TString description;
-  GetTriggerDomain().Clear();
-  bool triggerResult = fTrigger->CalculateTriggerDecision(GetTriggerDomain(), description);
-  SetDescription(description.Data());
-  
-  AliHLTGlobalTriggerDecision decision(triggerResult, GetTriggerDomain(), GetDescription());
+  AliHLTTriggerDomain triggerDomain;
+  bool triggerResult = fTrigger->CalculateTriggerDecision(triggerDomain, description);
+  
+  AliHLTGlobalTriggerDecision decision(
+      triggerResult,
+      // The following will cause the decision to be generated with default values
+      // (set in fTriggerDomain and fDescription) if the trigger result is false.
+      (triggerResult == true) ? triggerDomain : GetTriggerDomain(),
+      (triggerResult == true) ? description.Data() : GetDescription()
+    );
   decision.SetCounters(fTrigger->Counters());
   
   // Add the input objects used to the global decision.