const AliHLTTPCSpacePointData *clusters = clusterData->fSpacePoints;
int offset=pClusters->GetEntries();
pClusters->ExpandCreate(offset+nSpacepoints);
+ AliHLTUInt8_t slice = AliHLTTPCDefinitions::GetMinSliceNr(specification);
+ AliHLTUInt8_t partition = AliHLTTPCDefinitions::GetMinPatchNr(specification);
+ // FIXME: get first row number of outer sectors from a common definition instead using number
+ unsigned rowOffset=partition<2?rowOffset=0:rowOffset=63;
for (int i=0; i<nSpacepoints; i++) {
if (!pClusters->At(offset+i)) continue;
AliTPCclusterMI* pCluster=dynamic_cast<AliTPCclusterMI*>(pClusters->At(offset+i));
AliError("invalid object type, expecting AliTPCclusterMI");
break; // this is a problem of all objects
}
- pCluster->SetRow(clusters[i].fPadRow);
+ if (clusters[i].fPadRow<rowOffset) {
+ AliError(Form("invalid row number %d, expecting minimum row number %d for slice %d partition %d", clusters[i].fPadRow, rowOffset, slice, partition));
+ } else {
+ pCluster->SetRow(clusters[i].fPadRow-rowOffset);
+ }
pCluster->SetPad(clusters[i].fY);
pCluster->SetTimeBin(clusters[i].fZ);
pCluster->SetSigmaY2(clusters[i].fSigmaY2);
const AliHLTTPCRawCluster *clusters = clusterData->fClusters;
int offset=pClusters->GetEntries();
pClusters->ExpandCreate(offset+nCount);
+ AliHLTUInt8_t slice = AliHLTTPCDefinitions::GetMinSliceNr(specification);
+ AliHLTUInt8_t partition = AliHLTTPCDefinitions::GetMinPatchNr(specification);
+ // FIXME: get first row number of outer sectors from a common definition instead using number
+ int rowOffset=partition<2?rowOffset=0:rowOffset=63;
for (int i=0; i<nCount; i++) {
if (!pClusters->At(offset+i)) continue;
AliTPCclusterMI* pCluster=dynamic_cast<AliTPCclusterMI*>(pClusters->At(offset+i));
AliError("invalid object type, expecting AliTPCclusterMI");
break; // this is a problem of all objects
}
- pCluster->SetRow(clusters[i].GetPadRow());
+ if (clusters[i].GetPadRow()<rowOffset) {
+ AliError(Form("invalid row number %d, expecting minimum row number %d for slice %d partition %d", clusters[i].GetPadRow(), rowOffset, slice, partition));
+ } else {
+ pCluster->SetRow(clusters[i].GetPadRow()-rowOffset);
+ }
pCluster->SetPad(clusters[i].GetPad());
pCluster->SetTimeBin(clusters[i].GetTime());
pCluster->SetSigmaY2(clusters[i].GetSigmaY2());
pCluster->SetQ(clusters[i].GetCharge());
pCluster->SetMax(clusters[i].GetQMax());
if (tpcClusterLabels) {
- AliHLTUInt8_t slice = AliHLTTPCDefinitions::GetMinSliceNr(specification);
- AliHLTUInt8_t partition = AliHLTTPCDefinitions::GetMinPatchNr(specification);
UInt_t clusterID=AliHLTTPCSpacePointData::GetID(slice, partition, i);
if (tpcClusterLabels->find(clusterID)!=tpcClusterLabels->end()) {
const AliHLTTPCClusterMCWeight* mcWeights=tpcClusterLabels->find(clusterID)->second.fClusterID;