CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/RecoMuon/MuonSeedGenerator/src/MuonSeedPtExtractor.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_MuonSeedGenerator_MuonSeedPtExtractor_H
00002 #define RecoMuon_MuonSeedGenerator_MuonSeedPtExtractor_H
00003 
00007 #include "RecoMuon/MuonSeedGenerator/src/MuonSeedVPtExtractor.h" 
00008 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00009 
00010 #include <map>
00011 
00012 
00013 namespace edm {class ParameterSet;}
00014 
00015 class MuonSeedPtExtractor {
00016 
00017  public:
00019   MuonSeedPtExtractor(const edm::ParameterSet&);
00020 
00022   virtual ~MuonSeedPtExtractor();
00023 
00026   virtual std::vector<double> pT_extract(MuonTransientTrackingRecHit::ConstMuonRecHitPointer firstHit,
00027                                  MuonTransientTrackingRecHit::ConstMuonRecHitPointer secondHit) const;
00028 
00029 
00030   void setBeamSpot(const GlobalVector & gv) {theBeamSpot = gv;}
00031 
00032  private:
00033   int stationCode(MuonTransientTrackingRecHit::ConstMuonRecHitPointer hit) const;
00034   // because compiler duplicaes constructors
00035   void init(const edm::ParameterSet& par);
00036   void fillParametersForCombo(const std::string & name, const edm::ParameterSet&pset);
00037   void fillScalesForCombo(const std::string & name, const edm::ParameterSet&pset);
00038 
00039   std::vector<double> getPt(const std::vector<double> & vPara, double eta, double dPhi ) const;
00040  
00041   std::vector<double> getPt(const std::vector<double> & vPara, double eta, double dPhi, const std::string & combination, const DTChamberId & outerDetId ) const;
00042 
00043 
00044 
00045   typedef std::map<std::string, std::vector<double> > ParametersMap;
00046   typedef std::map<std::string, std::vector<double> > ScalesMap;
00047   ParametersMap theParametersForCombo;
00048   ScalesMap theScalesForCombo;
00049   GlobalVector theBeamSpot;
00050   bool scaleDT_;
00051 
00052 };
00053 #endif