#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)
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
// 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
pHandler->AddComponent(new AliHLTTPCDataCompressionMonitorComponent);
pHandler->AddComponent(new AliHLTTPCDataCompressionFilterComponent);
pHandler->AddComponent(new AliHLTTPCDataPublisherComponent);
+ pHandler->AddComponent(new AliHLTTPCHWClusterDecoderComponent);
+ pHandler->AddComponent(new AliHLTTPCClusterTransformationComponent);
return 0;
}
#include "AliHLTTPCDefinitions.h"
#include "AliHLTTPCTrackGeometry.h"
#include "AliHLTTPCSpacePointContainer.h"
-#include "AliHLTTPCHWCFSpacePointContainer.h"
+#include "AliHLTTPCRawSpacePointContainer.h"
#include "AliHLTGlobalBarrelTrack.h"
#include "AliHLTComponentBenchmark.h"
#include "AliHLTDataDeflaterSimple.h"
{
/// 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);
}
// 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()) {
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",
// 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() ||