Hi Jeff,

here is a clickable list of the code that is run for the L3 muon reconstruction:

1] get the L2Track collection
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3MuonProducer/src/L3MuonProducer.cc?v=CMSSW_1_7_0_pre12#118

2] after getting the actual Trajectory object from the L2 (if available), call the l3 reconstruction:
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3MuonProducer/src/L3MuonProducer.cc?v=CMSSW_1_7_0_pre12#148

2.1] which calls the trajectory reconstruction:
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackFinder.cc?v=CMSSW_1_7_0_pre12#122

2.1.1] make some initial cut on the initial track:
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#154
those cuts are by default:
double PtCut = 1.0
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/data/GlobalTrajectoryBuilderCommon.cff?v=CMSSW_1_7_0_pre12#005

2.1.2] refit the initial track to get a trajectory (if not provided at step 2])
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#159
This step can fail if the refit does not succeed.

2.1.3] make the pattern recognition in the tracker
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#161

2.1.3.1] defines the region of interest
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#233
which is the "mystery" thing I always talked about, so I will not go into details there.
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/MuonTrackingRegionBuilder.cc?v=CMSSW_1_7_0_pre12#041
but surely it needs some explanations.

2.1.3.2] creates the list of seeds
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#234
this steps calls one the tracker seed generator available.
    a) Baseline: pixel pair or triplet or mixed strip-pixel pair
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackerSeedGenerator/plugins/TSGFromOrderedHits.cc?v=CMSSW_1_7_0_pre12#028
this code is not very readable, I did it once. Would need documentation.
    b) TSGRSpxl: hit-less inside-out
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackerSeedGenerator/plugins/TSGForRoadSearch.cc?v=CMSSW_1_7_0_pre12#261
    c) TSGRS: hit-less outside-in
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackerSeedGenerator/plugins/TSGForRoadSearch.cc?v=CMSSW_1_7_0_pre12#201
    c) TSGP (Chang's outside-in)
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackerSeedGenerator/plugins/TSGFromPropagation.cc?v=CMSSW_1_7_0_pre12#047

2.1.3.3] creates the list of tracker trajectory
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#238
which calls the tracker pattern recognition algo (CkfTrajectoryBuilder)
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#270

2.1.3.4] cleans the collection of trajectory after processing each seeds
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#274

2.1.3.5] cleans the collection of trajectory after processing all seeds
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#286

2.1.3.6] match the tracker and muon tracks
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#165

2.1.3.6.1] try to match by chi2
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#123

2.1.3.6.2] first convert into TrajectoryStateOnSurface.
which includes a check on the trajectory on the FIRST measurement
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#213
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#214
double MinP = 2.5
double MinPt = 1.0
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/data/GlobalTrajectoryBuilderCommon.cff?v=CMSSW_1_7_0_pre12#017
the first measurement has basically NO tracker information.
then the last measurement is used as the TSOS used (depending on outside-in inside-out)
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#215

2.1.3.6.3] put them on the same surface OUTER TRACKER SURFACE
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#225
which does some additional propagation in case the surface chosen was not the same (barrel/disk), until it reaches the same surface.
Actually, this uses the tangential plane to the cylinder to evaluate same-plane-ness
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#375
float maxtilt = 0.999
float maxdist = 0.01; // in cm
the condition is <n1>.<n2> > 0.999, which means the angle between the vectors have to be less than 2.56 degrees, which amounts to a dR cut at 0.05 on the position of the state on the cylinder.
the second condition says that the deltaZ of the center of the surface, should not be further than 100 microns. this is not very relevant, since if this is the same cylinder, this value should be plain 0. same in the disk region.
the dR condition seems way to stringent to me. two state far in the barrel region (eta=0) will only be said to be from the same surface if the extrapolation to the plane are less than dR~0.05 appart.

2.1.3.6.4] make the chi2 calculation
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#272
and compare to cut
double Chi2Cut = 300.0
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/data/GlobalTrajectoryBuilderCommon.cff?v=CMSSW_1_7_0_pre12#016

