File indexing completed on 2025-01-09 23:33:54
0001 #ifndef RecoMuon_MuonSeedGenerator_MuonSeedPtExtractor_H
0002 #define RecoMuon_MuonSeedGenerator_MuonSeedPtExtractor_H
0003
0004
0005
0006
0007 #include "RecoMuon/MuonSeedGenerator/interface/MuonSeedVPtExtractor.h"
0008 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0009
0010 #include <map>
0011
0012 namespace edm {
0013 class ParameterSet;
0014 }
0015
0016 class MuonSeedPtExtractor {
0017 public:
0018
0019 MuonSeedPtExtractor(const edm::ParameterSet&);
0020
0021
0022 virtual ~MuonSeedPtExtractor();
0023
0024
0025
0026 virtual std::vector<double> pT_extract(MuonTransientTrackingRecHit::ConstMuonRecHitPointer firstHit,
0027 MuonTransientTrackingRecHit::ConstMuonRecHitPointer secondHit) const;
0028
0029 void setBeamSpot(const GlobalVector& gv) { theBeamSpot = gv; }
0030
0031 private:
0032 int stationCode(MuonTransientTrackingRecHit::ConstMuonRecHitPointer hit) const;
0033
0034 void init(const edm::ParameterSet& par);
0035 void fillParametersForCombo(const std::string& name, const edm::ParameterSet& pset);
0036 void fillScalesForCombo(const std::string& name, const edm::ParameterSet& pset);
0037
0038 std::vector<double> getPt(const std::vector<double>& vPara, double eta, double dPhi) const;
0039
0040 std::vector<double> getPt(const std::vector<double>& vPara,
0041 double eta,
0042 double dPhi,
0043 const std::string& combination,
0044 const DTChamberId& outerDetId) const;
0045
0046 typedef std::map<std::string, std::vector<double> > ParametersMap;
0047 typedef std::map<std::string, std::vector<double> > ScalesMap;
0048 ParametersMap theParametersForCombo;
0049 ScalesMap theScalesForCombo;
0050 GlobalVector theBeamSpot;
0051 bool scaleDT_;
0052 };
0053 #endif