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
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