59 : minPt_(iConfig.getParameter<double>(
"minPt"))
60 , maxEta_(iConfig.getParameter<double>(
"maxEta"))
61 , isAlsoTkMu_(iConfig.getParameter<bool>(
"isAlsoTkMu"))
62 , maxNormChi2_(iConfig.getParameter<double>(
"maxNormChi2"))
63 , maxd0_(iConfig.getParameter<double>(
"maxd0"))
64 , minnHits_(iConfig.getParameter<int>(
"minnHits"))
65 , minnValidStaHits_(iConfig.getParameter<int>(
"minnValidStaHits"))
66 , useTrackAssociatorPositions_(iConfig.getParameter<bool>(
"useTrackAssociatorPositions"))
67 , useHO_(iConfig.getParameter<bool>(
"useHO"))
68 , towerEtThreshold_(iConfig.getParameter<double>(
"towerEtThreshold"))
69 , useRecHits_(iConfig.getParameter<bool>(
"useRecHits"))
79 produces<edm::ValueMap<reco::MuonMETCorrectionData> >(
"muCorrData");
94 double bfield = magneticField->inTesla(
GlobalPoint(0.,0.,0.)).z();
96 std::vector<reco::MuonMETCorrectionData> muCorrDataList;
107 muCorrDataList.push_back(muMETCorrData);
115 dataFiller.
insert(muons, muCorrDataList.begin(), muCorrDataList.end());
118 iEvent.
put(valueMapMuCorrData,
"muCorrData");
138 deltax, deltay, bfield);
146 return reco::MuonMETCorrectionData::Type::MuonCandidateValuesUsed;
148 return reco::MuonMETCorrectionData::Type::NotUsed;
159 if(globTk->chi2()/globTk->ndof() >
maxNormChi2_)
return false;
160 if(fabs(globTk->dxy(beamSpotPosition)) > fabs(
maxd0_))
return false;
161 if(siTk->numberOfValidHits() <
minnHits_)
return false;
162 if(globTk->hitPattern().numberOfValidMuonHits() <
minnValidStaHits_)
return false;
T getParameter(std::string const &) const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
virtual TrackRef innerTrack() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool isTrackerMuon() const
static FreeTrajectoryState getFreeTrajectoryState(const edm::EventSetup &, const reco::Track &)
get FreeTrajectoryState from different track representations
void useDefaultPropagator()
use the default propagator
void insert(const H &h, I begin, I end)
Global3DPoint GlobalPoint
void loadParameters(const edm::ParameterSet &, edm::ConsumesCollector &)
bool isGlobalMuon() const
TrackDetectorAssociator trackAssociator_
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
reco::MuonMETCorrectionData::Type decide_correction_type(const reco::Muon &muon, const math::XYZPoint &beamSpotPosition)
bool useTrackAssociatorPositions_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
TrackAssociatorParameters trackAssociatorParameters_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void determine_deltax_deltay(double &deltax, double &deltay, const reco::Muon &muon, double bfield, edm::Event &iEvent, const edm::EventSetup &iSetup)
virtual TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual void produce(edm::Event &, const edm::EventSetup &) override
XYZPointD XYZPoint
point in space with cartesian internal representation
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
MuonMETValueMapProducer(const edm::ParameterSet &)
bool should_type_MuonCandidateValuesUsed(const reco::Muon &muon, const math::XYZPoint &beamSpotPosition)
TrackDetMatchInfo associate(const edm::Event &, const edm::EventSetup &, const FreeTrajectoryState &, const AssociatorParameters &)
virtual float pt() const GCC11_FINAL
transverse momentum
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector