CMS 3D CMS Logo

MuonTrackFinder.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_TrackingTools_MuonTrackFinder_H
00002 #define RecoMuon_TrackingTools_MuonTrackFinder_H
00003 
00012 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00013 #include "DataFormats/TrackReco/interface/TrackExtraFwd.h"
00014 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00015 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00016 #include "RecoMuon/TrackingTools/interface/MuonCandidate.h"
00017 
00018 #include "FWCore/Framework/interface/ESHandle.h"
00019 
00020 #include <vector>
00021 
00022 namespace edm {class ParameterSet; class Event; class EventSetup;}
00023 
00024 class MuonTrajectoryBuilder;
00025 class MuonTrajectoryCleaner;
00026 class MuonTrackLoader;
00027 
00028 class MuonTrackFinder {
00029 
00030   public:
00031 
00032     typedef MuonCandidate::TrajectoryContainer TrajectoryContainer;
00033     typedef MuonCandidate::CandidateContainer CandidateContainer;
00034     typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;  
00035 
00036   public:
00037   
00039     MuonTrackFinder(MuonTrajectoryBuilder* ConcreteMuonTrajectoryBuilder,
00040                     MuonTrackLoader *trackLoader);
00041     
00043     virtual ~MuonTrackFinder();
00044   
00046     edm::OrphanHandle<reco::TrackCollection> reconstruct(const edm::Handle<edm::View<TrajectorySeed> >&,
00047                                                          edm::Event&);
00048 
00052     void reconstruct(const std::vector<TrackCand>&, edm::Event&);
00053     
00054  private:
00055     
00057     void setEvent(const edm::Event&);
00058 
00060     edm::OrphanHandle<reco::TrackCollection> load(const TrajectoryContainer&, edm::Event&);
00061 
00063     void load(const CandidateContainer&, edm::Event&);
00064 
00065   private:
00066 
00067     MuonTrajectoryBuilder* theTrajBuilder;
00068 
00069     MuonTrajectoryCleaner* theTrajCleaner;
00070 
00071     MuonTrackLoader* theTrackLoader;
00072   
00073 };
00074 #endif 

Generated on Tue Jun 9 17:44:34 2009 for CMSSW by  doxygen 1.5.4