@@ -701,7 +701,7 @@ void TrackInterpolation::interpolateTrack(int iSeed)
701701 mTrackValidation .clear (); // for refitted track parameters and flagging rejected clusters
702702
703703 bool stored = false ;
704- trackData.filterFlag = mParams ->skipOutlierFiltering ? -1 : validateTrack (trackData, mTrackValidation , clusterResiduals);
704+ trackData.filterFlag = mParams ->skipOutlierFiltering ? -1 : validateTrack (trackData, mTrackValidation , clusterResiduals, true );
705705 if (trackData.filterFlag <= 0 || mParams ->writeUnfiltered ) {
706706 int nClValidated = 0 ;
707707 int iRow = 0 ;
@@ -1043,7 +1043,7 @@ void TrackInterpolation::extrapolateTrack(int iSeed)
10431043 }
10441044
10451045 bool stored = false ;
1046- trackData.filterFlag = mParams ->skipOutlierFiltering ? -1 : validateTrack (trackData, mTrackValidation , clusterResiduals);
1046+ trackData.filterFlag = mParams ->skipOutlierFiltering ? -1 : validateTrack (trackData, mTrackValidation , clusterResiduals, false );
10471047 if (trackData.filterFlag <= 0 || mParams ->writeUnfiltered ) {
10481048 int nClValidated = 0 , iRow = 0 ;
10491049 unsigned int iCl = 0 ;
@@ -1240,7 +1240,7 @@ void TrackInterpolation::extrapolateTrack(int iSeed)
12401240 }
12411241}
12421242
1243- int8_t TrackInterpolation::validateTrack (const TrackData& trk, TrackValidationData& params, const std::vector<TPCClusterResiduals>& clsRes)
1243+ int8_t TrackInterpolation::validateTrack (const TrackData& trk, TrackValidationData& params, const std::vector<TPCClusterResiduals>& clsRes, bool interpol )
12441244{
12451245 int8_t status = 0 ;
12461246 while (true ) {
@@ -1254,14 +1254,14 @@ int8_t TrackInterpolation::validateTrack(const TrackData& trk, TrackValidationDa
12541254 }
12551255
12561256 bool resHelix = compareToHelix (trk, params, clsRes);
1257- if (!resHelix) {
1257+ if (!resHelix && interpol ) {
12581258 LOG (debug) << " Skipping track too far from helix approximation" ;
12591259 status |= 0x1 << 1 ;
12601260 if (!mParams ->keepRejectedResiduals ) {
12611261 break ; // we don't keep de-validated tracks, no need to check further
12621262 }
12631263 }
1264- if (std::abs (mBz ) > 0.01 && std::abs (params.qpt ) > mParams ->maxQ2Pt ) {
1264+ if (interpol && ( std::abs (mBz ) > 0.01 && std::abs (params.qpt ) > mParams ->maxQ2Pt ) ) {
12651265 LOG (debug) << " Skipping track with too high q/pT: " << params.qpt ;
12661266 status |= 0x1 << 2 ;
12671267 if (!mParams ->keepRejectedResiduals ) {
0 commit comments