important bugfix for the internal TRD tracklet structure, members had been copied...
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Nov 2009 08:37:31 +0000 (08:37 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Nov 2009 08:37:31 +0000 (08:37 +0000)
minor extension and rearrangement of members in order to save space. This change is not backward compatible, but as data
has not been stored in this format, no other protection is implemented. Only used for HLT TRD internal. (Theodor)

HLT/TRD/AliHLTTRDTracklet.cxx
HLT/TRD/AliHLTTRDTracklet.h

index 9a831bc..baec8bd 100644 (file)
@@ -5,21 +5,19 @@
 //============================================================================
 AliHLTTRDTracklet::AliHLTTRDTracklet():
   fN(0),
-  fDet(-1),
   fdX(-1),
   fS2Y(-1),
   fPt(-1),
-  fPad3(-1),
-  fPad2(-1),
   fX0(-1),
   fC(-1),
   fChi2(-1),
+  fDet(-1),
+  fCount(0),
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-  fSize(sizeof(AliHLTTRDTracklet)-sizeof(IndexAndCluster)),
+  fSize(sizeof(AliHLTTRDTracklet)-sizeof(IndexAndCluster))
 #else
-  fSize(sizeof(AliHLTTRDTracklet)),
+  fSize(sizeof(AliHLTTRDTracklet))
 #endif
-  fCount(0)
 {
   InitArrays();
 }
@@ -30,21 +28,19 @@ AliHLTTRDTracklet::AliHLTTRDTracklet():
 //============================================================================
 AliHLTTRDTracklet::AliHLTTRDTracklet(const AliTRDseedV1* const inTracklet):
   fN(inTracklet->fN),
-  fDet(inTracklet->fDet),
   fdX(inTracklet->fdX),
   fS2Y(inTracklet->fS2Y),
   fPt(inTracklet->fPt),
-  fPad3(inTracklet->fPad[3]),
-  fPad2(inTracklet->fPad[2]),
   fX0(inTracklet->fX0),
   fC(inTracklet->fC),
   fChi2(inTracklet->fChi2),
+  fDet(inTracklet->fDet),
+  fCount(0),
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-  fSize(sizeof(AliHLTTRDTracklet)-sizeof(IndexAndCluster)),
+  fSize(sizeof(AliHLTTRDTracklet)-sizeof(IndexAndCluster))
 #else
-  fSize(sizeof(AliHLTTRDTracklet)),
+  fSize(sizeof(AliHLTTRDTracklet))
 #endif
-  fCount(0)
 {
   CopyDataMembers(inTracklet);
 }
@@ -63,6 +59,10 @@ void AliHLTTRDTracklet::CopyDataMembers(const AliTRDseedV1* const inTracklet)
     fYfit[i]   = inTracklet->fYfit[i];
     fZfit[i]   = inTracklet->fZfit[i];
   }
+
+  for (Int_t i=0; i < 3; i++){
+    fPad[i] = inTracklet->fPad[i];
+  }
   
   for (Int_t i=0; i < AliPID::kSPECIES; i++){
     fProb[i] = inTracklet->fProb[i];
@@ -93,8 +93,6 @@ void AliHLTTRDTracklet::ExportTRDTracklet(AliTRDseedV1* const outTracklet) const
 
   outTracklet->fN      = fN;
   outTracklet->fDet    = fDet;
-  outTracklet->fPad[3] = fPad3;
-  outTracklet->fPad[2] = fPad2;
   outTracklet->fdX     = fdX;
   outTracklet->fX0     = fX0;
   outTracklet->fS2Y    = fS2Y;
@@ -109,6 +107,10 @@ void AliHLTTRDTracklet::ExportTRDTracklet(AliTRDseedV1* const outTracklet) const
     outTracklet->fZfit[i]   = fZfit[i];
   }
 
+  for (Int_t i=0; i < 3; i++){
+    outTracklet->fPad[i] = fPad[i];
+  }
+
   for (Int_t i=0; i < AliPID::kSPECIES; i++){
     outTracklet->fProb[i] = fProb[i];
   }
index 5c84615..4788421 100644 (file)
@@ -32,8 +32,7 @@ class AliHLTTRDTracklet
   void InitArrays();
 
   /* Defenitely need */
-  UShort_t       fN;                     // number of clusters attached/used/shared
-  Short_t        fDet;                   //  TRD detector
+  UInt_t         fN;                     // number of clusters attached/used/shared
   Float_t        fdX;                    // length of time bin
   Float_t        fYref[2];               //  Reference y
   Float_t        fZref[2];               //  Reference z
@@ -41,14 +40,14 @@ class AliHLTTRDTracklet
   Float_t        fPt;                    //  Momentum estimate for tracklet [GeV/c]
  
   /* Probably need */
-  Float_t        fPad3;                  //  Tilting angle
-  Float_t        fPad2;                  //  Pad length
+  Float_t        fPad[3];                //  local pad definition : length/width/tilt 
   Float_t        fX0;                    //  X0 position
   Float_t        fYfit[2];               //  Y fit position +derivation
   Float_t        fZfit[2];               //  Z fit position
   Float_t        fC;                     //  Curvature
   Float_t        fChi2;                  //  Global chi2
   Float_t        fProb[AliPID::kSPECIES];// PID probabilities
+  Short_t        fDet;                   //  TRD detector
 
   /* Not needed */
   //Int_t          fLabels[3];            //  Labels
@@ -66,13 +65,13 @@ class AliHLTTRDTracklet
   //Float_t        fCC;                   //  Curvature with constrain
   //Float_t        fChi2Z;                //  Global chi2
 
+  AliHLTUInt16_t fCount;                  // Number of clusters saved in the open array
   AliHLTUInt32_t fSize;                   // Size of the tracklet with clusters in the memory
-  AliHLTUInt32_t fCount;                  // Number of clusters saved in the open array
 
   struct IndexAndCluster{
     Int_t            Index;
     AliHLTTRDCluster Cluster;
-    IndexAndCluster():Index(-1),Cluster() {}
+    IndexAndCluster():Index(),Cluster() {}
   }
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
     fClusters[1];                         // Open array of clusters and their index