]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ESD/AliESDTrdTrack.cxx
Updates in event mixing code for low-pt code
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDTrdTrack.cxx
index 108137a3e5251c87a4a6e77c23d9cb567da77de9..5f41fc3d407228a11acb1ab39d1e7b195e95b126 100644 (file)
@@ -31,7 +31,7 @@ ClassImp(AliESDTrdTrack)
 
 //_____________________________________________________________________________
 AliESDTrdTrack::AliESDTrdTrack():
-  TObject(),
+  AliVTrdTrack(),
   fSector(-1),
   fStack(-1),
   fA(0),
@@ -41,7 +41,9 @@ AliESDTrdTrack::AliESDTrdTrack():
   fPID(0),
   fLayerMask(0),
   fFlags(0),
+  fFlagsTiming(0),
   fReserved(0),
+  fTrackMatch(),
   fLabel(-1)
 {
   //
@@ -52,7 +54,7 @@ AliESDTrdTrack::AliESDTrdTrack():
 }
 
 AliESDTrdTrack::AliESDTrdTrack(const AliESDTrdTrack& track):
-  TObject(track),
+  AliVTrdTrack(track),
   fSector(track.fSector),
   fStack(track.fStack),
   fA(track.fA),
@@ -62,7 +64,9 @@ AliESDTrdTrack::AliESDTrdTrack(const AliESDTrdTrack& track):
   fPID(track.fPID),
   fLayerMask(track.fLayerMask),
   fFlags(track.fFlags),
+  fFlagsTiming(track.fFlagsTiming),
   fReserved(track.fReserved),
+  fTrackMatch(track.fTrackMatch),
   fLabel(track.fLabel)
 {
   //
@@ -85,9 +89,19 @@ AliESDTrdTrack& AliESDTrdTrack::operator=(const AliESDTrdTrack& track)
 
   if (this == &track)
     return *this;
-  TObject::operator=(track);
-  fLabel        = track.fLabel;
+  AliVTrdTrack::operator=(track);
   fSector       = track.fSector;
+  fStack        = track.fStack;
+  fA            = track.fA;
+  fB            = track.fB;
+  fC            = track.fC;
+  fPID          = track.fPID;
+  fLayerMask    = track.fLayerMask;
+  fFlags        = track.fFlags;
+  fFlagsTiming  = track.fFlagsTiming;
+  fReserved     = track.fReserved;
+  fTrackMatch   = track.fTrackMatch;
+  fLabel        = track.fLabel;
   for (Int_t iLayer = 0; iLayer < 6; iLayer++) {
     fTrackletIndex[iLayer] = track.fTrackletIndex[iLayer];
     fTrackletRefs[iLayer] = track.fTrackletRefs[iLayer];
@@ -130,7 +144,8 @@ ULong64_t AliESDTrdTrack::GetExtendedTrackWord(Int_t /* rev */) const
 
   ULong64_t trackWord = 0;
   AppendBits(trackWord,  11, fFlags);
-  AppendBits(trackWord,  3, fReserved);
+  AppendBits(trackWord,  1, fFlagsTiming);
+  AppendBits(trackWord,  2, fReserved);
   AppendBits(trackWord, 13, fY);
   AppendBits(trackWord,  6, fTrackletIndex[5]);
   AppendBits(trackWord,  6, fTrackletIndex[4]);
@@ -163,7 +178,7 @@ Int_t AliESDTrdTrack::GetPt() const
     Int_t layerMaskId = maskIdLut[this->GetLayerMask()];
     Int_t c1 = c1Lut[layerMaskId];
     Int_t c1Ext = c1 << 8;
-    Int_t ptRawStage4 = c1Ext / (this->GetA() >> 2);
+    Int_t ptRawStage4 = c1Ext / ((this->GetA() >> 2) != 0 ? (this->GetA() >> 2) : 1 );
     Int_t ptRawComb4 = ptRawStage4;
     Int_t ptExtComb4 = (ptRawComb4 > 0) ? ptRawComb4 + 33 : ptRawComb4 - 30;