cms-sw/cmssw — pull request #2598 by VinInn (2014-02-23 09:14:14+00:00)
Title: TrackingRecHit rework

This is the first step toward a rework of TrackingRecHit and their Transient counterparts to remove all inconsistency and eventually remove the need of two class hierarchies to represent the very same thing.

This PR includes
1) move DetSet * in TrackingRecHit
2) move interface to access global coordinate as well
2a) implement it in BaseTrackerRecHit
3) construct TrackingRecHit with a valide DetSet pointer for Tracker
4) change the interface of MeasurementEstimator to accept TrackingRecHit
so long not a single relevant code instruction is most probably changed...

5) remove the need to create a TTRH just to verify that it is compatible with trajectory during matching (commit 9ef436a and b29f971)
this avoids memory churn and the need of a thread-safe static

6) add alignment errors to local errors directly for Tracker in BaseTrackerRecHit
this modification will create some regression due to the fact that now Alignment errors will be visible during Seeding and PixelTrack creation as well.
(This is the first of the serious inconsistencies that is removed)

verified running full Matrix
regression from 202.0 with MTV in https://innocent.web.cern.ch/innocent/NewTkHitMTV/
regression from jetHT 2012C in https://innocent.web.cern.ch/innocent/NewTkHit/
most "affected" should be PixelTracks

next steps (after this PR is merged)
a) fix PixelRecHit content and construction
b) use normal SiStrip2DRecHit during matching
c) make TrackingRecHit able to clone (or update?) w.r.t. new track parameters
d) move Muon as well?
e) migrate all TrackingTools and RecoTracker interfaces to use TrackingRecHit
f) clean the code