00001 #ifndef RecoMuon_L3TrackFinder_L3MuonTrajectoryBuilder_H 00002 #define RecoMuon_L3TrackFinder_L3MuonTrajectoryBuilder_H 00003 00016 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h" 00017 00018 #include "RecoMuon/GlobalTrackingTools/interface/GlobalTrajectoryBuilderBase.h" 00019 #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.h" 00020 #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" 00021 00022 #include "TrackingTools/DetLayers/interface/NavigationSchool.h" 00023 00024 namespace edm {class ParameterSet; class Event; class EventSetup;} 00025 00026 class MuonServiceProxy; 00027 class Trajectory; 00028 class TrajectoryCleaner; 00029 00030 class L3MuonTrajectoryBuilder : public GlobalTrajectoryBuilderBase { 00031 00032 public: 00033 00035 L3MuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*); 00036 00038 ~L3MuonTrajectoryBuilder(); 00039 00041 MuonTrajectoryBuilder::CandidateContainer trajectories(const TrackCand&); 00042 00044 virtual void setEvent(const edm::Event&); 00045 00046 private: 00047 00049 std::vector<TrackCand> makeTkCandCollection(const TrackCand&); 00050 00051 private: 00052 00053 TrajectoryCleaner* theTrajectoryCleaner; 00054 00055 edm::InputTag theTkCollName; 00056 edm::Handle<reco::TrackCollection> allTrackerTracks; 00057 00058 }; 00059 #endif