9 produces<reco::PFMETCollection>();
19 if (!
pfMet.isValid()) {
20 edm::LogWarning(
"L1TPFMetNoMuProducer") <<
"invalid collection for pfMet" << std::endl;
23 if (!
muons.isValid()) {
24 edm::LogWarning(
"L1TPFMetNoMuProducer") <<
"invalid collection for muons" << std::endl;
29 double pfMetNoMuPx = thePFMetNoMu.
px();
30 double pfMetNoMuPy = thePFMetNoMu.
py();
32 double muPx(0.), muPy(0.);
35 if (
muon->isPFMuon()) {
45 thePFMetNoMu.
setP4(pfMetNoMuP4);
MPlex< T, D1, D2, N > hypot(const MPlex< T, D1, D2, N > &a, const MPlex< T, D1, D2, N > &b)
void produce(edm::Event &event, const edm::EventSetup &eventSetup) override
const Point & vertex() const override
vertex position (overwritten by PF...)
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
const LorentzVector & p4() const final
four-momentum Lorentz vector
std::vector< Muon > MuonCollection
collection of Muon objects
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
double px() const final
x coordinate of momentum vector
#define DEFINE_FWK_MODULE(type)
double py() const final
y coordinate of momentum vector
const edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
const edm::EDGetTokenT< reco::PFMETCollection > thePFMETCollection_
SpecificPFMETData getSpecific() const
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
Log< level::Warning, false > LogWarning
L1TPFMetNoMuProducer(const edm::ParameterSet &ps)
void setP4(const LorentzVector &p4) final
set 4-momentum