2.1.3.6.5] if no match was found previously, try matching by position. (redoing step 2.1.3.6.3], not very optimum)
making position dphi, deta matching
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#309
double DeltaEtaCut = 0.2
double DeltaPhiCut = 0.2
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/data/GlobalTrajectoryBuilderCommon.cff?v=CMSSW_1_7_0_pre12#019

2.1.3.6.6] is still, no matching is found, try a momentum at Ip matching, using the FIRST measurement on the trajectory
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#350
float deltaR = 1.0;
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalMuonTrackMatcher.cc?v=CMSSW_1_7_0_pre12#329
this step is definitely wrong, because it is using the FIRST measurement and not the last update on the trajectory.

2.1.3.7] refit the tracker trajectory
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#179

2.1.3.7.1] reversing the hits if necessary (depending on propagation direction)
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalTrajectoryBuilderBase.cc?v=CMSSW_1_7_0_pre12#836
This steps fails systematically due to the propagation direction of the smart propagator

2.1.3.8] build the global trajectory (I will concentrate on the HLT option: 1. all tracker+ all muon hits.
http://cmslxr.fnal.gov/lxr/source/RecoMuon/L3TrackFinder/src/L3MuonTrajectoryBuilder.cc?v=CMSSW_1_7_0_pre12#194
including a cut on track parameter after last update in the tracker
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalTrajectoryBuilderBase.cc?v=CMSSW_1_7_0_pre12#191
double PtCut = 1.0
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/data/GlobalTrajectoryBuilderCommon.cff?v=CMSSW_1_7_0_pre12#005

2.1.3.8.1] fit the tracker hit and the muon hits
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalTrajectoryBuilderBase.cc?v=CMSSW_1_7_0_pre12#871

2.1.3.8.2] select THE best global fit based on final refit probability
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalTrajectoryBuilderBase.cc?v=CMSSW_1_7_0_pre12#281
double minProb = 9999;
http://cmslxr.fnal.gov/lxr/source/RecoMuon/GlobalTrackingTools/src/GlobalTrajectoryBuilderBase.cc?v=CMSSW_1_7_0_pre12#277

2.2] clean the collection of global trajectory
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackFinder.cc?v=CMSSW_1_7_0_pre12#127

2.2.1] do nothing if 1 or less trajectory
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrajectoryCleaner.cc?v=CMSSW_1_7_0_pre12#101

2.2.2] count the number of shared hits
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrajectoryCleaner.cc?v=CMSSW_1_7_0_pre12#151

2.2.3] make  dPt, dEta, dPhi cut disctinction
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrajectoryCleaner.cc?v=CMSSW_1_7_0_pre12#177
float deltaEta = 0.01
float deltaPhi = 0.01
float deltaPt  = 1.0
to be a identical trajectory, the inner momentum measurement must be within the above cuts.

2.2.4] make shared hit distinction
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrajectoryCleaner.cc?v=CMSSW_1_7_0_pre12#186
to be identical, trajectory must share hits and the number of shared hits is more than 25% of either trajectory.

2.2.5] if the two considered trajectory are said to be identical with respect to the above criteria, the best is kept.
the one with most hit OR the least chi square

2.3] load the product in the event
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackFinder.cc?v=CMSSW_1_7_0_pre12#131

2.3.1] put all empty collection if nothing's there
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#273

2.3.2] put the links sta/tracker/global
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#303
with empty ref to tracker track

2.3.3] load the global tracks
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#309

2.3.3.1] do a smoothing of the trajectory if required
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#145
and it is required
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/interface/MuonTrackLoader.h?v=CMSSW_1_7_0_pre12#047
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/data/MuonTrackLoader.cff?v=CMSSW_1_7_0_pre12#054

2.3.4] load the tracker track
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#312

2.3.4.1] there is no smoothing there
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/data/MuonTrackLoader.cff?v=CMSSW_1_7_0_pre12#055

2.3.5] make the proper reference to globa/tracker tracks.
http://cmslxr.fnal.gov/lxr/source/RecoMuon/TrackingTools/src/MuonTrackLoader.cc?v=CMSSW_1_7_0_pre12#323


That's an awfull lot of code for such an easy task...