CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoMuon/MuonSeedGenerator/plugins/SETMuonSeedProducer.h

Go to the documentation of this file.
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