5 #include <TLorentzVector.h> 25 double METx,
double METy,
31 for(reco::MuonCollection::const_iterator it=muons->begin();
51 bool flagTight =
false;
56 double iso = (it->pfIsolationR04().sumChargedHadronPt +
max(0.,
57 it->pfIsolationR04().sumNeutralHadronEt +
58 it->pfIsolationR04().sumPhotonEt -
59 0.5*it->pfIsolationR04().sumPUPt)) / it->pt();
62 double MET_local = TMath::Sqrt (METx*METx + METy*METy);
66 METP4.SetPxPyPzE(METx, METy, 0, MET_local);
69 Muon.SetPtEtaPhiE(it->pt(),it->eta(),it->phi(),it->energy());
71 double scalSum = MET_local + Muon.Pt();
72 TLorentzVector vecSum (Muon);
74 double vecSumPt = vecSum.Pt();
76 recoMuon_.
mt.push_back(TMath::Sqrt (scalSum*scalSum - vecSumPt*vecSumPt));
TrajectoryStateOnSurface extrapolate(const reco::Track &tk) const
Extrapolate reco::Track to the muon station 2, return an invalid TSOS if it fails.
Geom::Phi< T > phi() const
def setup(process, global_tag, zero_tesla=False)
GlobalPoint globalPosition() const
bool isLooseMuonCustom(const reco::Muon &recoMu)
bool isTightMuonCustom(const reco::Muon &recoMu, const reco::Vertex recoVtx)
bool isMediumMuonCustom(const reco::Muon &recoMu)
L1AnalysisRecoMuon2(const edm::ParameterSet &pset)
PropagateToMuon muPropagator2nd_
void init(const edm::EventSetup &iSetup)
Call this method at the beginning of each run, to initialize geometry, magnetic field and propagators...
L1AnalysisRecoMuon2DataFormat recoMuon_
void init(const edm::EventSetup &eventSetup)
void SetMuon(const edm::Event &event, const edm::EventSetup &setup, const edm::Handle< reco::MuonCollection > muons, const edm::Handle< reco::VertexCollection > vertices, double METx, double METy, unsigned maxMuon)
PropagateToMuon muPropagator1st_