CMS 3D CMS Logo

L3MuonTrajectoryBuilder.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_L3TrackFinder_L3MuonTrajectoryBuilder_H
00002 #define RecoMuon_L3TrackFinder_L3MuonTrajectoryBuilder_H
00003 
00015 #include "DataFormats/MuonSeed/interface/L3MuonTrajectorySeedCollection.h"
00016 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
00017 
00018 #include "RecoMuon/GlobalTrackingTools/interface/GlobalTrajectoryBuilderBase.h"
00019 #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.h"
00020 
00021 #include "TrackingTools/DetLayers/interface/NavigationSchool.h"
00022 
00023 namespace edm {class ParameterSet; class Event; class EventSetup;}
00024 
00025 class MuonServiceProxy;
00026 class Trajectory;
00027 class TrackerSeedGenerator;
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 
00052     TC makeTrajsFromSeeds(const std::vector<TrajectorySeed>&) const;
00053     //    TC makeTrajsFromSeeds(const std::vector<L3MuonTrajectorySeed>&) const;
00054 
00055   private:
00056   
00057     bool theFirstEvent;
00058     bool theSeedsAvailable;    
00059     bool theTrajsAvailable;    
00060     bool theTkCandsAvailable;    
00061 
00062     TrackerSeedGenerator* theTkSeedGenerator;
00063     TrajectoryCleaner* theTrajectoryCleaner;
00064     
00065     std::string theTkBuilderName;
00066     edm::ESHandle<TrajectoryBuilder> theTkBuilder;
00067     
00068     edm::InputTag theSeedName;
00069     edm::Handle<L3MuonTrajectorySeedCollection> theSeedCollection;
00070     
00071     edm::InputTag theTkCollName;
00072     edm::Handle<TC> theTkTrajCollection;
00073     edm::Handle<TrackCandidateCollection> theTkTrackCandCollection;
00074     
00075 };
00076 #endif

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