- input of cluster compression component is changed to AliHLTTPCRawCluster format;
authorsgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Jun 2013 00:29:06 +0000 (00:29 +0000)
committersgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Jun 2013 00:29:06 +0000 (00:29 +0000)
- cluster merger is disabled in ClusterAccessHLTOUT, clusters are now merged in the HLT before the compression
- HLT data flow is changed correspondingly

HLT/TPCLib/AliHLTTPCAgent.cxx
HLT/TPCLib/AliHLTTPCClusterAccessHLTOUT.cxx
HLT/TPCLib/comp/AliHLTTPCDataCompressionComponent.cxx

index 92f6d40..22f1192 100644 (file)
@@ -62,6 +62,8 @@ AliHLTTPCAgent gAliHLTTPCAgent;
 #include "AliHLTTPCDataCompressionMonitorComponent.h"
 #include "AliHLTTPCDataCompressionFilterComponent.h"
 #include "AliHLTTPCDataPublisherComponent.h"
+#include "AliHLTTPCHWClusterDecoderComponent.h"
+#include "AliHLTTPCClusterTransformationComponent.h"
 
 /** ROOT macro for the implementation of ROOT specific class methods */
 ClassImp(AliHLTTPCAgent)
@@ -147,19 +149,32 @@ int AliHLTTPCAgent::CreateConfigurations(AliHLTConfigurationHandler* handler,
        handler->CreateConfiguration(hwcfemu.Data(), "TPCHWClusterFinderEmulator", publisher.Data(), arg.Data());
        if (hwclustOutput.Length()>0) hwclustOutput+=" ";
        hwclustOutput+=hwcfemu;
-
+       
        TString hwcf;
        hwcf.Form("TPC-HWCF_%02d_%d", slice, part);
        handler->CreateConfiguration(hwcf.Data(), "TPCHWClusterTransform",hwcfemu.Data(), "-publish-raw");
 
-       if (trackerInput.Length()>0) trackerInput+=" ";
-       trackerInput+=hwcf;
-       if (dEdXInput.Length()>0) dEdXInput+=" ";
-       dEdXInput+=hwcf;
-       if (sinkHWClusterInput.Length()>0) sinkHWClusterInput+=" ";
-       sinkHWClusterInput+=hwcf;
+       //if (trackerInput.Length()>0) trackerInput+=" ";
+       //trackerInput+=hwcf;
+       //if (dEdXInput.Length()>0) dEdXInput+=" ";
+       //dEdXInput+=hwcf;
+       //if (sinkHWClusterInput.Length()>0) sinkHWClusterInput+=" ";
+       //sinkHWClusterInput+=hwcf;       
       }
     }
+    TString hwcfDecoder = "TPC-HWCFDecoder";
+    handler->CreateConfiguration(hwcfDecoder.Data(), "TPCHWClusterDecoder",hwclustOutput.Data(), "");
+
+    TString clusterTransformation = "TPC-ClusterTransformation";
+    handler->CreateConfiguration(clusterTransformation.Data(), "TPCClusterTransformation",hwcfDecoder.Data(), "");
+
+    if (trackerInput.Length()>0) trackerInput+=" ";
+    trackerInput+=clusterTransformation;
+    if (dEdXInput.Length()>0) dEdXInput+=" ";
+    dEdXInput+=clusterTransformation;
+    if (sinkHWClusterInput.Length()>0) sinkHWClusterInput+=" ";
+    sinkHWClusterInput+=clusterTransformation;
 
     // tracker finder component
     // 2012-01-05 changing the configuration according to online setup
@@ -185,7 +200,8 @@ int AliHLTTPCAgent::CreateConfigurations(AliHLTConfigurationHandler* handler,
 
     // compression component
     if (compressorInput.Length()>0) compressorInput+=" ";
-    compressorInput+=hwclustOutput;
+    //compressorInput+=hwclustOutput;
+    compressorInput+=hwcfDecoder;
 
     // special configuration to run the emulation automatically if the compressed clusters
     // of a particular partition is missing. This configuration is announced for reconstruction
@@ -351,6 +367,8 @@ int AliHLTTPCAgent::RegisterComponents(AliHLTComponentHandler* pHandler) const
   pHandler->AddComponent(new AliHLTTPCDataCompressionMonitorComponent);
   pHandler->AddComponent(new AliHLTTPCDataCompressionFilterComponent);
   pHandler->AddComponent(new AliHLTTPCDataPublisherComponent);
+  pHandler->AddComponent(new AliHLTTPCHWClusterDecoderComponent);
+  pHandler->AddComponent(new AliHLTTPCClusterTransformationComponent);
   return 0;
 }
 
