// $Id$
//**************************************************************************
-//* This file is property of and copyright by the ALICE HLT Project *
+//* This file is property of and copyright by the *
//* ALICE Experiment at CERN, All rights reserved. *
//* *
//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
{
/// inherited from AliHLTComponent: list of data types in the vector reference
tgtList.clear();
- tgtList.push_back(AliHLTTPCDefinitions::fgkHWClustersDataType);
- tgtList.push_back(AliHLTTPCDefinitions::fgkClustersDataType);
+ tgtList.push_back(AliHLTTPCDefinitions::HWClustersDataType());
+ tgtList.push_back(AliHLTTPCDefinitions::ClustersDataType());
tgtList.push_back(kAliHLTDataTypeTrack|kAliHLTDataOriginTPC);
}
else compressionFactor=0.;
if (fHistoCompFactor) fHistoCompFactor->Fill(compressionFactor);
- if (GetBenchmarkInstance()) {
+ if (GetBenchmarkInstance() && allClusters>0) {
GetBenchmarkInstance()->Stop(0);
if (fDeflaterMode!=3) {
HLTBenchmark("%s - compression factor %.2f", GetBenchmarkInstance()->GetStatistics(), compressionFactor);
if (iResult<0) return iResult;
}
+ if (!fHistogramFile.IsNull())
+ deflater->EnableStatistics();
+
unsigned nofParameters=AliHLTTPCDefinitions::GetNumberOfClusterParameterDefinitions();
unsigned p=0;
for (; p<nofParameters; p++) {
const AliHLTTPCDefinitions::AliClusterParameter& parameter=AliHLTTPCDefinitions::fgkClusterParameterDefinitions[p];
+ // use the pad/time length as reference for the calculation of ratio for residuals
+ unsigned refLength=0;
+ unsigned refLengthPad=0;
+ unsigned refLengthTime=0;
+ if (parameter.fId==AliHLTTPCDefinitions::kPad) refLengthPad=parameter.fBitLength;
+ else if (parameter.fId==AliHLTTPCDefinitions::kTime) refLengthTime=parameter.fBitLength;
+ else if (parameter.fId==AliHLTTPCDefinitions::kResidualPad) refLength=refLengthPad;
+ else if (parameter.fId==AliHLTTPCDefinitions::kResidualTime) refLength=refLengthTime;
+
if (deflater->AddParameterDefinition(parameter.fName,
- parameter.fBitLength)!=(int)parameter.fId) {
+ parameter.fBitLength,
+ refLength)!=(int)parameter.fId) {
// for performance reason the parameter id is simply used as index in the array of
// definitions, the position must match the id
HLTFatal("mismatch between parameter id and position in array for parameter %s, rearrange definitions!", parameter.fName);
std::auto_ptr<AliHLTDataDeflaterSimple> deflater(new AliHLTDataDeflaterSimple);
if (!deflater.get()) return -ENOMEM;
+ if (!fHistogramFile.IsNull())
+ deflater->EnableStatistics();
+
unsigned nofParameters=AliHLTTPCDefinitions::GetNumberOfClusterParameterDefinitions();
unsigned p=0;
for (; p<nofParameters; p++) {
meanT+=time;
meanZ+=xyz[2];
}
+ if (count==0) count=1;
meanT/=count;
meanZ/=count;
float sumTZ=.0;