19 #include "TLorentzVector.h"
26 : electronTag_(ps.getUntrackedParameter<
edm::
InputTag>(
"electronInputTag",
edm::
InputTag(
"gedGsfElectrons"))),
44 std::vector<TLorentzVector> eleList;
46 for (
auto const& ele : *electronColl) {
47 if (!ele.ecalDriven())
50 double hOverE = ele.hadronicOverEm();
51 double sigmaee = ele.sigmaIetaIeta();
52 double deltaPhiIn = ele.deltaPhiSuperClusterTrackAtVtx();
53 double deltaEtaIn = ele.deltaEtaSuperClusterTrackAtVtx();
59 }
else if (ele.isEE()) {
67 double chi2 = trk->chi2();
68 double ndof = trk->ndof();
70 double trkd0 = trk->d0();
71 double trkdz = trk->dz();
73 trkd0 = -(trk->dxy(
beamSpot->position()));
74 trkdz = trk->dz(
beamSpot->position());
78 if (chbyndof >= 10 || std::fabs(trkd0) >= 0.02 || std::fabs(trkdz) >= 20)
83 if (nPixelHits < 1 || nStripHits < 8)
90 float eiso = absiso / ele.pt();
95 le.SetPtEtaPhiE(ele.pt(), ele.eta(), ele.phi(), ele.energy());
96 eleList.push_back(le);
106 std::vector<TLorentzVector> muList;
108 for (
auto const&
mu : *muonColl) {
109 if (!
mu.isGlobalMuon() || !
mu.isPFMuon() || std::fabs(
mu.eta()) > 2.1 ||
mu.pt() <= 5)
128 double trkd0 = tk->
d0();
129 double trkdz = tk->
dz();
135 int nChambers =
mu.numberOfChambers();
136 int nMatches =
mu.numberOfMatches();
137 int nMatchedStations =
mu.numberOfMatchedStations();
145 if (chbyndof < 10 && std::fabs(trkd0) < 0.02 && std::fabs(trkdz) < 20.0 && nPixelHits > 1 && nStripHits > 8 &&
146 nChambers > 2 && nMatches > 2 && nMatchedStations > 2 && absiso /
mu.pt() < 0.3) {
148 lm.SetPtEtaPhiE(
mu.pt(),
mu.eta(),
mu.phi(),
mu.energy());
149 muList.push_back(lm);
157 if (eleList.empty() && muList.empty())
161 if ((!eleList.empty() && eleList[0].Pt() > 20) && (!muList.empty() && muList[0].Pt() > 20))
166 if (!eleList.empty() && !muList.empty()) {
167 vlep = (eleList[0].Pt() > muList[0].Pt()) ? eleList[0] : muList[0];
168 }
else if (!eleList.empty()) {
180 double mt =
getMt(vlep, pfColl->front());
181 if (mt < 60 || mt > 80)
197 vmet.SetPxPyPzE(metx, mety, 0.0,
met);
200 TLorentzVector vw = vlep + vmet;