#include "AliHLTEventSummaryProducerComponent.h"
#include "AliHLTRunSummaryProducerComponent.h"
#include "AliHLTTriggerBarrelMultiplicity.h"
+#include "AliHLTD0Trigger.h"
+#include "AliHLTTriggerITSMultiplicity.h"
+#include "AliHLTTriggerBarrelGeomMultiplicity.h"
#include "AliHLTTriggerBarrelCosmic.h"
#include "AliHLTGlobalTriggerComponent.h"
+#include "AliHLTTriggerPhosClusterEnergy.h"
+#include "AliHLTTriggerPhosMip.h"
+#include "AliHLTTriggerTrdClusterMultiplicity.h"
+#include "AliHLTTriggerGammaConversion.h"
+#include "AliHLTMuonSpectroTriggerComponent.h"
/** global instance for agent registration */
AliHLTTriggerAgent gAliHLTTriggerAgent;
if (!pHandler) return -EINVAL;
pHandler->AddComponent(new AliHLTGlobalTriggerComponent);
pHandler->AddComponent(new AliHLTTriggerBarrelMultiplicity);
+ pHandler->AddComponent(new AliHLTTriggerITSMultiplicity);
+ pHandler->AddComponent(new AliHLTD0Trigger);
+ pHandler->AddComponent(new AliHLTTriggerBarrelGeomMultiplicity);
pHandler->AddComponent(new AliHLTTriggerBarrelCosmic);
+ pHandler->AddComponent(new AliHLTTriggerPhosClusterEnergy);
+ pHandler->AddComponent(new AliHLTTriggerPhosMip);
+ pHandler->AddComponent(new AliHLTTriggerTrdClusterMultiplicity);
+ pHandler->AddComponent(new AliHLTTriggerGammaConversion);
+ pHandler->AddComponent(new AliHLTMuonSpectroTriggerComponent);
return 0;
}
} else {
HLTWarning("No inputs for %s found, skipping component", configurationId.Data());
}
+
+ /////////////////////////////////////////////////////////////////////////////////////
+ // The muon spectrometer trigger
+ configurationId = "TRIGGER-Muon-Spectrometer";
+
+ // define the inputsfor the muon spectrometer trigger.
+ if (pHandler->FindConfiguration("dHLT-sim-fromRaw")) {
+ triggerInputs = "dHLT-sim-fromRaw";
+ }
+ else if (pHandler->FindConfiguration("dHLT-sim")) {
+ triggerInputs = "dHLT-sim";
+ }
+ else if (pHandler->FindConfiguration("dHLT-sim-fromMC")) {
+ triggerInputs = "dHLT-sim-fromMC";
+ }
+
+ if (triggerInputs.Length() > 0) {
+ HLTInfo("Configuring inputs for %s: %s", configurationId.Data(), triggerInputs.Data());
+ pHandler->CreateConfiguration(configurationId.Data(), "MuonSpectroTrigger", triggerInputs.Data(), "-makestats");
+ if (triggerOutputs.Length() > 0) triggerOutputs += " ";
+ triggerOutputs += configurationId;
+ } else {
+ HLTWarning("No inputs for %s found, skipping component.", configurationId.Data());
+ }
/////////////////////////////////////////////////////////////////////////////////////
//
{
// see header file for class documentation
- return "libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTITS.so libAliHLTGlobal.so";
+ return "libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTITS.so libAliHLTGlobal.so libAliHLTMUON.so";
}
int AliHLTTriggerAgent::GetHandlerDescription(AliHLTComponentDataType dt,
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;
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()) {