From f7aab4535339a04fe6394dc6e60b259555908a2f Mon Sep 17 00:00:00 2001 From: richterm Date: Fri, 23 Jul 2010 21:56:35 +0000 Subject: [PATCH] adding the D0 trigger component to default the configuration for HLT simulation. Depending on the availability of simulated raw data the component works on ESDs and MC information (running on digits) or ITS tracks and vertex information (raw data) --- HLT/trigger/AliHLTTriggerAgent.cxx | 46 ++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/HLT/trigger/AliHLTTriggerAgent.cxx b/HLT/trigger/AliHLTTriggerAgent.cxx index beb04de034c..112f40053c2 100644 --- a/HLT/trigger/AliHLTTriggerAgent.cxx +++ b/HLT/trigger/AliHLTTriggerAgent.cxx @@ -97,8 +97,8 @@ int AliHLTTriggerAgent::RegisterComponents(AliHLTComponentHandler* pHandler) con } int AliHLTTriggerAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandler, - AliRawReader* /*rawReader*/, - AliRunLoader* /*runloader*/) const + AliRawReader* rawReader, + AliRunLoader* runloader) const { // see header file for class documentation if (!pHandler) return -EINVAL; @@ -187,6 +187,48 @@ int AliHLTTriggerAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandle HLTWarning("No inputs for %s found, skipping component.", configurationId.Data()); } + ///////////////////////////////////////////////////////////////////////////////////// + // D0 trigger + configurationId = "TRIGGER-D0"; + if(runloader && !rawReader){ + // simulation without simulated raw data + // use ESD as input and add in addition the MC information for trigger evaluation + triggerInputs="GLOBAL-esd-converter "; + + const char* mcpublisherId="TRIGGER-mc-publisher"; + pHandler->CreateConfiguration(mcpublisherId, "ESDMCEventPublisher", NULL, "-entrytype MC -datapath ./"); + triggerInputs+=mcpublisherId; + } + else{ + // simulation with simulated raw data, or raw data reconstruction + // use input from ITS tracker and vertexer directly + triggerInputs="ITS-tracker GLOBAL-vertexer"; + } + + // check for the availibility of inputs + pTokens=triggerInputs.Tokenize(" "); + triggerInputs=""; + if (pTokens) { + for (int n=0; nGetEntriesFast(); n++) { + TString module=((TObjString*)pTokens->At(n))->GetString(); + if (pHandler->FindConfiguration(module.Data())) { + triggerInputs+=module; + triggerInputs+=" "; + } + } + delete pTokens; + } + + TString argD0 = ""; + if (triggerInputs.Length()>0) { + HLTInfo("Configuring inputs for %s: %s", configurationId.Data(), triggerInputs.Data()); + pHandler->CreateConfiguration(configurationId.Data(), "D0Trigger", triggerInputs.Data(), argD0.Data()); + if (triggerOutputs.Length()>0) triggerOutputs+=" "; + triggerOutputs+=configurationId; + } else { + HLTWarning("No inputs for %s found, skipping component", configurationId.Data()); + } + ///////////////////////////////////////////////////////////////////////////////////// // // the global trigger component -- 2.43.0