]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
output data size of slice trackers is reduced by 25% by optimising AliHLTTPCCASliceOu...
authorsgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Oct 2010 22:36:49 +0000 (22:36 +0000)
committersgorbuno <sgorbuno@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Oct 2010 22:36:49 +0000 (22:36 +0000)
HLT/TPCLib/tracking-ca/AliHLTTPCCAMerger.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCAPerformance.cxx
HLT/TPCLib/tracking-ca/AliHLTTPCCASliceOutCluster.h
HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerOutputConverter.cxx
HLT/TPCLib/tracking-ca/AliTPCtrackerCA.cxx

index 2defdc8129c4e75b9eb069afa2937028068bdf7b..2873cb5dce94ba83b9e846a02e7bdfa9e52af2f5 100644 (file)
@@ -240,9 +240,9 @@ void AliHLTTPCCAMerger::UnpackSlices()
         // unpack cluster information
 
         AliHLTTPCCAClusterInfo &clu = fClusterInfos[nClustersCurrent + nCluNew];
-       int id, row;
+       UInt_t id, row;
        float x,y,z;
-       sliceTr->Cluster( iTrClu ).Get(id,row,x,y,z);
+       sliceTr->Cluster( iTrClu ).Get(iSlice,id,row,x,y,z);
        
         clu.SetISlice( iSlice );
         clu.SetIRow( row );
index f9c7aa15c6adb5a4abe2841eca091641557ec978..1d9b8532e334e535de4cbdd0ef765e252f7da218 100644 (file)
@@ -1232,9 +1232,9 @@ void AliHLTTPCCAPerformance::SlicePerformance( int iSlice, bool PrintFlag )
     
     std::vector<int> clusterIDs;
     for ( int i = 0; i < tCA->NClusters(); i++ ) {
-      int id, row;
+      UInt_t id, row;
       float x,y,z;
-      tCA->Cluster(i).Get(id,row,x,y,z);
+      tCA->Cluster(i).Get(iSlice,id,row,x,y,z);
       clusterIDs.push_back( id );
     }
     tCA = tCA->GetNextTrack();
index 7aa2a62615c2c24ca3ea0f4432e57e2ea9375ab2..22c2f3b4f579dac3be6fd987a9325dcbc81ffe09 100644 (file)
@@ -22,19 +22,19 @@ class AliHLTTPCCASliceOutCluster
 {
   public:
 
-  GPUh() void Set( int Id, int row, float x, float y, float z ){
-    fId = Id;  fRow = (UChar_t) row; 
+  GPUh() void Set( UInt_t Id, UInt_t row, float x, float y, float z ){
+    fId = (Id&0xffffff)+(row<<25);
     fXYZp = AliHLTTPCCADataCompressor::PackXYZ( row, x, y, z );
   }
 
-  GPUh() void Get( int &Id, int &row, float &x, float &y, float &z ) const{
-    Id = fId;  row = fRow;
-    AliHLTTPCCADataCompressor::UnpackXYZ( fRow, fXYZp, x, y, z  );
+  GPUh() void Get( int iSlice, UInt_t &Id, UInt_t &row, float &x, float &y, float &z ) const{
+    Id = (fId&0xffffff) + iSlice<<25;  
+    row = fId>>25;
+    AliHLTTPCCADataCompressor::UnpackXYZ( row, fXYZp, x, y, z  );
   }  
-    
+  
   private:
-    Int_t fId; // Id ( slice, patch, cluster )
-    UChar_t fRow; // row number
+    UInt_t fId; // Id ( row, patch, cluster )
     AliHLTTPCCACompressedCluster fXYZp;// packed coordinates
 };
 
index 3336dadcb85dde4818d5dc669fdff2e9cffa9401..728d261370c02f837eeff5ede010b7b71915ab7c 100644 (file)
@@ -327,9 +327,9 @@ int AliHLTTPCCATrackerOutputConverter::DoEvent( const AliHLTComponentEventData &
       currOutTrack->fFlags = 0;
       currOutTrack->fNPoints = nClu;    
       for( int i = 0; i< nClu; i++ ) { 
-       int id, row;
+       UInt_t id, row;
        float x,y,z;
-       sliceTr->Cluster( i ).Get(id,row,x,y,z);      
+       sliceTr->Cluster( i ).Get(slice,id,row,x,y,z);      
        currOutTrack->fPointIDs[i] = id;
        if( i == nClu-1 ){
          currOutTrack->fLastX = x;
index 82590d040e0bbb465f6bfeafada99f985b648662..a340632c5cd5410ed09e6a7b09172b6afc991060 100644 (file)
@@ -402,6 +402,7 @@ int AliTPCtrackerCA::Clusters2Tracks( AliESDEvent *event )
       AliHLTTPCCATrackParam t0 = par;
       for ( int ih = 0; ih < nhits; ih++ ) {
         int index = hltOut.ClusterId( tCA.FirstClusterRef() + firstHit + ih );
+       index = index&0xffffff;
         tTPC.SetClusterIndex( ih, index );
         AliTPCclusterMI *c = &( fClusters[index] );
         int iSlice = fClusterSliceRow[index] >> 8;