]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/TPCLib/AliHLTTPCAgent.cxx
get rid of compilation warning
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCAgent.cxx
index c72c0f8fe6368d156b701f5fecc75a46f4f37a23..7a91aa916eadba3b3ffc2efc04360d9df7c6959f 100644 (file)
 AliHLTTPCAgent gAliHLTTPCAgent;
 
 // component headers
+#include "AliHLTTPCRunStatisticsProducerComponent.h"
+#include "AliHLTTPCEventStatisticsProducerComponent.h"
+#include "AliHLTTPCCompModelInflaterComponent.h"
+#include "AliHLTTPCCompModelDeflaterComponent.h"
+#include "AliHLTTPCCompModelDeconverterComponent.h"
+#include "AliHLTTPCCompModelConverterComponent.h"
+#include "AliHLTTPCCompDumpComponent.h"
+#include "AliHLTTPCCalibCEComponent.h"
+#include "AliHLTTPCCalibPulserComponent.h"
+#include "AliHLTTPCCalibPedestalComponent.h"
+#include "AliHLTTPCCATrackerComponent.h"
+#include "AliHLTTPCGlobalMergerComponent.h"
+#include "AliHLTTPCSliceTrackerComponent.h"
+#include "AliHLTTPCVertexFinderComponent.h"
+#include "AliHLTTPCClusterFinderComponent.h"
+#include "AliHLTTPCRawDataUnpackerComponent.h"
+#include "AliHLTTPCDigitPublisherComponent.h"
+#include "AliHLTTPCZeroSuppressionComponent.h"
 #include "AliHLTTPCDigitDumpComponent.h"
 #include "AliHLTTPCEsdWriterComponent.h"
+#include "AliHLTTPCOfflineClustererComponent.h"
+#include "AliHLTTPCOfflineTrackerComponent.h"
 
 /** ROOT macro for the implementation of ROOT specific class methods */
 ClassImp(AliHLTTPCAgent)
