]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/trigger/AliHLTTriggerAgent.cxx
added new PhosClusterEnergy trigger component (Svein)
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerAgent.cxx
index c9f9102969a5e6a62d3b45067264ebda6b322ead..c35972025bfdee42d0d0b2cf7eb13cda761f6e7f 100644 (file)
@@ -38,6 +38,7 @@
 #include "AliHLTTriggerBarrelMultiplicity.h"
 #include "AliHLTTriggerBarrelCosmic.h"
 #include "AliHLTGlobalTriggerComponent.h"
+#include "AliHLTTriggerPhosClusterEnergy.h"
 
 /** global instance for agent registration */
 AliHLTTriggerAgent gAliHLTTriggerAgent;
@@ -69,6 +70,7 @@ int AliHLTTriggerAgent::RegisterComponents(AliHLTComponentHandler* pHandler) con
   pHandler->AddComponent(new AliHLTGlobalTriggerComponent);
   pHandler->AddComponent(new AliHLTTriggerBarrelMultiplicity);
   pHandler->AddComponent(new AliHLTTriggerBarrelCosmic);
+  pHandler->AddComponent(new AliHLTTriggerPhosClusterEnergy); 
   return 0;
 }
 
@@ -238,9 +240,10 @@ int AliHLTTriggerAgent::AliHLTTriggerDecisionHandler::ProcessData(AliHLTOUT* pDa
   if (iResult>=0) {
     TObject* pObject=pData->GetDataObject();
     if (pObject) {
-      AliHLTTriggerDecision* pDecission=dynamic_cast<AliHLTTriggerDecision*>(pObject);
-      if (pDecission) {
+      AliHLTTriggerDecision* pDecision=dynamic_cast<AliHLTTriggerDecision*>(pObject);
+      if (pDecision) {
        //pDecision->Print();
+       HLTDebug("extracted %s", pDecision->GetName());
        if (!fESD) {
          // create the ESD container, but without std content
          fESD = new AliESDEvent;
@@ -248,7 +251,14 @@ int AliHLTTriggerAgent::AliHLTTriggerDecisionHandler::ProcessData(AliHLTOUT* pDa
        if (!fpData) fpData=new TArrayC;
        if (fESD && fpData) {
          fESD->Reset();
-         fESD->AddObject(pObject->Clone());
+         TObject* pESDObject=fESD->FindListObject("HLTGlobalTrigger");
+         if (pESDObject) {
+           // copy the content to the already existing object
+           pObject->Copy(*pESDObject);
+         } else {
+           // add a new object
+           fESD->AddObject(pObject->Clone());
+         }
          AliHLTMessage* pMsg=AliHLTMessage::Stream(fESD);
          if (pMsg) {
            if (!pMsg->CompBuffer()) {