00001 #ifndef RecoMuon_MuonSeedGenerator_SETMuonSeedProducer_H 00002 #define RecoMuon_MuonSeedGenerator_SETMuonSeedProducer_H 00003 00007 //---- Despite its name SET is not a Seed producer in a sense that it is supposed to 00008 //---- give the final answer about the STA muon (no pattern recognition needed 00009 //---- hereafter). For exact parameters (including chi2 estimation) the measurements 00010 //---- provided need to be fitted properly (starting from the initial estimates also provided). 00011 //---- Technically all this information is stored as a TrajectorySeed. SS 00012 00013 #include "FWCore/Framework/interface/EDProducer.h" 00014 #include "FWCore/Utilities/interface/InputTag.h" 00015 #include "RecoMuon/TrackingTools/interface/RecoMuonEnumerators.h" 00016 00017 #include <RecoMuon/TrackingTools/interface/MuonServiceProxy.h> 00018 00019 #include "RecoMuon/MuonSeedGenerator/src/SETFilter.h" 00020 #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h" 00021 #include "RecoMuon/MuonSeedGenerator/src/SETPatternRecognition.h" 00022 #include "RecoMuon/MuonSeedGenerator/src/SETSeedFinder.h" 00023 00024 class TrajectorySeed; 00025 class STAFilter; 00026 00027 #include "FWCore/Framework/interface/Frameworkfwd.h" 00028 00029 class SETMuonSeedProducer : public edm::EDProducer { 00030 00031 public: 00032 typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer; 00033 typedef std::vector<Trajectory*> TrajectoryContainer; 00034 00036 SETMuonSeedProducer (const edm::ParameterSet&); 00037 00039 virtual ~SETMuonSeedProducer(); 00040 00041 // Operations 00042 virtual void produce(edm::Event&, const edm::EventSetup&); 00043 00044 protected: 00045 00046 private: 00047 00048 // Returns a vector of measurements sets (for later trajectory seed building) 00050 SETFilter* filter() const {return theFilter;} 00051 00052 //---- 00053 00054 //private: 00055 00056 SETFilter* theFilter; 00057 void setEvent(const edm::Event&); 00058 00059 //---- SET 00060 bool apply_prePruning; 00061 bool useSegmentsInTrajectory; 00062 MuonServiceProxy *theService; 00063 00064 SETPatternRecognition thePatternRecognition; 00065 SETSeedFinder theSeedFinder; 00066 00067 edm::InputTag theBeamSpotTag; 00068 }; 00069 #endif