CMS 3D CMS Logo

FastL3MuonTrajectoryBuilder.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_Muons_FastL3MuonTrajectoryBuilder_H
00002 #define FastSimulation_Muons_FastL3MuonTrajectoryBuilder_H
00003 
00013 //for debug only 
00014 //#define FAMOS_DEBUG
00015 
00016 #include "RecoMuon/GlobalTrackingTools/interface/GlobalTrajectoryBuilderBase.h"
00017 #include "TrackingTools/PatternTools/interface/TrajectoryBuilder.h"
00018 
00019 #include "TrackingTools/DetLayers/interface/NavigationSchool.h"
00020 #ifdef FAMOS_DEBUG
00021 #include "DQMServices/Core/interface/DQMStore.h"
00022 #include "DQMServices/Core/interface/MonitorElement.h"
00023 #include "FWCore/ServiceRegistry/interface/Service.h"
00024 #endif
00025 
00026 namespace edm {
00027   class ParameterSet; 
00028   class Event; 
00029   class EventSetup;
00030 }
00031 
00032 namespace reco { 
00033   class Track;
00034 }
00035 
00036 class MuonServiceProxy;
00037 class Trajectory;
00038 class TrackerSeedGenerator;
00039 class TrajectoryCleaner;
00040 
00041 class FastL3MuonTrajectoryBuilder : public GlobalTrajectoryBuilderBase {
00042 
00043   public:
00044 
00046     FastL3MuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*);
00047           
00049     ~FastL3MuonTrajectoryBuilder();
00050 
00052     MuonTrajectoryBuilder::CandidateContainer trajectories(const TrackCand&);
00053 
00055     virtual void setEvent(const edm::Event&);
00056 
00058     void clear();
00059 
00060   private:
00061   
00063     std::vector<TrackCand> makeTkCandCollection(const TrackCand&);
00064 
00066     TC makeTrajsFromSeeds(const std::vector<TrajectorySeed>&) const;
00067 
00068   private:
00069   
00070     std::vector<TrackCand> regionalTkTracks;
00071     TrackCand dummyStaCand;
00072 
00073     bool theTkTrajsAvailableFlag;
00074     bool theFirstEvent;
00075     
00076     TrackerSeedGenerator* theTkSeedGenerator;
00077     TrajectoryCleaner* theTrajectoryCleaner;
00078 
00079     std::string theTkBuilderName;
00080     edm::ESHandle<TrajectoryBuilder> theTkBuilder;
00081 
00082     edm::InputTag theTrackerTrajectoryCollection;
00083     edm::InputTag theSimModule;
00084     const edm::Event* theEvent;
00085 
00086 #ifdef FAMOS_DEBUG
00087     DQMStore * dbe;
00088     MonitorElement* matchMuons;
00089     MonitorElement* refitMuons;
00090 #endif
00091 
00092 };
00093 #endif
00094 
00095 

Generated on Tue Jun 9 17:35:09 2009 for CMSSW by  doxygen 1.5.4