62 theMuonLabel_(iConfig.getParameter<edm::
InputTag>(
"MuonLabel")),
65 patMuons_(iConfig.getParameter<bool>(
"PatMuons")),
68 produces<pat::MuonCollection>();
70 produces<reco::MuonCollection>();
78 std::unique_ptr<T> pOut(
new T);
81 for (
typename T::const_iterator
muon = allMuons->begin();
muon != allMuons->end(); ++
muon) {
83 double pt = (*corrector_)(*muon);
85 double eta = muon->eta();
86 double phi = muon->phi();
91 pOut->push_back(*newMuon);
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const edm::EDGetTokenT< reco::MuonCollection > theRecoMuonToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::unique_ptr< T > applyCorrection(const edm::Handle< T > &allMuons)
#define DEFINE_FWK_MODULE(type)
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< Muon > MuonCollection
collection of Muon objects
~MuScleFitMuonProducer() override
Container::value_type value_type
edm::ESHandle< MuScleFitDBobject > dbObject_
const edm::EDGetTokenT< pat::MuonCollection > thePatMuonToken_
const edm::InputTag theMuonLabel_
unsigned long long dbObjectCacheId_
T const * product() const
std::shared_ptr< MomentumScaleCorrector > corrector_
const edm::ESGetToken< MuScleFitDBobject, MuScleFitDBobjectRcd > muToken_
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
MuScleFitMuonProducer(const edm::ParameterSet &)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const