Outlier Rejection Algorithm

Complete: 5

Goal of the page

This page is intended to familiarize you with the Outlier Rejection algorithm.
The purpose of the algorithm and its implementation are briefly reminded, its usage is presented and some of the most important results are be shown.




Outlier Rejection is an algorithm that implements th removal of the hits that, during the Final Track Fit, have a large chi^2 with respect to the fitted track.
These hits are very likely to provide a biased or incorrect measurement. The general effect of this algorithms is to improve the quality of reconstructed tracks.
It has a strong impact on the reconstruction of the events where the tracking environment is very dense, like extremely high energy jets events.

Usage of the algorithm

Outlier Rejection is in release since CMSSW_1_5_0, but has been activated by default in the standard Track Fitting since CMSSW_2_0_0. It can be tuned editing the parameters in KFFittingSmootherWithOutliersRejectionAndRK_cfi.py:
  • EstimateCut is the hit chi2 cut: hits with with a chi2 bigger than this cut are removed (actually they are replaced by an invalid hit to take into account the material effects). If set to -1 Outlier Rejection is turned off. The default cut value is 20.
  • MinNumberOfHits is the minimum number of hits of a track. If, after rejecting the outliers, a track has a number of hits below this cut, the fitted track is rejected or the track before any outlier rejection is returned according to the RejectTracks parameter. The default value is 3.
  • RejectTracks. If true (default) the tracks with a number of hits below MinNumberOfHits are rejected, if false the original track is returned.
  • BreakTrajWith2ConsecutiveMissing. If true (default), when, after rejecting outliers, a track has two or more consecutive invalid hits, the track is broken and only the hits before the first invalid are kept. The order of the hits the one of the TrackCandidate.
  • NoInvalidHitsBeginEnd If true (default), the invalid hits at the begin and at the end of the fitted track are removed before returning it.

Software architecture

The Outlier Rejection is implemented in KFFittingSmoother. The logic is the following:
  1. The fit (forward fitting and backward smoothing) is performed at least once.
  2. After the smoothing step the trajectory is analyzed searching for hits with a chi2 greater than EstimateCut.
  3. If at least one is found, the one with the highest chi2 is replaced by an invalid hit (go to next step), otherwise go to last step.
  4. If the track has a number of hits less than MinNumberOfHits, it is rejected (or the "original" track is returned).
  5. The algorithm checks if there are consecutive invalid hits and if it finds them, the trajectory is broken and only the hits before the first invalid are fitted.
  6. The fit is repeated with the new set of hits (back to second step).
  7. The invalid hits at the begin and at the end of the track are removed and the trajectory is returned.

The code has been optimized thanks to GiovanniPetrucciani to reduce the number of copy operation and the memory allocation.

Talks and Notes

The results obtained with this algorithm have been presented in the following talks and notes:
  • Outliers-hits rejection during final track fitting: slides
  • Optimization of Hit Removal in Final Fit: slides
  • Outlier rejection and misalignment: slides
  • Outlier Rejection in CMSSW_2_0_6 and Further Developments: slides
  • Outlier Rejection during the Final Track Fit: IN-2008/007
  • The most recent results with CMSSW_2_0_X are summarized in this Ph.D. thesis (Chapter 4).

Review status

Reviewer/Editor and Date (copy from screen) Comments
GiuseppeCerati - 29 Apr 2009 Documentation Review
GiuseppeCerati - 17 Jun 2008 edit page
KatiLassilaPerini - 29 Jan 2008 created template page

Responsible: GiuseppeCerati
Last reviewed by: Most recent reviewer

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2009-04-29 - GiuseppeCerati
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback