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)
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
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
double px() const final
x coordinate of momentum vector
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
void setP4(const LorentzVector &p4) final
set 4-momentum