- fZ = trk[2];
-// if(!IsRowCross()) return;
-// // recalculate local z coordinate assuming primary track for row cross tracklets
-// Float_t xOff(fZfit[1]);
-// fZfit[1] = fZ/(fX0-xOff);
-// //printf("stk[%d] xoff[%f] dzdx[%f]\n", AliTRDgeometry::GetStack(fDet), xOff, fZfit[1]);
-// fZfit[0]+= xOff*fZfit[1];
-// // recalculate tracking coordinates based on the new z coordinate
-// loc[2] = GetLocalZ();
-// mDet->LocalToMaster(loc, trk);
-// fX0 = trk[0];
-// fY = trk[1];
-// fZ = trk[2];
+ fZ = trk[2];//-zcorr[stk];
+ fZfit[1] = fZ/(fX0-fS2Y);
+
+ if(!IsRowCross()){fZfit[1] *= 1.09; return;}
+ // recalculate local z coordinate assuming primary track for row cross tracklets
+ Double_t zoff(fZ-fZfit[0]); // no alignment aware !
+ //printf("SetXYZ : zoff[%f] zpp[%f]\n", zoff, zpp);
+ fZfit[0] = fX0*fZfit[1] - zoff;
+ // recalculate tracking coordinates based on the new z coordinate
+ loc[2] = fZfit[0];
+ mDet->LocalToMaster(loc, trk);
+ fX0 = trk[0];
+ fY = trk[1];
+ fZ = trk[2];//-zcorr[stk];
+ fZfit[1] = /*(IsRowCross()?1.05:1.09)**/fZ/(fX0-fS2Y);