]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
adding the D0 trigger component to default the configuration for HLT simulation....
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Jul 2010 21:56:35 +0000 (21:56 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Jul 2010 21:56:35 +0000 (21:56 +0000)
HLT/trigger/AliHLTTriggerAgent.cxx

index beb04de034c3b6d6715167d827c17188bc090468..112f40053c2ffde1f538fb47af0517bcc1bd8784 100644 (file)
@@ -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; n<pTokens->GetEntriesFast(); 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