]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/global/AliHLTGlobalAgent.cxx
- dNdPtAnalysisMerger component added. It merges output from or dNdPtAnalysis instances
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalAgent.cxx
index edddd5faf8f588877affd119e1d5aedad414d1d0..2f087893a3e6da1b5b879262accc3b9c53469c5b 100644 (file)
 #include "AliHLTGlobalTrackMergerComponent.h"
 #include "AliHLTGlobalEsdConverterComponent.h"
 #include "AliHLTGlobalVertexerComponent.h"
+#include "AliHLTGlobalOfflineVertexerComponent.h"
 #include "AliHLTV0HistoComponent.h"
+#include "AliHLTdNdPtAnalysisComponent.h"
+#include "AliHLTdNdPtAnalysisMergerComponent.h"
 #include "AliHLTGlobalVertexerHistoComponent.h"
+#include "AliHLTGlobalHistoComponent.h"
+#include "AliHLTGlobalHistoCollector.h"
+#include "AliHLTGlobalDCSPublisherComponent.h"
 
 /** global instance for agent registration */
 AliHLTGlobalAgent gAliHLTGlobalAgent;
@@ -65,8 +71,14 @@ int AliHLTGlobalAgent::RegisterComponents(AliHLTComponentHandler* pHandler) cons
   pHandler->AddComponent(new AliHLTGlobalTrackMergerComponent);
   pHandler->AddComponent(new AliHLTGlobalEsdConverterComponent);
   pHandler->AddComponent(new AliHLTGlobalVertexerComponent);
+  pHandler->AddComponent(new AliHLTGlobalOfflineVertexerComponent);
   pHandler->AddComponent(new AliHLTGlobalVertexerHistoComponent);
+  pHandler->AddComponent(new AliHLTGlobalHistoComponent);
   pHandler->AddComponent(new AliHLTV0HistoComponent );
+  //pHandler->AddComponent(new AliHLTdNdPtAnalysisComponent );
+  //pHandler->AddComponent(new AliHLTdNdPtAnalysisMergerComponent );
+  pHandler->AddComponent(new AliHLTGlobalHistoCollector );
+  pHandler->AddComponent(new AliHLTGlobalDCSPublisherComponent );
   return 0;
 }
 
@@ -76,16 +88,45 @@ int AliHLTGlobalAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandler
 {
   // see header file for class documentation
   if (!pHandler) return -EINVAL;
+  TObjArray* pTokens=NULL;
+
+  ///////////////////////////////////////////////////////////////////////////////////////////////////
+  //
+  // global vertexer component
+  //
+  // define the inputs 
+  TString vertexerInputs="TPC-globalmerger ITS-tracker";
+
+  // check for the availibility
+  pTokens=vertexerInputs.Tokenize(" ");
+  vertexerInputs="";
+  if (pTokens) {
+    for (int n=0; n<pTokens->GetEntriesFast(); n++) {
+      TString module=((TObjString*)pTokens->At(n))->GetString();
+      if (pHandler->FindConfiguration(module.Data())) {
+       vertexerInputs+=module;
+       vertexerInputs+=" ";
+      }
+    }
+    delete pTokens;
+    pTokens=NULL;
+  }
+  if (!vertexerInputs.IsNull()) {
+    HLTInfo("Configuring inputs to global HLT Vertexer: %s", vertexerInputs.Data());
+    pHandler->CreateConfiguration("GLOBAL-vertexer","GlobalVertexer",vertexerInputs,"");
+  } else {
+    HLTWarning("No inputs to global HLT Vertexer found");
+  }
 
   /////////////////////////////////////////////////////////////////////////////////////
   //
   // assembly of the global ESD
 
   // define the inputs to the global ESD
-  TString esdInputs="TPC-globalmerger TPC-mcTrackMarker";
+  TString esdInputs="TPC-globalmerger TPC-mcTrackMarker ITS-tracker GLOBAL-vertexer TPC-dEdx VZERO-RECO";
 
   // check for the availibility
-  TObjArray* pTokens=esdInputs.Tokenize(" ");
+  pTokens=esdInputs.Tokenize(" ");
   esdInputs="";
   if (pTokens) {
     for (int n=0; n<pTokens->GetEntriesFast(); n++) {
@@ -96,6 +137,7 @@ int AliHLTGlobalAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandler
       }
     }
     delete pTokens;
+    pTokens=NULL;
   }
 
   if (esdInputs.Length()>0) {
@@ -105,7 +147,37 @@ int AliHLTGlobalAgent::CreateConfigurations(AliHLTConfigurationHandler* pHandler
   }
 
   pHandler->CreateConfiguration("GLOBAL-esd-converter", "GlobalEsdConverter", esdInputs.Data(), "");
+
+  ///////////////////////////////////////////////////////////////////////////////////////////////////
+  //
+  // global histograms
+  //
+  TString vertexhistoInput="GLOBAL-vertexer ITS-SPD-vertexer";
+
+  // check for the availibility
+  pTokens=vertexhistoInput.Tokenize(" ");
+  vertexhistoInput="";
+  if (pTokens) {
+    for (int n=0; n<pTokens->GetEntriesFast(); n++) {
+      TString module=((TObjString*)pTokens->At(n))->GetString();
+      if (pHandler->FindConfiguration(module.Data())) {
+       vertexhistoInput+=module;
+       vertexhistoInput+=" ";
+      }
+    }
+    delete pTokens;
+    pTokens=NULL;
+  }
+
+  if (!vertexhistoInput.IsNull()) {
+    HLTInfo("Configuring inputs to global HLT Vertex histogram component: %s", vertexhistoInput.Data());
+    pHandler->CreateConfiguration("GLOBAL-vertexhisto","GlobalVertexerHisto", vertexhistoInput.Data(),"");
+  } else {
+    HLTWarning("No inputs to global HLT Vertex histogram component found");
+  }
   
+  //pHandler->CreateConfiguration("GLOBAL-dNdPtAnalysis", "dNdPtAnalysis", "GLOBAL-esd-converter", "");
   return 0;
 }
 
@@ -117,7 +189,7 @@ const char* AliHLTGlobalAgent::GetReconstructionChains(AliRawReader* /*rawReader
     // reconstruction chains for AliRoot simulation
     // Note: run loader is only available while running embedded into
     // AliRoot simulation
-    return "GLOBAL-esd-converter";
+    return "GLOBAL-esd-converter";    
   }
   return NULL;
 }
@@ -126,7 +198,7 @@ const char* AliHLTGlobalAgent::GetRequiredComponentLibraries() const
 {
   // see header file for class documentation
 
-  return "libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTITS.so";
+  return "";
 }
 
 int AliHLTGlobalAgent::GetHandlerDescription(AliHLTComponentDataType /*dt*/,