CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef RecoMuon_MuonSeedGenerator_MuonSeedFinder_H
00002 #define RecoMuon_MuonSeedGenerator_MuonSeedFinder_H
00003 
00016 #include "RecoMuon/MuonSeedGenerator/src/MuonSeedVFinder.h"
00017 #include "RecoMuon/MuonSeedGenerator/src/MuonSeedPtExtractor.h"
00018 #include "RecoMuon/MuonSeedGenerator/src/MuonCSCSeedFromRecHits.h"
00019 #include "RecoMuon/MuonSeedGenerator/src/MuonDTSeedFromRecHits.h"
00020 #include "RecoMuon/MuonSeedGenerator/src/MuonOverlapSeedFromRecHits.h"
00021 
00022 #include <vector>
00023 
00024 class MuonSeedFinder: public MuonSeedVFinder
00025 {
00026 public:
00028   MuonSeedFinder(const edm::ParameterSet & pset);
00029 
00031   virtual ~MuonSeedFinder(){delete thePtExtractor;}
00032 
00033   // Operations
00034 
00035   virtual void setBField(const MagneticField * field);
00036 
00037   void seeds(const MuonTransientTrackingRecHit::MuonRecHitContainer & hits,
00038              std::vector<TrajectorySeed> & result);
00039 
00040 private:
00041   
00042   float computePt(MuonTransientTrackingRecHit::ConstMuonRecHitPointer muon, const MagneticField *field) const;
00043 
00044   void analyze() const;
00045   // put a parameterSet instead of
00046   // static SimpleConfigurable<float> theMinMomentum;
00047   float theMinMomentum;
00048   const MagneticField * theField;
00049 
00050   MuonDTSeedFromRecHits theBarrel;
00051   MuonOverlapSeedFromRecHits theOverlap;
00052   MuonCSCSeedFromRecHits theEndcap;
00053 
00054 };
00055 #endif