Skip to content

Commit bc73322

Browse files
committed
Suppres compareToHelix and min.ref. |q/pT| cuts for extrapolated tracks
By construction they were designed to eliminate bad matches of ITS/TPC to TRD and TOF
1 parent 9755ce1 commit bc73322

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

Detectors/TPC/calibration/SpacePoints/include/SpacePoints/TrackInterpolation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ class TrackInterpolation
353353
/// \param trk The track parameters, e.g. q/pT, eta, ...
354354
/// \param params Structure with per pad information recalculated on the fly
355355
/// \return 0 if the track could be validated, otherwise returns rejection code
356-
int8_t validateTrack(const TrackData& trk, TrackValidationData& params, const std::vector<TPCClusterResiduals>& clsRes);
356+
int8_t validateTrack(const TrackData& trk, TrackValidationData& params, const std::vector<TPCClusterResiduals>& clsRes, bool interpol);
357357

358358
/// Filter out individual outliers from all cluster residuals of given track
359359
/// \return true for tracks which pass the cuts on e.g. max. masked clusters and false for rejected tracks

Detectors/TPC/calibration/SpacePoints/src/TrackInterpolation.cxx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)