CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoMuon/L2MuonSeedGenerator/src/L2MuonSeedGenerator.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_L2MuonSeedGenerator_L2MuonSeedGenerator_H
00002 #define RecoMuon_L2MuonSeedGenerator_L2MuonSeedGenerator_H
00003 
00004 //-------------------------------------------------
00005 //
00020 //
00021 //--------------------------------------------------
00022 
00023 #include "FWCore/Framework/interface/EDProducer.h"
00024 #include "FWCore/Utilities/interface/InputTag.h"
00025 
00026 class MuonServiceProxy;
00027 class MeasurementEstimator;
00028 class TrajectorySeed;
00029 class TrajectoryStateOnSurface;
00030 
00031 namespace edm {class ParameterSet; class Event; class EventSetup;}
00032 
00033 class L2MuonSeedGenerator : public edm::EDProducer {
00034  
00035  public:
00036   
00038   explicit L2MuonSeedGenerator(const edm::ParameterSet&);
00039 
00041   ~L2MuonSeedGenerator();
00042 
00043   virtual void produce(edm::Event&, const edm::EventSetup&);
00044   
00045  private:
00046 
00047   edm::InputTag theSource;
00048   edm::InputTag theL1GMTReadoutCollection;
00049   edm::InputTag theOfflineSeedLabel;
00050   std::string   thePropagatorName;
00051 
00052   const double theL1MinPt;
00053   const double theL1MaxEta;
00054   const unsigned theL1MinQuality;
00055   const bool useOfflineSeed;
00056 
00058   MuonServiceProxy *theService;  
00059 
00060   MeasurementEstimator *theEstimator;
00061 
00062   const TrajectorySeed* associateOfflineSeedToL1( edm::Handle<edm::View<TrajectorySeed> > &, 
00063                                                   std::vector<int> &, 
00064                                                   TrajectoryStateOnSurface &);
00065 
00066 };
00067 
00068 #endif