00001 #ifndef ExhaustiveMuonTrajectoryBuilder_h 00002 #define ExhaustiveMuonTrajectoryBuilder_h 00003 00010 #include "FWCore/Framework/interface/ESHandle.h" 00011 #include "RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h" 00012 #include "RecoMuon/StandAloneTrackFinder/interface/StandAloneTrajectoryBuilder.h" 00013 #include "RecoMuon/TrackingTools/interface/MuonSeedFromRecHits.h" 00014 00015 class ExhaustiveMuonTrajectoryBuilder : public MuonTrajectoryBuilder 00016 { 00017 public: 00018 ExhaustiveMuonTrajectoryBuilder(const edm::ParameterSet & pset, const MuonServiceProxy*); 00019 virtual ~ExhaustiveMuonTrajectoryBuilder(); 00020 00022 virtual TrajectoryContainer trajectories(const TrajectorySeed&); 00023 00025 virtual CandidateContainer trajectories(const TrackCand&); 00026 00028 virtual void setEvent(const edm::Event& event); 00029 00030 00031 private: 00032 void clean(TrajectoryContainer & trajectories) const; 00033 00034 StandAloneMuonTrajectoryBuilder theTrajBuilder; 00035 MuonSeedFromRecHits theSeeder; 00036 const MuonServiceProxy *theService; 00037 00038 }; 00039 00040 #endif 00041