9 bool operator()(
const TLorentzVector&
a,
const TLorentzVector&
b)
const {
return a.Pt() >
b.Pt(); }
31 NPV = bei.
book1D(
"NPV",
"Number of primary vertices", 40, 0., 80.);
32 MET = bei.
book1D(
"MET",
"MET", 100, 0.0, 200);
33 METphi = bei.
book1D(
"METphi",
"#phi(MET)", 50, -3.14, 3.14);
35 pt_muons = bei.
book1D(
"pt_muons",
"p_{T}(muons)", 40, 0., 200.);
36 eta_muons = bei.
book1D(
"eta_muons",
"#eta(muons)", 50, -5., 5.);
37 phi_muons = bei.
book1D(
"phi_muons",
"#phi(muons)", 32, -3.2, 3.2);
38 muIso_CombRelIso03 = bei.
book1D(
"muIso_CombRelIso03",
"Iso_{rel}^{#mu}", 20, 0., 1.);
39 Nmuons = bei.
book1D(
"Nmuons",
"Number of muons", 20, 0., 10.);
40 isGlobalmuon = bei.
book1D(
"isGlobalmuon",
"isGlobalmuon", 2, 0, 1);
41 isTrackermuon = bei.
book1D(
"isTrackermuon",
"isTrackermuon", 2, 0, 1);
42 isStandalonemuon = bei.
book1D(
"isStandalonemuon",
"isStandalonemuon", 2, 0, 1);
43 isPFmuon = bei.
book1D(
"isPFmuon",
"isPFmuon", 2, 0, 1);
44 muIso_TrackerBased03 = bei.
book1D(
"muIso_TrackerBased03",
"Iso_{trk03}^{#mu}", 20, 0, 10);
46 Nelecs = bei.
book1D(
"Nelecs",
"Number of electrons", 20, 0., 10.);
47 HoverE_elecs = bei.
book1D(
"HoverE_elecs",
"HoverE", 50, 0., 1.);
48 pt_elecs = bei.
book1D(
"pt_elecs",
"p_{T}(elecs)", 40, 0., 200.);
49 eta_elecs = bei.
book1D(
"eta_elecs",
"#eta(elecs)", 50, -5., 5.);
50 phi_elecs = bei.
book1D(
"phi_elecs",
"#phielecs)", 32, -3.2, 3.2);
51 elIso_cal = bei.
book1D(
"elIso_cal",
"Iso_{cal}^{el}", 21, -1., 20.);
52 elIso_trk = bei.
book1D(
"elIso_trk",
"Iso_{trk}^{el}", 21, -2., 40.);
53 elIso_CombRelIso = bei.
book1D(
"elIso_CombRelIso",
"Iso_{rel}^{el}", 20, 0., 1.);
55 PFJetpt = bei.
book1D(
"PFJetpt",
"p_{T}(jets)", 100, 0.0, 100);
56 PFJeteta = bei.
book1D(
"PFJeteta",
"#eta(jets)", 50, -2.5, 2.5);
57 PFJetphi = bei.
book1D(
"PFJetphi",
"#phi(jets)", 50, -3.14, 3.14);
58 PFJetMulti = bei.
book1D(
"PFJetMulti",
"jet multiplicity", 5, -0.5, 4.5);
59 PFJetRapidity = bei.
book1D(
"PFJetRapidity",
"y(jets)", 50, -6.0, 6.0);
60 mjj = bei.
book1D(
"mjj",
"m_{jj}", 100, 0, 1000);
61 detajj = bei.
book1D(
"detajj",
"#Delta#etajj", 20, 0, 5);
63 dphi_lepMET = bei.
book1D(
"dphi_lepMET",
"#Delta#phi(lep,MET)", 60, -3.2, 3.2);
64 mass_lepMET = bei.
book1D(
"mass_lepMET",
"m(lep,MET)", 200, 0, 200);
65 pt_lepMET = bei.
book1D(
"pt_lepMET",
"p_{T}(lep,MET)", 200, 0, 200);
66 detall = bei.
book1D(
"detall",
"#Delta#etall", 20, -5, 5);
67 dphill = bei.
book1D(
"dphill",
"#Delta#phill", 20, -6.4, 6.4);
68 mll = bei.
book1D(
"mll",
"mll", 200, 0, 200);
69 etall = bei.
book1D(
"etall",
"#Delta#etall", 60, -6, 6);
70 ptll = bei.
book1D(
"ptll",
"p_{T}ll", 200, 0, 200);
71 mjj = bei.
book1D(
"mjj",
"mjj", 100, 0, 1000);
72 detajj = bei.
book1D(
"detajj",
"#Delta#etajj", 20, 0, 5);
74 dphi_lepjet1 = bei.
book1D(
"dphi_lepjet1",
"#Delta#phi(lep,jet1)", 60, -3.2, 3.2);
76 dphi_lep1jet1 = bei.
book1D(
"dphi_lep1jet1",
"#Delta#phi(lep1,jet1)", 60, -3.2, 3.2);
77 dphi_lep2jet1 = bei.
book1D(
"dphi_lep2jet1",
"#Delta#phi(lep2,jet1)", 60, -3.2, 3.2);
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());
96 METphi->Fill(
met->begin()->phi());
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;
120 if (!
muons.failedToGet()) {
121 Nmuons->Fill(
muons->size());
127 Mu.SetPtEtaPhiM(
mu->pt(),
mu->eta(),
mu->phi(), 0.0);
128 selected_lep.push_back(
Mu);
129 pt_muons->Fill(
mu->pt());
130 eta_muons->Fill(
mu->eta());
131 phi_muons->Fill(
mu->phi());
132 isGlobalmuon->Fill(
mu->isGlobalMuon());
133 isTrackermuon->Fill(
mu->isTrackerMuon());
134 isStandalonemuon->Fill(
mu->isStandAloneMuon());
135 isPFmuon->Fill(
mu->isPFMuon());
138 double muonCombRelIso = 1.;
142 muIso_TrackerBased03->Fill(muIso03.
sumPt /
mu->pt());
143 muIso_CombRelIso03->Fill(muonCombRelIso);
153 reco::GsfElectronCollection::const_iterator elec;
155 if (!
elecs.failedToGet()) {
156 Nelecs->Fill(
elecs->size());
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);
165 HoverE_elecs->Fill(elec->hcalOverEcal());
166 pt_elecs->Fill(elec->pt());
167 eta_elecs->Fill(elec->eta());
168 phi_elecs->Fill(elec->phi());
173 double elecCombRelIso = 1.;
176 elIso_CombRelIso->Fill(elecCombRelIso);
178 elIso_trk->Fill(elecIso.
tkSumPt);
190 if (
jet->pt() < 15.0)
193 ijet.SetPtEtaPhiM(
jet->pt(),
jet->eta(),
jet->phi(),
jet->mass());
201 bool goodjet =
false;
202 for (
unsigned int j = 0;
j < selected_lep.size();
j++) {
215 selected_recoPFJets.push_back(
temp);
221 for (
unsigned int k = 0;
k < selected_recoPFJets.size();
k++) {
226 PFJetpt->Fill(selected_recoPFJets.at(
k).Pt());
227 PFJeteta->Fill(selected_recoPFJets.at(
k).Eta());
228 PFJetphi->Fill(selected_recoPFJets.at(
k).Phi());
229 PFJetRapidity->Fill(selected_recoPFJets.at(
k).Rapidity());
232 PFJetMulti->Fill(
njet);
236 if (selected_lep.size() > 1) {
237 detall->Fill(selected_lep[0].Eta() - selected_lep[1].Eta());
238 dphill->Fill(selected_lep[0].
DeltaPhi(selected_lep[1]));
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()) {
243 dphi_lep1jet1->Fill(selected_recoPFJets[0].
DeltaPhi(selected_lep[0]));
244 dphi_lep2jet1->Fill(selected_recoPFJets[0].
DeltaPhi(selected_lep[1]));
248 else if (selected_lep.size() == 1) {
249 dphi_lepMET->Fill(selected_lep[0].
DeltaPhi(imet));
250 mass_lepMET->Fill((selected_lep[0] + imet).M());
251 pt_lepMET->Fill((selected_lep[0] + imet).Pt());
252 if (!selected_recoPFJets.empty()) {
253 dphi_lepjet1->Fill(selected_recoPFJets[0].
DeltaPhi(selected_lep[0]));
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());