@@ -61,12 +81,18 @@ int AliHLTTPCAgent::CreateConfigurations(AliHLTConfigurationHandler* handler,
 {
   // see header file for class documentation
   if (handler) {
+
+    // This the tracking configuration for the full TPC
+    // - 216 clusterfinders (1 per partition)
+    // - 36 slice trackers
+    // - one global merger
+    // - the esd converter
+    // The ESD is shipped embedded into a TTree
     int iMinSlice=0; 
-    int iMaxSlice=1;
+    int iMaxSlice=35;
     int iMinPart=0;
-    int iMaxPart=1;
-    TString fileWriterInput;
-    TString esdWriterInput;
+    int iMaxPart=5;
+    TString mergerInput;
     for (int slice=iMinSlice; slice<=iMaxSlice; slice++) {
       TString trackerInput;
       for (int part=iMinPart; part<=iMaxPart; part++) {
@@ -74,44 +100,45 @@ int AliHLTTPCAgent::CreateConfigurations(AliHLTConfigurationHandler* handler,
 
        // digit publisher components
        arg.Form("-slice %d -partition %d", slice, part);
-       publisher.Form("DP_%02d_%d", slice, part);
+       publisher.Form("TPC-DP_%02d_%d", slice, part);
        handler->CreateConfiguration(publisher.Data(), "TPCDigitPublisher", NULL , arg.Data());
 
        // cluster finder components
-       cf.Form("CF_%02d_%d", slice, part);
+       cf.Form("TPC-CF_%02d_%d", slice, part);
        handler->CreateConfiguration(cf.Data(), "TPCClusterFinderUnpacked", publisher.Data(), "pp-run timebins 446");
        if (trackerInput.Length()>0) trackerInput+=" ";
        trackerInput+=cf;
       }
       TString tracker;
       // tracker finder components
-      tracker.Form("TR_%02d", slice);
-      handler->CreateConfiguration(tracker.Data(), "TPCSliceTracker", trackerInput.Data(), "pp-run bfield 0.5");
+      tracker.Form("TPC-TR_%02d", slice);
+      handler->CreateConfiguration(tracker.Data(), "TPCSliceTracker", trackerInput.Data(), "-pp-run -bfield 0.5");
 
-      // input for the global file writer
-      if (fileWriterInput.Length()>0) fileWriterInput+=" ";
-      fileWriterInput+=trackerInput;
+      if (mergerInput.Length()>0) mergerInput+=" ";
+      mergerInput+=tracker;
 
-      // input for the esd writer
-      if (esdWriterInput.Length()>0) esdWriterInput+=" ";
-      esdWriterInput+=tracker;
     }
 
-    // the writer configuration
-    handler->CreateConfiguration("sink1", "FileWriter"   , fileWriterInput.Data(), "-specfmt -subdir=test_%d -blcknofmt=_0x%x -idfmt=_0x%08x");
-    // the esd writer configuration
-    handler->CreateConfiguration("esd-writer", "TPCEsdWriter"   , esdWriterInput.Data(), "-datafile AliESDs.root");
+    // GlobalMerger component
+    handler->CreateConfiguration("TPC-globalmerger","TPCGlobalMerger",mergerInput.Data(),"");
+
+    // the esd converter configuration
+    handler->CreateConfiguration("TPC-esd-converter", "TPCEsdConverter"   , "TPC-globalmerger", "-tree");
   }
   return 0;
 }
 
 const char* AliHLTTPCAgent::GetReconstructionChains(AliRawReader* /*rawReader*/,
-                                                   AliRunLoader* /*runloader*/) const
+                                                   AliRunLoader* runloader) const
 {
   // see header file for class documentation
+  if (runloader) {
+    // reconstruction chains for AliRoot simulation
+    // Note: run loader is only available while running embedded into
+    // AliRoot simulation
+    return "TPC-esd-converter";
+  }
   return NULL;
-  //return "sink1";
-  //return "esd-writer";
 }
 
 const char* AliHLTTPCAgent::GetRequiredComponentLibraries() const
@@ -128,9 +155,32 @@ int AliHLTTPCAgent::RegisterComponents(AliHLTComponentHandler* pHandler) const
 {
   // see header file for class documentation
   if (!pHandler) return -EINVAL;
+
+  pHandler->AddComponent(new AliHLTTPCRunStatisticsProducerComponent);
+  pHandler->AddComponent(new AliHLTTPCEventStatisticsProducerComponent);
+  pHandler->AddComponent(new AliHLTTPCCalibCEComponent);
+  pHandler->AddComponent(new AliHLTTPCCalibPulserComponent);
+  pHandler->AddComponent(new AliHLTTPCCalibPedestalComponent);
+  pHandler->AddComponent(new AliHLTTPCCompModelInflaterComponent);
+  pHandler->AddComponent(new AliHLTTPCCompModelDeflaterComponent);
+  pHandler->AddComponent(new AliHLTTPCCompModelDeconverterComponent);
+  pHandler->AddComponent(new AliHLTTPCCompModelConverterComponent);
+  pHandler->AddComponent(new AliHLTTPCCompDumpComponent);
+  pHandler->AddComponent(new AliHLTTPCCATrackerComponent);
+  pHandler->AddComponent(new AliHLTTPCGlobalMergerComponent);
+  pHandler->AddComponent(new AliHLTTPCSliceTrackerComponent);
+  pHandler->AddComponent(new AliHLTTPCVertexFinderComponent);
+  pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderPacked));
+  pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderUnpacked));
+  pHandler->AddComponent(new AliHLTTPCClusterFinderComponent(AliHLTTPCClusterFinderComponent::kClusterFinderDecoder));
+  pHandler->AddComponent(new AliHLTTPCRawDataUnpackerComponent);
+  pHandler->AddComponent(new AliHLTTPCDigitPublisherComponent);
+  pHandler->AddComponent(new AliHLTTPCZeroSuppressionComponent);
   pHandler->AddComponent(new AliHLTTPCDigitDumpComponent);
   pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliWriter);
   pHandler->AddComponent(new AliHLTTPCEsdWriterComponent::AliConverter);
+  pHandler->AddComponent(new AliHLTTPCOfflineClustererComponent);
+  pHandler->AddComponent(new AliHLTTPCOfflineTrackerComponent);
 
   return 0;
 }