TObjArray trks(ntr);
for (i=0; i<ntr; i++) {
AliESDtrack *esdtr=event->GetTrack(i);
- Int_t status=esdtr->GetStatus();
+ UInt_t status=esdtr->GetStatus();
+ UInt_t flags=AliESDtrack::kITSin|AliESDtrack::kTPCin;
if ((status&AliESDtrack::kITSrefit)==0)
- if ((status&AliESDtrack::kITSout)!=0 || (status&AliESDtrack::kITSin)==0)
- continue;
+ if ((status&flags)!=status) continue;
AliITStrackV2 *iotrack=new AliITStrackV2(*esdtr);
iotrack->SetLabel(i); // now it is the index in array of ESD tracks
ResetTrackToFollow(*t);
// propagete to vertex [SR, GSI 17.02.2003]
- fTrackToFollow.PropagateTo(3.,0.0028,65.19);
- fTrackToFollow.PropagateToVertex();
-
- // Start Time measurement [SR, GSI 17.02.2003]
- fTrackToFollow.StartTimeIntegral();
- fTrackToFollow.PropagateTo(3.,-0.0028,65.19);
+ // Start Time measurement [SR, GSI 17.02.2003], corrected by I.Belikov
+ if (fTrackToFollow.PropagateTo(3.,0.0028,65.19)) {
+ if (fTrackToFollow.PropagateToVertex()) {
+ fTrackToFollow.StartTimeIntegral();
+ }
+ fTrackToFollow.PropagateTo(3.,-0.0028,65.19);
+ }
fTrackToFollow.ResetCovariance(); fTrackToFollow.ResetClusters();
if (RefitAt(49.,&fTrackToFollow,t)) {
Int_t i;
for (i=0; i<nentr; i++) {
AliESDtrack *esd=event->GetTrack(i);
- Int_t status=esd->GetStatus();
+ UInt_t status=esd->GetStatus();
+ UInt_t flags=AliESDtrack::kITSin|AliESDtrack::kTPCin;
- if ((status&AliESDtrack::kITSrefit)==0)
- if ((status&AliESDtrack::kITSout)!=0 || (status&AliESDtrack::kITSin)==0)
- continue;
+ if ((status&AliESDtrack::kITSrefit)==0)
+ if ((status&flags)!=status) continue;
AliITStrackV2 *iotrack=new AliITStrackV2(*esd);
iotrack->SetLabel(i); // now it is the index in array of ESD tracks