ancientMuonSeed: currently the default, which uses the same algorithms originally used in ORCA. The basic code structure is as follows: MuonSeedGenerator: First, looks for "patterns", vectors or RecHits consistent with a muon. Then each pattern is turned into a seed by giving it a Trajectory, an energy and direction with errors. MuonOrcaPatternRecognition Looks for patterns by starting from the segments on outer layers, and trying to add segments from inner layers. MuonSeedFinder Turns patterns into seeds. Essentially hands the work to MuonDTSeedFromRecHits, MuonOverlapSeedFromRecHits, or MuonCSCSeedFromRecHits. MuonCSCSeedFromRecHits Gets the pT measurement from the phi difference between the two innermost segments, using the MuonSeedPtExtractor. Chooses one of the segments to use as direction, and overwrites the theta direction of the seed with a line to the origin. MuonDTSeedFromRecHits The direction of single segments gives pretty good pT estimates, too, so we use a weighted pT of single segments and segment pairs for the pT. MuonOverlapSeedFromRecHits These don't work as well as they should at the moment. In fact, we're seeing ghosts that consist of a good muon from a DT/DT seed or a CSC/CSC seed, and a bad DT/CSC seed.