00001 #ifndef RecoMuon_GlobalTrackFinder_GlobalMuonTrajectoryBuilder_H 00002 #define RecoMuon_GlobalTrackFinder_GlobalMuonTrajectoryBuilder_H 00003 00015 #include "RecoMuon/GlobalTrackingTools/interface/GlobalTrajectoryBuilderBase.h" 00016 #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" 00017 #include "FWCore/ParameterSet/interface/InputTag.h" 00018 00019 namespace edm {class ParameterSet; class Event; class EventSetup; } 00020 00021 class MuonServiceProxy; 00022 class Trajectory; 00023 00024 class GlobalMuonTrajectoryBuilder : public GlobalTrajectoryBuilderBase { 00025 00026 public: 00027 00029 GlobalMuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*); 00030 00032 ~GlobalMuonTrajectoryBuilder(); 00033 00035 MuonTrajectoryBuilder::CandidateContainer trajectories(const TrackCand&); 00036 00038 virtual void setEvent(const edm::Event&); 00039 00040 private: 00041 00043 std::vector<TrackCand> makeTkCandCollection(const TrackCand&); 00044 00045 private: 00046 00047 edm::InputTag theTkTrackLabel; 00048 bool theTkTrajsAvailableFlag; 00049 bool theFirstEvent; 00050 00051 edm::Handle<reco::TrackCollection> allTrackerTracks; 00052 edm::Handle<TrajTrackAssociationCollection> tkAssoMap; 00053 const std::vector<Trajectory>* allTrackerTrajs; 00054 00055 }; 00056 #endif