+ for(Int_t i = 0; i < AliPID::kSPECIES; i++){
+ if ( fPID[i] != inTrack->GetPID(i) ) return kFALSE;
+ }
+
+ for (Int_t i = 0; i < 3; i++){
+ if ( fBudget[i] != inTrack->GetBudget(i) ) return kFALSE;
+ }
+ if ( fDE != inTrack->GetEdep() ) return kFALSE;
+ if ( fFakeRatio != inTrack->GetFakeRatio() ) return kFALSE;
+ if ( fChi2 != inTrack->GetChi2() ) return kFALSE;
+ if ( fMass != inTrack->GetMass() ) return kFALSE;
+ if ( fLab != inTrack->GetLabel() ) return kFALSE;
+ if ( fN != inTrack->GetNumberOfClusters() ) return kFALSE;
+ if ( AliKalmanTrack::GetIntegratedLength() != inTrack->GetIntegratedLength() ) return kFALSE;
+
+ if ( GetX() != inTrack->GetX() ) return kFALSE;
+ if ( GetAlpha() != inTrack->GetAlpha() ) return kFALSE;
+ const Double_t *inP = inTrack->GetParameter();
+ const Double_t *curP = GetParameter();
+ for (Int_t i = 0; i < 5; i++){
+ if ( curP[i] != inP[i]) return kFALSE;
+ }
+ const Double_t *inC = inTrack->GetCovariance();
+ const Double_t *curC = GetCovariance();
+ for (Int_t i = 0; i < 15; i++){
+ if ( curC[i] != inC[i]) return kFALSE;
+ }
+
+ for (Int_t iTracklet = 0; iTracklet < kNplane; iTracklet++){
+ AliTRDseedV1 *curTracklet = fTracklet[iTracklet];
+ AliTRDseedV1 *inTracklet = inTrack->GetTracklet(iTracklet);
+ if (curTracklet && inTracklet){
+ if (! curTracklet->IsEqual(inTracklet) ) {
+ curTracklet->Print();
+ inTracklet->Print();
+ return kFALSE;
+ }
+ } else {
+ // if one tracklet exists, and corresponding
+ // in other track doesn't - return kFALSE
+ if(inTracklet || curTracklet) return kFALSE;
+ }
+ }
+
+ return kTRUE;
+}
+
+//_______________________________________________________________
+Bool_t AliTRDtrackV1::IsElectron() const
+{
+ if(GetPID(0) > fkReconstructor->GetRecoParam()->GetPIDThreshold(GetP())) return kTRUE;
+ return kFALSE;