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;
121 Nmuons->Fill(muons->size());
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);
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.;
140 muonCombRelIso = (muIso03.
emEt + muIso03.
hadEt + muIso03.
hoEt + muIso03.
sumPt) / mu->pt();
142 muIso_TrackerBased03->Fill(muIso03.
sumPt / mu->pt());
143 muIso_CombRelIso03->Fill(muonCombRelIso);
153 reco::GsfElectronCollection::const_iterator elec;
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());
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++) {
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());
std::array< float, 7 > hcalRecHitSumEt
float sumPt
sum-pt of tracks
SMPDQM(const edm::ParameterSet &)
virtual void setCurrentFolder(std::string const &fullpath)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
const_iterator begin() const
Abs< T >::type abs(const T &t)
bool operator()(const TLorentzVector &a, const TLorentzVector &b) const
void analyze(const edm::Event &, const edm::EventSetup &) override
T getParameter(std::string const &) const
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())