00001 #ifndef SegmentsTrackAssociator_H 00002 #define SegmentsTrackAssociator_H 00003 00004 00016 #include "FWCore/Framework/interface/Frameworkfwd.h" 00017 #include "FWCore/Framework/interface/Event.h" 00018 #include "FWCore/Framework/interface/MakerMacros.h" 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00021 #include "FWCore/Utilities/interface/InputTag.h" 00022 00023 #include "TrackingTools/TransientTrack/interface/TransientTrack.h" 00024 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00025 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h" 00026 #include "TrackingTools/DetLayers/interface/DetLayer.h" 00027 #include "TrackingTools/PatternTools/interface/TrajMeasLessEstim.h" 00028 #include "RecoMuon/TrackingTools/interface/MuonPatternRecoDumper.h" 00029 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h" 00030 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00031 #include "DataFormats/TrackReco/interface/Track.h" 00032 00033 00034 namespace edm {class ParameterSet; class Event; class EventSetup;} 00035 00036 00037 class SegmentsTrackAssociator{ 00038 00039 public: 00040 00042 SegmentsTrackAssociator (const edm::ParameterSet& ); 00043 00045 virtual ~SegmentsTrackAssociator() {} 00046 00048 MuonTransientTrackingRecHit::MuonRecHitContainer associate(const edm::Event&, const edm::EventSetup&, const reco::Track& ); 00049 00050 00051 00052 private: 00053 00054 // the counters 00055 int numRecHit; 00056 int numRecHitDT; 00057 int numRecHitCSC; 00058 00059 // collection label 00060 edm::InputTag theDTSegmentLabel; 00061 edm::InputTag theCSCSegmentLabel; 00062 edm::InputTag theSegmentContainerName; 00063 00064 std::string metname; 00065 00066 00067 00068 }; 00069 00070 #endif