84 std::vector<TLorentzVector> selected_recoPFJets;
85 selected_recoPFJets.clear();
86 std::vector<TLorentzVector> selected_lep;
94 if (met->begin() != met->end()) {
95 MET->Fill(met->begin()->et());
97 imet.SetPtEtaPhiM(met->begin()->et(), 0., met->begin()->phi(), 0.0);
108 unsigned int pvMult = 0;
111 if (
pv->position().Rho() < 2 &&
abs(
pv->position().z()) <= 24. &&
pv->ndof() > 4 && !
pv->isFake()) {
119 reco::MuonCollection::const_iterator
mu;
123 for (mu = muons->begin(); mu != muons->end(); ++
mu) {
127 Mu.SetPtEtaPhiM(mu->pt(), mu->eta(), mu->phi(), 0.0);
128 selected_lep.push_back(Mu);
138 double muonCombRelIso = 1.;
140 muonCombRelIso = (muIso03.
emEt + muIso03.
hadEt + muIso03.
hoEt + muIso03.
sumPt) / mu->pt();
153 reco::GsfElectronCollection::const_iterator elec;
158 for (elec = elecs->begin(); elec != elecs->end(); ++elec) {
159 if (elec->pt() < 5.0)
162 El.SetPtEtaPhiM(elec->pt(), elec->eta(), elec->phi(), 0.0);
163 selected_lep.push_back(El);
173 double elecCombRelIso = 1.;
190 if (
jet->pt() < 15.0)
193 ijet.SetPtEtaPhiM(
jet->pt(),
jet->eta(),
jet->phi(),
jet->mass());
194 recoPFJets.push_back(ijet);
197 std::sort(recoPFJets.begin(), recoPFJets.end(),
SortByPt());
198 std::sort(selected_lep.begin(), selected_lep.end(),
SortByPt());
200 for (
unsigned int i = 0;
i < recoPFJets.size();
i++) {
201 bool goodjet =
false;
202 for (
unsigned int j = 0;
j < selected_lep.size();
j++) {
203 if (recoPFJets[
i].
DeltaR(selected_lep[
j]) > 0.4) {
214 temp.SetPtEtaPhiM(recoPFJets[
i].Pt(), recoPFJets[
i].Eta(), recoPFJets[
i].
Phi(), recoPFJets[
i].M());
215 selected_recoPFJets.push_back(temp);
219 std::sort(selected_recoPFJets.begin(), selected_recoPFJets.end(),
SortByPt());
221 for (
unsigned int k = 0;
k < selected_recoPFJets.size();
k++) {
236 if (selected_lep.size() > 1) {
237 detall->
Fill(selected_lep[0].Eta() - selected_lep[1].Eta());
239 mll->
Fill((selected_lep[0] + selected_lep[1]).M());
240 ptll->
Fill((selected_lep[0] + selected_lep[1]).Pt());
241 etall->
Fill((selected_lep[0] + selected_lep[1]).Eta());
242 if (!selected_recoPFJets.empty()) {
248 else if (selected_lep.size() == 1) {
252 if (!selected_recoPFJets.empty()) {
260 if (selected_recoPFJets.size() > 1) {
261 detajj->
Fill(
abs(selected_recoPFJets[0].Eta() - selected_recoPFJets[1].Eta()));
262 mjj->
Fill((selected_recoPFJets[0] + selected_recoPFJets[1]).M());
MonitorElement * phi_elecs
std::array< float, 7 > hcalRecHitSumEt
edm::EDGetTokenT< edm::View< reco::Vertex > > pvs_
float sumPt
sum-pt of tracks
MonitorElement * isPFmuon
MonitorElement * phi_muons
std::vector< edm::EDGetTokenT< edm::View< reco::MET > > > mets_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * pt_elecs
MonitorElement * HoverE_elecs
MonitorElement * isStandalonemuon
MonitorElement * PFJetRapidity
MonitorElement * dphi_lepjet1
MonitorElement * eta_muons
MonitorElement * dphi_lep2jet1
MonitorElement * PFJeteta
MonitorElement * eta_elecs
MonitorElement * muIso_CombRelIso03
edm::EDGetTokenT< reco::GsfElectronCollection > elecs_
MonitorElement * elIso_trk
MonitorElement * pt_lepMET
Abs< T >::type abs(const T &t)
MonitorElement * elIso_cal
MonitorElement * pt_muons
MonitorElement * elIso_CombRelIso
MonitorElement * isGlobalmuon
MonitorElement * PFJetphi
MonitorElement * dphi_lep1jet1
MonitorElement * mass_lepMET
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
MonitorElement * PFJetMulti
edm::EDGetTokenT< edm::View< reco::PFJet > > jets_
MonitorElement * dphi_lepMET
MonitorElement * isTrackermuon
MonitorElement * muIso_TrackerBased03
edm::EDGetTokenT< reco::MuonCollection > muons_