index b72eb8a..0490f96 100644 (file)
@@ -237,7 +237,7 @@ int AliHLTTPCClusterAccessHLTOUT::ProcessClusters(const char* params)
   AliHLTTPCDataCompressionDecoder& decoder=*fpDecoder;
   decoder.Clear();
   decoder.SetVerbosity(fVerbosity);
-  decoder.EnableClusterMerger();
+  //decoder.EnableClusterMerger();
 
   bool bNextBlock=false;
   // add cluster id and mc information data blocks
index 095aa7e..fbb41df 100644 (file)
@@ -25,7 +25,7 @@
 #include "AliHLTTPCDefinitions.h"
 #include "AliHLTTPCTrackGeometry.h"
 #include "AliHLTTPCSpacePointContainer.h"
-#include "AliHLTTPCHWCFSpacePointContainer.h"
+#include "AliHLTTPCRawSpacePointContainer.h"
 #include "AliHLTGlobalBarrelTrack.h"
 #include "AliHLTComponentBenchmark.h"
 #include "AliHLTDataDeflaterSimple.h"
@@ -94,7 +94,7 @@ void AliHLTTPCDataCompressionComponent::GetInputDataTypes( AliHLTComponentDataTy
 {
   /// inherited from AliHLTComponent: list of data types in the vector reference
   tgtList.clear();
-  tgtList.push_back(AliHLTTPCDefinitions::HWClustersDataType());
+  tgtList.push_back(AliHLTTPCDefinitions::RawClustersDataType());
   tgtList.push_back(AliHLTTPCDefinitions::ClustersDataType());
   tgtList.push_back(kAliHLTDataTypeTrack|kAliHLTDataOriginTPC);
 }
@@ -325,7 +325,7 @@ int AliHLTTPCDataCompressionComponent::DoEvent( const AliHLTComponentEventData&
 
   // loop over raw cluster blocks, assign to tracks and write
   // unassigned clusters
-  for (pDesc=GetFirstInputBlock(AliHLTTPCDefinitions::fgkHWClustersDataType);
+  for (pDesc=GetFirstInputBlock(AliHLTTPCDefinitions::fgkRawClustersDataType);
        pDesc!=NULL; pDesc=GetNextInputBlock()) {
     if (pDesc->fSize<=sizeof(AliRawDataHeader)) continue;
     if (GetBenchmarkInstance()) {
@@ -798,13 +798,13 @@ int AliHLTTPCDataCompressionComponent::DoInit( int argc, const char** argv )
   unsigned spacePointContainerMode=0;
   if (fMode==kCompressionModeV1TrackModel || fMode==kCompressionModeV2TrackModel) {
     // initialize map data for cluster access in the track association loop
-    spacePointContainerMode|=AliHLTTPCHWCFSpacePointContainer::kModeCreateMap;
+    spacePointContainerMode|=AliHLTTPCRawSpacePointContainer::kModeCreateMap;
   }
   if (fMode==kCompressionModeV2 || fMode==kCompressionModeV2TrackModel) {
     // optimized storage format: differential pad and time storage
-    spacePointContainerMode|=AliHLTTPCHWCFSpacePointContainer::kModeDifferentialPadTime;
+    spacePointContainerMode|=AliHLTTPCRawSpacePointContainer::kModeDifferentialPadTime;
   }
-  std::auto_ptr<AliHLTTPCHWCFSpacePointContainer> rawInputClusters(new AliHLTTPCHWCFSpacePointContainer(spacePointContainerMode));
+  std::auto_ptr<AliHLTTPCRawSpacePointContainer> rawInputClusters(new AliHLTTPCRawSpacePointContainer(spacePointContainerMode));
   std::auto_ptr<AliHLTTPCSpacePointContainer> inputClusters(new AliHLTTPCSpacePointContainer);
 
   std::auto_ptr<TH1F> histoCompFactor(new TH1F("CompressionFactor",
@@ -828,7 +828,7 @@ int AliHLTTPCDataCompressionComponent::DoInit( int argc, const char** argv )
 
   // track grid: 36 slices, each 6 partitions with max 33 rows
   fTrackGrid=new AliHLTTrackGeometry::AliHLTTrackGrid(36, 1, 6, 1, 33, 1, 20000);
-  fSpacePointGrid=AliHLTTPCHWCFSpacePointContainer::AllocateIndexGrid();
+  fSpacePointGrid=AliHLTTPCRawSpacePointContainer::AllocateIndexGrid();
 
   if (!rawInputClusters.get() ||
       !inputClusters.get() ||