15 edm::LogInfo(
"ExoticaDQM") <<
" Starting ExoticaDQM " <<
"\n" ;
17 typedef std::vector<edm::InputTag> vtag;
21 TriggerToken_ = consumes<TriggerResults>(
23 HltPaths_ = ps.
getParameter<vector<string> >(
"HltPaths");
25 VertexToken_ = consumes<reco::VertexCollection>(
28 ElectronToken_ = consumes<reco::GsfElectronCollection>(
31 MuonToken_ = consumes<reco::MuonCollection>(
34 PhotonToken_ = consumes<reco::PhotonCollection>(
37 PFJetToken_ = consumes<reco::PFJetCollection>(
40 DiJetPFJetCollection_ = ps.
getParameter<std::vector<edm::InputTag> >(
"DiJetPFJetCollection");
41 for (std::vector<edm::InputTag>::const_iterator jetlabel = DiJetPFJetCollection_.begin(), jetlabelEnd = DiJetPFJetCollection_.end(); jetlabel != jetlabelEnd; ++jetlabel) {
42 DiJetPFJetToken_.push_back(consumes<reco::PFJetCollection>(*jetlabel));
45 PFMETToken_ = consumes<reco::PFMETCollection>(
48 ecalBarrelRecHitToken_ = consumes<EBRecHitCollection>(
51 ecalEndcapRecHitToken_ = consumes<EERecHitCollection>(
54 TrackToken_ = consumes<reco::TrackCollection>(
57 MuonDispToken_ = consumes<reco::TrackCollection>(
60 MuonDispSAToken_ = consumes<reco::TrackCollection>(
63 GenParticleToken_ = consumes<reco::GenParticleCollection>(
66 JetCorrectorToken_ = consumes<reco::JetCorrector>(
74 dijet_PFJet1_pt_cut_ = ps.
getParameter<
double>(
"dijet_PFJet1_pt_cut");
75 dijet_PFJet2_pt_cut_ = ps.
getParameter<
double>(
"dijet_PFJet2_pt_cut");
77 dimuon_Muon1_pt_cut_ = ps.
getParameter<
double>(
"dimuon_Muon1_pt_cut");
78 dimuon_Muon2_pt_cut_ = ps.
getParameter<
double>(
"dimuon_Muon2_pt_cut");
80 dielectron_Electron1_pt_cut_ = ps.
getParameter<
double>(
"dielectron_Electron2_pt_cut");
81 dielectron_Electron2_pt_cut_ = ps.
getParameter<
double>(
"dielectron_Electron2_pt_cut");
83 diphoton_Photon1_pt_cut_ = ps.
getParameter<
double>(
"diphoton_Photon2_pt_cut");
84 diphoton_Photon2_pt_cut_ = ps.
getParameter<
double>(
"diphoton_Photon2_pt_cut");
86 monojet_PFJet_pt_cut_ = ps.
getParameter<
double>(
"monojet_PFJet_pt_cut");
87 monojet_PFJet_met_cut_ = ps.
getParameter<
double>(
"monojet_PFJet_met_cut");
89 monomuon_Muon_pt_cut_ = ps.
getParameter<
double>(
"monomuon_Muon_pt_cut");
90 monomuon_Muon_met_cut_ = ps.
getParameter<
double>(
"monomuon_Muon_met_cut");
92 monoelectron_Electron_pt_cut_ = ps.
getParameter<
double>(
"monoelectron_Electron_pt_cut");
93 monoelectron_Electron_met_cut_ = ps.
getParameter<
double>(
"monoelectron_Electron_met_cut");
95 monophoton_Photon_pt_cut_ = ps.
getParameter<
double>(
"monophoton_Photon_pt_cut");
96 monophoton_Photon_met_cut_ = ps.
getParameter<
double>(
"monophoton_Photon_met_cut");
98 dispFermion_eta_cut_ = ps.
getParameter<
double>(
"dispFermion_eta_cut");
99 dispFermion_pt_cut_ = ps.
getParameter<
double>(
"dispFermion_pt_cut");
106 edm::LogInfo(
"ExoticaDQM") <<
" Deleting ExoticaDQM " <<
"\n" ;
117 for (
unsigned int icoll = 0;
icoll < DiJetPFJetCollection_.size(); ++
icoll) {
118 std::stringstream ss;
119 ss <<
"Physics/Exotica/Dijets/" << DiJetPFJetCollection_[
icoll].label();
122 dijet_PFJet_pt.push_back(bei.
book1D(
"dijet_PFJet_pt",
"Pt of PFJet (GeV)", 50, 30.0 , 5000));
123 dijet_PFJet_eta.push_back(bei.
book1D(
"dijet_PFJet_eta",
"#eta (PFJet)", 50, -2.5, 2.5));
124 dijet_PFJet_phi.push_back(bei.
book1D(
"dijet_PFJet_phi",
"#phi (PFJet)", 50, -3.14,3.14));
125 dijet_PFJet_rapidity.push_back(bei.
book1D(
"dijet_PFJet_rapidity",
"Rapidity (PFJet)", 50, -6.0,6.0));
126 dijet_PFJet_mass.push_back(bei.
book1D(
"dijet_PFJet_mass",
"Mass (PFJets)", 50, 0., 500.));
127 dijet_deltaPhiPFJet1PFJet2.push_back(bei.
book1D(
"dijet_deltaPhiPFJet1PFJet2",
"#Delta#phi(Leading PFJet, Sub PFJet)", 40, 0., 3.15));
128 dijet_deltaEtaPFJet1PFJet2.push_back(bei.
book1D(
"dijet_deltaEtaPFJet1PFJet2",
"#Delta#eta(Leading PFJet, Sub PFJet)", 40, -5., 5.));
129 dijet_deltaRPFJet1PFJet2.push_back(bei.
book1D(
"dijet_deltaRPFJet1PFJet2",
"#DeltaR(Leading PFJet, Sub PFJet)", 50, 0., 6.));
130 dijet_invMassPFJet1PFJet2.push_back(bei.
book1D(
"dijet_invMassPFJet1PFJet2",
"Leading PFJet, SubLeading PFJet Invariant mass (GeV)", 50, 0. , 8000.));
131 dijet_PFchef.push_back(bei.
book1D(
"dijet_PFchef",
"Leading PFJet CHEF", 50, 0.0 , 1.0));
132 dijet_PFnhef.push_back(bei.
book1D(
"dijet_PFnhef",
"Leading PFJet NHEF", 50, 0.0 , 1.0));
133 dijet_PFcemf.push_back(bei.
book1D(
"dijet_PFcemf",
"Leading PFJet CEMF", 50, 0.0 , 1.0));
134 dijet_PFnemf.push_back(bei.
book1D(
"dijet_PFnemf",
"Leading PFJEt NEMF", 50, 0.0 , 1.0));
135 dijet_PFJetMulti.push_back(bei.
book1D(
"dijet_PFJetMulti",
"No. of PFJets", 10, 0., 10.));
139 dimuon_Muon_pt = bei.
book1D(
"dimuon_Muon_pt",
"Pt of Muon (GeV)", 50, 30.0 , 2000);
140 dimuon_Muon_eta = bei.
book1D(
"dimuon_Muon_eta",
"#eta (Muon)", 50, -2.5, 2.5);
141 dimuon_Muon_phi = bei.
book1D(
"dimuon_Muon_phi",
"#phi (Muon)", 50, -3.14,3.14);
142 dimuon_Charge = bei.
book1D(
"dimuon_Charge",
"Charge of the Muon", 10, -5., 5.);
143 dimuon_deltaEtaMuon1Muon2 = bei.
book1D(
"dimuon_deltaEtaMuon1Muon2",
"#Delta#eta(Leading Muon, Sub Muon)", 40, -5., 5.);
144 dimuon_deltaPhiMuon1Muon2 = bei.
book1D(
"dimuon_deltaPhiMuon1Muon2",
"#Delta#phi(Leading Muon, Sub Muon)", 40, 0., 3.15);
145 dimuon_deltaRMuon1Muon2 = bei.
book1D(
"dimuon_deltaRMuon1Muon2",
"#DeltaR(Leading Muon, Sub Muon)", 50, 0., 6.);
146 dimuon_invMassMuon1Muon2 = bei.
book1D(
"dimuon_invMassMuon1Muon2",
"Leading Muon, SubLeading Muon Low Invariant mass (GeV)", 50, 500. , 4500.);
147 dimuon_MuonMulti = bei.
book1D(
"dimuon_MuonMulti",
"No. of Muons", 10, 0., 10.);
150 dielectron_Electron_pt = bei.
book1D(
"dielectron_Electron_pt",
"Pt of Electron (GeV)", 50, 30.0 , 2000);
151 dielectron_Electron_eta = bei.
book1D(
"dielectron_Electron_eta",
"#eta (Electron)", 50, -2.5, 2.5);
152 dielectron_Electron_phi = bei.
book1D(
"dielectron_Electron_phi",
"#phi (Electron)", 50, -3.14,3.14);
153 dielectron_Charge = bei.
book1D(
"dielectron_Charge",
"Charge of the Electron", 10, -5., 5.);
154 dielectron_deltaEtaElectron1Electron2 = bei.
book1D(
"dielectron_deltaEtaElectron1Electron2",
"#Delta#eta(Leading Electron, Sub Electron)", 40, -5., 5.);
155 dielectron_deltaPhiElectron1Electron2 = bei.
book1D(
"dielectron_deltaPhiElectron1Electron2",
"#Delta#phi(Leading Electron, Sub Electron)", 40, 0., 3.15);
156 dielectron_deltaRElectron1Electron2 = bei.
book1D(
"dielectron_deltaRElectron1Electron2",
"#DeltaR(Leading Electron, Sub Electron)", 50, 0., 6.);
157 dielectron_invMassElectron1Electron2 = bei.
book1D(
"dielectron_invMassElectron1Electron2",
"Leading Electron, SubLeading Electron Invariant mass (GeV)", 50, 500. , 4500.);
158 dielectron_ElectronMulti = bei.
book1D(
"dielectron_ElectronMulti",
"No. of Electrons", 10, 0., 10.);
161 diphoton_Photon_energy = bei.
book1D(
"diphoton_Photon_energy",
"Energy of Photon (GeV)", 50, 30.0 , 300);
162 diphoton_Photon_et = bei.
book1D(
"diphoton_Photon_et",
"Et of Photon (GeV)", 50, 30.0 , 300);
163 diphoton_Photon_pt = bei.
book1D(
"diphoton_Photon_pt",
"Pt of Photon (GeV)", 50, 30.0 , 300);
164 diphoton_Photon_eta = bei.
book1D(
"diphoton_Photon_eta",
"#eta (Photon)", 50, -2.5, 2.5);
165 diphoton_Photon_etasc = bei.
book1D(
"diphoton_Photon_etasc",
"#eta sc(Photon)", 50, -2.5, 2.5);
166 diphoton_Photon_phi = bei.
book1D(
"diphoton_Photon_phi",
"#phi (Photon)", 50, -3.14,3.14);
167 diphoton_Photon_hovere_eb = bei.
book1D(
"diphoton_Photon_hovere_eb",
"H/E (Photon) EB", 50, 0., 0.50);
168 diphoton_Photon_hovere_ee = bei.
book1D(
"diphoton_Photon_hovere_ee",
"H/E (Photon) EE", 50, 0., 0.50);
169 diphoton_Photon_sigmaietaieta_eb = bei.
book1D(
"diphoton_Photon_sigmaietaieta_eb",
"#sigma_{i #eta i #eta} (Photon) EB", 50, 0., 0.03);
170 diphoton_Photon_sigmaietaieta_ee = bei.
book1D(
"diphoton_Photon_sigmaietaieta_ee",
"#sigma_{i #eta i #eta} (Photon) EE", 50, 0., 0.03);
171 diphoton_Photon_trksumptsolidconedr03_eb = bei.
book1D(
"diphoton_Photon_trksumptsolidconedr03_eb",
"TrkSumPtDr03 (Photon) EB", 50, 0., 15.);
172 diphoton_Photon_trksumptsolidconedr03_ee = bei.
book1D(
"diphoton_Photon_trksumptsolidconedr03_ee",
"TrkSumPtDr03 (Photon) EE", 50, 0., 15.);
173 diphoton_Photon_e1x5e5x5_eb = bei.
book1D(
"diphoton_Photon_e1x5e5x5_eb",
"E_{1x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
174 diphoton_Photon_e1x5e5x5_ee = bei.
book1D(
"diphoton_Photon_e1x5e5x5_ee",
"E_{1x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
175 diphoton_Photon_e2x5e5x5_eb = bei.
book1D(
"diphoton_Photon_e2x5e5x5_eb",
"E_{2x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
176 diphoton_Photon_e2x5e5x5_ee = bei.
book1D(
"diphoton_Photon_e2x5e5x5_ee",
"E_{2x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
177 diphoton_deltaEtaPhoton1Photon2 = bei.
book1D(
"diphoton_deltaEtaPhoton1Photon2",
"#Delta#eta(SubLeading Photon, Sub Photon)", 40, -5., 5.);
178 diphoton_deltaPhiPhoton1Photon2 = bei.
book1D(
"diphoton_deltaPhiPhoton1Photon2",
"#Delta#phi(SubLeading Photon, Sub Photon)", 40, 0., 3.15);
179 diphoton_deltaRPhoton1Photon2 = bei.
book1D(
"diphoton_deltaRPhoton1Photon2",
"#DeltaR(SubLeading Photon, Sub Photon)", 50, 0., 6.);
180 diphoton_invMassPhoton1Photon2 = bei.
book1D(
"diphoton_invMassPhoton1Photon2",
"SubLeading Photon, SubSubLeading Photon Invariant mass (GeV)", 50, 500. , 4500.);
181 diphoton_PhotonMulti = bei.
book1D(
"diphoton_PhotonMulti",
"No. of Photons", 10, 0., 10.);
184 monojet_PFJet_pt = bei.
book1D(
"monojet_PFJet_pt",
"Pt of MonoJet (GeV)", 50, 30.0 , 1000);
185 monojet_PFJet_eta = bei.
book1D(
"monojet_PFJet_eta",
"#eta(MonoJet)", 50, -2.5, 2.5);
186 monojet_PFJet_phi = bei.
book1D(
"monojet_PFJet_phi",
"#phi(MonoJet)", 50, -3.14,3.14);
187 monojet_PFMet = bei.
book1D(
"monojet_PFMet",
"Pt of PFMET (GeV)", 40, 0.0 , 1000);
188 monojet_PFMet_phi = bei.
book1D(
"monojet_PFMet_phi",
"#phi(PFMET #phi)", 50, -3.14,3.14);
189 monojet_PFJetPtOverPFMet = bei.
book1D(
"monojet_PFJetPtOverPFMet",
"Pt of MonoJet/MET (GeV)", 40, 0.0 , 5.);
190 monojet_deltaPhiPFJetPFMet = bei.
book1D(
"monojet_deltaPhiPFJetPFMet",
"#Delta#phi(MonoJet, PFMet)", 40, 0., 3.15);
191 monojet_PFchef = bei.
book1D(
"monojet_PFchef",
"MonojetJet CHEF", 50, 0.0 , 1.0);
192 monojet_PFnhef = bei.
book1D(
"monojet_PFnhef",
"MonojetJet NHEF", 50, 0.0 , 1.0);
193 monojet_PFcemf = bei.
book1D(
"monojet_PFcemf",
"MonojetJet CEMF", 50, 0.0 , 1.0);
194 monojet_PFnemf = bei.
book1D(
"monojet_PFnemf",
"MonojetJet NEMF", 50, 0.0 , 1.0);
195 monojet_PFJetMulti = bei.
book1D(
"monojet_PFJetMulti",
"No. of PFJets", 10, 0., 10.);
198 monomuon_Muon_pt = bei.
book1D(
"monomuon_Muon_pt",
"Pt of Monomuon (GeV)", 50, 30.0 , 2000);
199 monomuon_Muon_eta = bei.
book1D(
"monomuon_Muon_eta",
"#eta(Monomuon)", 50, -2.5, 2.5);
200 monomuon_Muon_phi = bei.
book1D(
"monomuon_Muon_phi",
"#phi(Monomuon)", 50, -3.14,3.14);
201 monomuon_Charge = bei.
book1D(
"monomuon_Charge",
"Charge of the MonoMuon", 10, -5., 5.);
202 monomuon_PFMet = bei.
book1D(
"monomuon_PFMet",
"Pt of PFMET (GeV)", 40, 0.0 , 2000);
203 monomuon_PFMet_phi = bei.
book1D(
"monomuon_PFMet_phi",
"PFMET #phi", 50, -3.14,3.14);
204 monomuon_MuonPtOverPFMet = bei.
book1D(
"monomuon_MuonPtOverPFMet",
"Pt of Monomuon/PFMet", 40, 0.0 , 5.);
205 monomuon_deltaPhiMuonPFMet = bei.
book1D(
"monomuon_deltaPhiMuonPFMet",
"#Delta#phi(Monomuon, PFMet)", 40, 0., 3.15);
206 monomuon_TransverseMass = bei.
book1D(
"monomuon_TransverseMass",
"Transverse Mass M_{T} GeV", 40, 200., 3000.);
207 monomuon_MuonMulti = bei.
book1D(
"monomuon_MuonMulti",
"No. of Muons", 10, 0., 10.);
210 monoelectron_Electron_pt = bei.
book1D(
"monoelectron_Electron_pt",
"Pt of Monoelectron (GeV)", 50, 30.0 , 4000);
211 monoelectron_Electron_eta = bei.
book1D(
"monoelectron_Electron_eta",
"#eta(MonoElectron)", 50, -2.5, 2.5);
212 monoelectron_Electron_phi = bei.
book1D(
"monoelectron_Electron_phi",
"#phi(MonoElectron)", 50, -3.14,3.14);
213 monoelectron_Charge = bei.
book1D(
"monoelectron_Charge",
"Charge of the MonoElectron", 10, -5., 5.);
214 monoelectron_PFMet = bei.
book1D(
"monoelectron_PFMet",
"Pt of PFMET (GeV)", 40, 0.0 , 4000);
215 monoelectron_PFMet_phi = bei.
book1D(
"monoelectron_PFMet_phi",
"PFMET #phi", 50, -3.14,3.14);
216 monoelectron_ElectronPtOverPFMet = bei.
book1D(
"monoelectron_ElectronPtOverPFMet",
"Pt of Monoelectron/PFMet", 40, 0.0 , 5.);
217 monoelectron_deltaPhiElectronPFMet = bei.
book1D(
"monoelectron_deltaPhiElectronPFMet",
"#Delta#phi(MonoElectron, PFMet)", 40, 0., 3.15);
218 monoelectron_TransverseMass = bei.
book1D(
"monoelectron_TransverseMass",
"Transverse Mass M_{T} GeV", 40, 200., 4000.);
219 monoelectron_ElectronMulti = bei.
book1D(
"monoelectron_ElectronMulti",
"No. of Electrons", 10, 0., 10.);
223 monophoton_Photon_energy = bei.
book1D(
"monophoton_Photon_energy",
"Energy of Leading Photon (GeV)", 50, 30.0 , 1000);
224 monophoton_Photon_et = bei.
book1D(
"monophoton_Photon_et",
"Et of Leading Photon (GeV)", 50, 30.0 , 1000);
225 monophoton_Photon_pt = bei.
book1D(
"monophoton_Photon_pt",
"Pt of Leading Photon (GeV)", 50, 30.0 , 1000);
226 monophoton_Photon_eta = bei.
book1D(
"monophoton_Photon_eta",
"#eta (Leading Photon)", 50, -2.5, 2.5);
227 monophoton_Photon_etasc = bei.
book1D(
"monophoton_Photon_etasc",
"#eta sc(Leading Photon)", 50, -2.5, 2.5);
228 monophoton_Photon_phi = bei.
book1D(
"monophoton_Photon_phi",
"#phi(Leading Photon)", 50, -3.14,3.14);
229 monophoton_Photon_hovere = bei.
book1D(
"monophoton_Photon_hovere",
"H/E (Leading Photon)", 50, 0., 0.50);
230 monophoton_Photon_sigmaietaieta = bei.
book1D(
"monophoton_Photon_sigmaietaieta",
"#sigma_{i #eta i #eta} (Leading Photon)", 50, 0., 0.03);
231 monophoton_Photon_trksumptsolidconedr03 = bei.
book1D(
"monophoton_Photon_trksumptsolidconedr03",
"TrkSumPtDr03 (Leading Photon)", 50, 0., 15.);
232 monophoton_Photon_e1x5e5x5 = bei.
book1D(
"monophoton_Photon_e1x5e5x5",
"E_{1x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
233 monophoton_Photon_e2x5e5x5 = bei.
book1D(
"monophoton_Photon_e2x5e5x5",
"E_{2x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
234 monophoton_PFMet = bei.
book1D(
"monophoton_PFMet",
"Pt of PFMET (GeV)", 40, 0.0 , 1000);
235 monophoton_PFMet_phi = bei.
book1D(
"monophoton_PFMet_phi",
"PFMET #phi", 50, -3.14,3.14);
236 monophoton_PhotonPtOverPFMet = bei.
book1D(
"monophoton_PhotonPtOverPFMet",
"Pt of Monophoton/PFMet", 40, 0.0 , 5.);
237 monophoton_deltaPhiPhotonPFMet = bei.
book1D(
"monophoton_deltaPhiPhotonPFMet",
"#Delta#phi(SubLeading Photon, PFMet)", 40, 0., 3.15);
238 monophoton_PhotonMulti = bei.
book1D(
"monophoton_PhotonMulti",
"No. of Photons", 10, 0., 10.);
242 dispElec_track_effi_lxy = bei.
bookProfile(
"dispElec_track_effi_lxy",
"Electron channel; transverse decay length (cm); track reco efficiency", 10, 0., 100., -999., 999,
"");
243 dispElec_elec_effi_lxy = bei.
bookProfile(
"dispElec_elec_effi_lxy" ,
"Electron channel; transverse decay length (cm); electron reco efficiency", 10, 0., 100., -999., 999,
"");
244 dispMuon_track_effi_lxy = bei.
bookProfile(
"dispMuon_track_effi_lxy",
"Muon channel; transverse decay length (cm); track reco efficiency", 10, 0., 100., -999., 999,
"");
245 dispMuon_muon_effi_lxy = bei.
bookProfile(
"dispMuon_muon_effi_lxy" ,
"Muon channel; transverse decay length (cm); muon reco efficiency", 10, 0., 100., -999., 999,
"");
246 dispMuon_muonDisp_effi_lxy = bei.
bookProfile(
"dispMuon_muonDisp_effi_lxy",
"Muon channel; transverse decay length (cm); displacedMuon reco efficiency", 10, 0., 100., -999., 999,
"");
247 dispMuon_muonDispSA_effi_lxy = bei.
bookProfile(
"dispMuon_muonDispSA_effi_lxy",
"Muon channel; transverse decay length (cm); displacedSAMuon reco efficiency", 10, 0., 400., -999., 999,
"");
249 dispJet_track_effi_lxy = bei.
bookProfile(
"dispJet_track_effi_lxy" ,
"Jet channel; transverse decay length (cm); track reco efficiency", 10, 0., 100., -999., 999,
"");
263 bool ValidTriggers = iEvent.
getByToken(TriggerToken_, TriggerResults_);
264 if (!ValidTriggers)
return;
267 bool ValidVertices = iEvent.
getByToken(VertexToken_, VertexCollection_);
268 if (!ValidVertices)
return;
271 bool ValidGedGsfElectron = iEvent.
getByToken(ElectronToken_, ElectronCollection_);
272 if(!ValidGedGsfElectron)
return;
275 bool ValidPFMuon = iEvent.
getByToken(MuonToken_, MuonCollection_);
276 if(!ValidPFMuon)
return;
279 bool ValidPFJet = iEvent.
getByToken(PFJetToken_, pfJetCollection_);
280 pfjets = *pfJetCollection_;
281 if(!ValidPFJet)
return;
284 bool ValidPFMET = iEvent.
getByToken(PFMETToken_, pfMETCollection_);
285 if(!ValidPFMET)
return;
288 bool ValidCaloPhoton = iEvent.
getByToken(PhotonToken_, PhotonCollection_);
289 if(!ValidCaloPhoton)
return;
292 bool ValidTracks = iEvent.
getByToken(TrackToken_, TrackCollection_);
293 if (!ValidTracks)
return;
296 iEvent.
getByToken(MuonDispToken_, MuonDispCollection_);
297 iEvent.
getByToken(MuonDispSAToken_, MuonDispSACollection_);
300 bool ValidGenParticles = iEvent.
getByToken(GenParticleToken_, GenCollection_);
303 bool ValidJetCorrector = iEvent.
getByToken( JetCorrectorToken_, JetCorrector_ );
307 int N_Triggers = TriggerResults_->size();
308 int N_GoodTriggerPaths = HltPaths_.size();
309 bool triggered_event =
false;
311 for (
int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
312 if (TriggerResults_.product()->accept(i_Trig)) {
313 for (
int n = 0;
n < N_GoodTriggerPaths;
n++) {
314 if (trigName.
triggerName(i_Trig).find(HltPaths_[
n])!=std::string::npos){
315 triggered_event =
true;
320 if (triggered_event ==
false)
return;
322 for(
int i=0;
i<2;
i++){
324 PFJetPx[
i] = 0.; PFJetPy[
i] = 0.; PFJetPt[
i] = 0.; PFJetEta[
i] = 0.; PFJetPhi[
i] = 0.;
325 PFJetNHEF[
i] = 0.; PFJetCHEF[
i] = 0.; PFJetNEMF[
i] = 0.; PFJetCEMF[
i] = 0.;
327 MuonPx[
i] = 0.; MuonPy[
i] = 0.; MuonPt[
i] = 0.;
328 MuonEta[
i] = 0.; MuonPhi[
i] = 0.; MuonCharge[
i] = 0.;
330 ElectronPx[
i] = 0.; ElectronPy[
i] = 0.; ElectronPt[
i] = 0.;
331 ElectronEta[
i] = 0.; ElectronPhi[
i] = 0.; ElectronCharge[
i] = 0.;
333 PhotonEnergy[
i] = 0.; PhotonPt[
i] = 0.; PhotonEt[
i] = 0.; PhotonEta[
i] = 0.; PhotonEtaSc[
i] = 0.; PhotonPhi[
i] = 0.; PhotonHoverE[
i] = 0.;
334 PhotonSigmaIetaIeta[
i] = 0.; PhotonTrkSumPtSolidConeDR03[
i] = 0.; PhotonE1x5E5x5[
i] = 0.; PhotonE2x5E5x5[
i] = 0.;
339 monojet_countPFJet_=0;
341 PFJetCollection::const_iterator pfjet_ = pfjets.begin();
342 for(; pfjet_ != pfjets.end(); ++pfjet_){
344 if (ValidJetCorrector) scale = JetCorrector_->correction(*pfjet_);
345 if(scale*pfjet_->pt()>PFJetPt[0]){
346 PFJetPt[1] = PFJetPt[0];
347 PFJetPx[1] = PFJetPx[0];
348 PFJetPy[1] = PFJetPy[0];
349 PFJetEta[1] = PFJetEta[0];
350 PFJetPhi[1] = PFJetPhi[0];
351 PFJetRapidity[1] = PFJetRapidity[0];
352 PFJetMass[1] = PFJetMass[0];
353 PFJetNHEF[1] = PFJetNHEF[0];
354 PFJetCHEF[1] = PFJetCHEF[0];
355 PFJetNEMF[1] = PFJetNEMF[0];
356 PFJetCEMF[1] = PFJetCEMF[0];
358 PFJetPt[0] = scale*pfjet_->pt();
359 PFJetPx[0] = scale*pfjet_->px();
360 PFJetPy[0] = scale*pfjet_->py();
361 PFJetEta[0] = pfjet_->eta();
362 PFJetPhi[0] = pfjet_->phi();
363 PFJetRapidity[0] = pfjet_->rapidity();
364 PFJetMass[0] = pfjet_->mass();
365 PFJetNHEF[0] = pfjet_->neutralHadronEnergyFraction();
366 PFJetCHEF[0] = pfjet_->chargedHadronEnergyFraction();
367 PFJetNEMF[0] = pfjet_->neutralEmEnergyFraction();
368 PFJetCEMF[0] = pfjet_->chargedEmEnergyFraction();
370 else if(scale*pfjet_->pt()<PFJetPt[0] && scale*pfjet_->pt()>PFJetPt[1] ){
371 PFJetPt[1] = scale*pfjet_->pt();
372 PFJetPx[1] = scale*pfjet_->px();
373 PFJetPy[1] = scale*pfjet_->py();
374 PFJetEta[1] = pfjet_->eta();
375 PFJetPhi[1] = pfjet_->phi();
376 PFJetRapidity[1] = pfjet_->rapidity();
377 PFJetMass[1] = pfjet_->mass();
378 PFJetNHEF[1] = pfjet_->neutralHadronEnergyFraction();
379 PFJetCHEF[1] = pfjet_->chargedHadronEnergyFraction();
380 PFJetNEMF[1] = pfjet_->neutralEmEnergyFraction();
381 PFJetCEMF[1] = pfjet_->chargedEmEnergyFraction();
384 if(scale*pfjet_->pt()>dijet_PFJet1_pt_cut_) dijet_countPFJet_++;
385 if(scale*pfjet_->pt()>dijet_PFJet1_pt_cut_) monojet_countPFJet_++;
389 reco::VertexCollection::const_iterator primaryVertex_ = vertexCollection.begin();
391 dimuon_countMuon_ = 0;
392 monomuon_countMuon_ = 0;
393 reco::MuonCollection::const_iterator muon_ = MuonCollection_->begin();
394 for(; muon_ != MuonCollection_->end(); muon_++){
397 if ( muon_->isGlobalMuon()
398 && muon_->globalTrack()->hitPattern().numberOfValidMuonHits() >0
399 && muon_->numberOfMatchedStations() > 1
400 && muon_->innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5
401 && muon_->innerTrack()->hitPattern().numberOfValidPixelHits() > 0
402 && muon_->muonBestTrack()->ptError()/muon_->muonBestTrack()->pt() < 0.3
403 && fabs(muon_->muonBestTrack()->dxy(primaryVertex_->position())) < 0.2
404 && fabs(muon_->bestTrack()->dz(primaryVertex_->position())) < 0.5
405 && fabs(muon_->eta()) <2.1
408 if (HighPt ==
true ){
409 if(muon_->pt()>MuonPt[0]){
410 MuonPt[1] = MuonPt[0];
411 MuonPx[1] = MuonPx[0];
412 MuonPy[1] = MuonPy[0];
413 MuonEta[1] = MuonEta[0];
414 MuonPhi[1] = MuonPhi[0];
415 MuonCharge[1] = MuonCharge[0];
417 MuonPt[0] = muon_->pt();
418 MuonPx[0] = muon_->px();
419 MuonPy[0] = muon_->py();
420 MuonEta[0] = muon_->eta();
421 MuonPhi[0] = muon_->phi();
422 MuonCharge[0] = muon_->charge();
425 if (muon_->pt() > dimuon_Muon1_pt_cut_) dimuon_countMuon_++;
426 if (muon_->pt() > dimuon_Muon1_pt_cut_) monomuon_countMuon_++;
429 dielectron_countElectron_ = 0;
430 monoelectron_countElectron_ = 0;
431 reco::GsfElectronCollection::const_iterator electron_ = ElectronCollection_->begin();
432 for(; electron_ != ElectronCollection_->end(); electron_++){
434 if (electron_->e5x5()<=0)
continue;
435 if (electron_->gsfTrack().isNull())
continue;
436 bool HEPP_ele =
false;
437 double sceta = electron_->caloPosition().eta();
438 double dEtaIn = fabs(electron_->deltaEtaSuperClusterTrackAtVtx());
439 double dPhiIn = fabs(electron_->deltaPhiSuperClusterTrackAtVtx());
440 double HoverE = electron_->hadronicOverEm();
441 int missingHits = electron_->gsfTrack()->hitPattern().numberOfLostTrackerHits(HitPattern::MISSING_INNER_HITS);
442 double dxy = electron_->gsfTrack()->dxy(primaryVertex_->position());
443 double tkIso = electron_->dr03TkSumPt();
444 double e2x5Fraction = electron_->e2x5Max()/electron_->e5x5();
445 double e1x5Fraction = electron_->e1x5()/electron_->e5x5();
446 double scSigmaIetaIeta = electron_->scSigmaIEtaIEta();
447 if (electron_->ecalDriven() && electron_->pt()>35.) {
448 if (fabs(sceta)<1.442) {
449 if ( fabs(dEtaIn)<0.005
455 && (e2x5Fraction>0.94 || e1x5Fraction>0.83)
457 }
else if (fabs(sceta)>1.56 && fabs(sceta)<2.5) {
458 if ( fabs(dEtaIn)<0.007
464 && scSigmaIetaIeta<0.03
469 if (HEPP_ele ==
false)
continue;
470 if(electron_->pt()>ElectronPt[0] ){
471 ElectronPt[1] = ElectronPt[0];
472 ElectronPx[1] = ElectronPx[0];
473 ElectronPy[1] = ElectronPy[0];
474 ElectronEta[1] = ElectronEta[0];
475 ElectronPhi[1] = ElectronPhi[0];
476 ElectronCharge[1] = ElectronCharge[0];
478 ElectronPt[0] = electron_->pt();
479 ElectronPx[0] = electron_->px();
480 ElectronPy[0] = electron_->py();
481 ElectronEta[0] = electron_->eta();
482 ElectronPhi[0] = electron_->phi();
483 ElectronCharge[0] = electron_->charge();
485 if (electron_->pt() > dielectron_Electron1_pt_cut_) dielectron_countElectron_++;
486 if (electron_->pt() > dielectron_Electron1_pt_cut_) monoelectron_countElectron_++;
490 diphoton_countPhoton_ = 0.;
491 reco::PhotonCollection::const_iterator photon_ = PhotonCollection_->begin();
492 for(; photon_ != PhotonCollection_->end(); ++photon_){
493 if(photon_->pt()>PhotonPt[0] ){
494 PhotonEnergy[1] = PhotonEnergy[0];
495 PhotonPt[1] = PhotonPt[0];
496 PhotonEt[1] = PhotonEt[0];
497 PhotonEta[1] = PhotonEta[0];
498 PhotonEtaSc[1] = PhotonEtaSc[0];
499 PhotonPhi[1] = PhotonPhi[0];
500 PhotonHoverE[1] = PhotonHoverE[0];
501 PhotonSigmaIetaIeta[1] = PhotonSigmaIetaIeta[0];
502 PhotonTrkSumPtSolidConeDR03[1] = PhotonTrkSumPtSolidConeDR03[0];
503 PhotonE1x5E5x5[1] = PhotonE1x5E5x5[0];
504 PhotonE2x5E5x5[1] = PhotonE2x5E5x5[0];
506 PhotonEnergy[0] = photon_->energy();
507 PhotonPt[0] = photon_->pt();
508 PhotonEt[0] = photon_->et();
509 PhotonEta[0] = photon_->eta();
510 PhotonEtaSc[0] = photon_->caloPosition().eta();
511 PhotonPhi[0] = photon_->phi();
512 PhotonHoverE[0] = photon_->hadronicOverEm();
513 PhotonSigmaIetaIeta[0] = photon_->sigmaIetaIeta();
514 PhotonTrkSumPtSolidConeDR03[0] = photon_->trkSumPtSolidConeDR03();
515 PhotonE1x5E5x5[0] = photon_->e1x5()/photon_->e5x5();
516 PhotonE2x5E5x5[0] = photon_->e2x5()/photon_->e5x5();
518 if (photon_->pt() > dielectron_Electron1_pt_cut_) diphoton_countPhoton_ ++;
527 analyzeDiJets(iEvent);
528 analyzeDiMuons(iEvent);
529 analyzeDiElectrons(iEvent);
530 analyzeDiPhotons(iEvent);
533 analyzeMonoJets(iEvent);
534 analyzeMonoMuons(iEvent);
535 analyzeMonoElectrons(iEvent);
538 if (ValidGenParticles) {
539 analyzeDisplacedLeptons(iEvent, iSetup);
540 analyzeDisplacedJets(iEvent, iSetup);
550 const unsigned int stop1 = 1000006;
551 const unsigned int stop2 = 2000006;
552 const float deltaRcut = 0.01;
553 const float invPtcut = 0.1;
558 unsigned int idPdg =
abs(
gen.pdgId());
560 if (idPdg == stop1 || idPdg == stop2) {
561 unsigned int nDau =
gen.numberOfDaughters();
562 for (
unsigned int i = 0;
i < nDau;
i++) {
565 if (fabs(dau->
eta()) < dispFermion_eta_cut_ && dau->
pt() > dispFermion_pt_cut_) {
566 unsigned int pdgIdDau =
abs(dau->
pdgId());
568 if (pdgIdDau == 11 || pdgIdDau == 13) {
571 float lxy = dau->
vertex().rho();
574 GlobalVector genP = this->getGenParticleTrajectoryAtBeamline(iSetup, dau);
576 if (pdgIdDau == 11) {
579 bool recoedTrk =
false;
581 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1/dau->
pt() - 1/trk.pt()) < invPtcut) {
586 dispElec_track_effi_lxy->Fill(lxy, recoedTrk);
589 bool recoedE =
false;
591 if (
reco::deltaR(genP, eReco) < deltaRcut && fabs(1/dau->
pt() - 1/eReco.pt()) < invPtcut) recoedE =
true;
593 dispElec_elec_effi_lxy->Fill(lxy, recoedE);
595 }
else if (pdgIdDau == 13) {
598 bool recoedTrk =
false;
600 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1/dau->
pt() - 1/trk.pt()) < invPtcut) {
605 dispMuon_track_effi_lxy->Fill(lxy, recoedTrk);
608 bool recoedMu =
false;
609 for(
const reco::Muon& muReco : *MuonCollection_){
610 if (
reco::deltaR(genP, muReco) < deltaRcut && fabs(1/dau->
pt() - 1/muReco.pt()) < invPtcut) recoedMu =
true;
612 dispMuon_muon_effi_lxy->Fill(lxy, recoedMu);
615 bool recoedMuDisp =
false;
616 for(
const reco::Track& muDispReco : *MuonDispCollection_){
617 if (
reco::deltaR(genP, muDispReco) < deltaRcut && fabs(1/dau->
pt() - 1/muDispReco.pt()) < invPtcut) recoedMuDisp =
true;
619 dispMuon_muonDisp_effi_lxy->Fill(lxy, recoedMuDisp);
622 bool recoedMuDispSA =
false;
623 for(
const reco::Track& muDispSAReco : *MuonDispSACollection_){
624 if (
reco::deltaR(genP, muDispSAReco) < deltaRcut && fabs(1/dau->
pt() - 1/muDispSAReco.pt()) < invPtcut) recoedMuDispSA =
true;
626 dispMuon_muonDispSA_effi_lxy->Fill(lxy, recoedMuDispSA);
642 auto isRhadron = [](
unsigned int pdgId){
return (
pdgId/100) == 10006 || (
pdgId/1000) == 1006;};
644 const float deltaRcut = 0.01;
645 const float invPtcut = 0.1;
650 unsigned int idPdg =
abs(
gen.pdgId());
652 if (idPdg == 11 || idPdg == 13 || idPdg == 211 || idPdg == 321 || idPdg == 2212) {
654 if (fabs(
gen.eta()) < dispFermion_eta_cut_ &&
gen.pt() > dispFermion_pt_cut_) {
659 bool foundParton =
false;
662 unsigned int idPdgMoth =
abs(genMoth->
pdgId());
665 if ( (idPdgMoth >= 1 && idPdgMoth <= 6) || idPdgMoth == 21) foundParton =
true;
667 if (isRhadron( idPdgMoth )) {
668 genRhadron = genMoth;
673 if (foundParton && genRhadron !=
nullptr) {
679 GlobalVector genP = this->getGenParticleTrajectoryAtBeamline(iSetup, &
gen);
682 bool recoedTrk =
false;
684 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1/
gen.pt() - 1/trk.pt()) < invPtcut) {
689 dispJet_track_effi_lxy->Fill(lxy, recoedTrk);
720 for (
unsigned int icoll = 0;
icoll < DiJetPFJetCollection_.size(); ++
icoll) {
722 bool ValidDiJetPFJets = iEvent.
getByToken(DiJetPFJetToken_[
icoll], DiJetpfJetCollection_);
723 if (!ValidDiJetPFJets)
continue;
724 DiJetpfjets = *DiJetpfJetCollection_;
725 for(
int i=0;
i<2;
i++){
726 PFJetPx[
i] = 0.; PFJetPy[
i] = 0.; PFJetPt[
i] = 0.; PFJetEta[
i] = 0.; PFJetPhi[
i] = 0.;
727 PFJetNHEF[
i] = 0.; PFJetCHEF[
i] = 0.; PFJetNEMF[
i] = 0.; PFJetCEMF[
i] = 0.;
729 PFJetCollection::const_iterator DiJetpfjet_ = DiJetpfjets.begin();
730 for(; DiJetpfjet_ != DiJetpfjets.end(); ++DiJetpfjet_){
732 if(scale*DiJetpfjet_->pt()>PFJetPt[0]){
733 PFJetPt[1] = PFJetPt[0];
734 PFJetPx[1] = PFJetPx[0];
735 PFJetPy[1] = PFJetPy[0];
736 PFJetEta[1] = PFJetEta[0];
737 PFJetPhi[1] = PFJetPhi[0];
738 PFJetRapidity[1] = DiJetpfjet_->rapidity();
739 PFJetMass[1] = DiJetpfjet_->mass();
740 PFJetNHEF[1] = PFJetNHEF[0];
741 PFJetCHEF[1] = PFJetCHEF[0];
742 PFJetNEMF[1] = PFJetNEMF[0];
743 PFJetCEMF[1] = PFJetCEMF[0];
744 PFJetPt[0] = scale*DiJetpfjet_->pt();
745 PFJetPx[0] = scale*DiJetpfjet_->px();
746 PFJetPy[0] = scale*DiJetpfjet_->py();
747 PFJetEta[0] = DiJetpfjet_->eta();
748 PFJetPhi[0] = DiJetpfjet_->phi();
749 PFJetRapidity[0] = DiJetpfjet_->rapidity();
750 PFJetMass[0] = DiJetpfjet_->mass();
751 PFJetNHEF[0] = DiJetpfjet_->neutralHadronEnergyFraction();
752 PFJetCHEF[0] = DiJetpfjet_->chargedHadronEnergyFraction();
753 PFJetNEMF[0] = DiJetpfjet_->neutralEmEnergyFraction();
754 PFJetCEMF[0] = DiJetpfjet_->chargedEmEnergyFraction();
755 }
else if(scale*DiJetpfjet_->pt()<PFJetPt[0] && scale*DiJetpfjet_->pt()>PFJetPt[1] ){
756 PFJetPt[1] = scale*DiJetpfjet_->pt();
757 PFJetPx[1] = scale*DiJetpfjet_->px();
758 PFJetPy[1] = scale*DiJetpfjet_->py();
759 PFJetEta[1] = DiJetpfjet_->eta();
760 PFJetPhi[1] = DiJetpfjet_->phi();
761 PFJetRapidity[1] = DiJetpfjet_->rapidity();
762 PFJetMass[1] = DiJetpfjet_->mass();
763 PFJetNHEF[1] = DiJetpfjet_->neutralHadronEnergyFraction();
764 PFJetCHEF[1] = DiJetpfjet_->chargedHadronEnergyFraction();
765 PFJetNEMF[1] = DiJetpfjet_->neutralEmEnergyFraction();
766 PFJetCEMF[1] = DiJetpfjet_->chargedEmEnergyFraction();
768 if(scale*DiJetpfjet_->pt()>dijet_PFJet1_pt_cut_) dijet_countPFJet_++;
770 if(PFJetPt[0]> dijet_PFJet1_pt_cut_ && PFJetPt[1]> dijet_PFJet2_pt_cut_){
771 dijet_PFJet_pt[
icoll]->Fill(PFJetPt[0]);
772 dijet_PFJet_eta[
icoll]->Fill(PFJetEta[0]);
773 dijet_PFJet_phi[
icoll]->Fill(PFJetPhi[0]);
774 dijet_PFJet_rapidity[
icoll]->Fill(PFJetRapidity[0]);
775 dijet_PFJet_mass[
icoll]->Fill(PFJetMass[0]);
776 dijet_PFJet_pt[
icoll]->Fill(PFJetPt[1]);
777 dijet_PFJet_eta[
icoll]->Fill(PFJetEta[1]);
778 dijet_PFJet_phi[
icoll]->Fill(PFJetPhi[1]);
779 dijet_PFJet_rapidity[
icoll]->Fill(PFJetRapidity[1]);
780 dijet_PFJet_mass[
icoll]->Fill(PFJetMass[1]);
781 dijet_deltaPhiPFJet1PFJet2[
icoll]->Fill(
deltaPhi(PFJetPhi[0],PFJetPhi[1]));
782 dijet_deltaEtaPFJet1PFJet2[
icoll]->Fill(PFJetEta[0]-PFJetEta[1]);
783 dijet_deltaRPFJet1PFJet2[
icoll]->Fill(
deltaR(PFJetEta[0],PFJetPhi[0],PFJetEta[1],PFJetPhi[1]));
784 dijet_invMassPFJet1PFJet2[
icoll]->Fill(
sqrt(2*PFJetPt[0]*PFJetPt[1]*(cosh(PFJetEta[0]-PFJetEta[1])-
cos(PFJetPhi[0]-PFJetPhi[1]))));
785 dijet_PFchef[
icoll]->Fill(PFJetCHEF[0]);
786 dijet_PFnhef[
icoll]->Fill(PFJetNHEF[0]);
787 dijet_PFcemf[
icoll]->Fill(PFJetCEMF[0]);
788 dijet_PFnemf[
icoll]->Fill(PFJetNEMF[0]);
789 dijet_PFJetMulti[
icoll]->Fill(dijet_countPFJet_);
795 if(MuonPt[0] > dimuon_Muon1_pt_cut_ && MuonPt[1]> dimuon_Muon2_pt_cut_ && MuonCharge[0]*MuonCharge[1] == -1){
796 dimuon_Muon_pt->Fill(MuonPt[0]);
797 dimuon_Muon_eta->Fill(MuonEta[0]);
798 dimuon_Muon_phi->Fill(MuonPhi[0]);
799 dimuon_Muon_pt->Fill(MuonPt[1]);
800 dimuon_Muon_eta->Fill(MuonEta[1]);
801 dimuon_Muon_phi->Fill(MuonPhi[1]);
802 dimuon_Charge->Fill(MuonCharge[0]);
803 dimuon_Charge->Fill(MuonCharge[1]);
804 dimuon_deltaPhiMuon1Muon2->Fill(
deltaPhi(MuonPhi[0],MuonPhi[1]));
805 dimuon_deltaEtaMuon1Muon2->Fill(MuonEta[0]-MuonEta[1]);
806 dimuon_deltaRMuon1Muon2->Fill(
deltaR(MuonEta[0],MuonPhi[0],MuonEta[1],MuonPhi[1]));
807 dimuon_invMassMuon1Muon2->Fill(
sqrt(2*MuonPt[0]*MuonPt[1]*(cosh(MuonEta[0]-MuonEta[1])-
cos(MuonPhi[0]-MuonPhi[1]))));
808 dimuon_MuonMulti->Fill(dimuon_countMuon_);
813 if(ElectronPt[0] > dielectron_Electron1_pt_cut_ && ElectronPt[1]> dielectron_Electron2_pt_cut_ && ElectronCharge[0]*ElectronCharge[1] == -1.){
814 dielectron_Electron_pt->Fill(ElectronPt[0]);
815 dielectron_Electron_eta->Fill(ElectronEta[0]);
816 dielectron_Electron_phi->Fill(ElectronPhi[0]);
817 dielectron_Electron_pt->Fill(ElectronPt[1]);
818 dielectron_Electron_eta->Fill(ElectronEta[1]);
819 dielectron_Electron_phi->Fill(ElectronPhi[1]);
820 dielectron_Charge->Fill(ElectronCharge[0]);
821 dielectron_Charge->Fill(ElectronCharge[1]);
822 dielectron_deltaPhiElectron1Electron2->Fill(
deltaPhi(ElectronPhi[0],ElectronPhi[1]));
823 dielectron_deltaEtaElectron1Electron2->Fill(ElectronEta[0]-ElectronEta[1]);
824 dielectron_deltaRElectron1Electron2->Fill(
deltaR(ElectronEta[0],ElectronPhi[0],ElectronEta[1],ElectronPhi[1]));
825 dielectron_invMassElectron1Electron2->Fill(
sqrt(2*ElectronPt[0]*ElectronPt[1]*(cosh(ElectronEta[0]-ElectronEta[1])-
cos(ElectronPhi[0]-ElectronPhi[1]))));
826 dielectron_ElectronMulti->Fill(dielectron_countElectron_);
831 if(PhotonPt[0] > diphoton_Photon1_pt_cut_ && PhotonPt[1]> diphoton_Photon2_pt_cut_ ){
832 diphoton_Photon_energy->Fill(PhotonEnergy[0]);
833 diphoton_Photon_pt->Fill(PhotonPt[0]);
834 diphoton_Photon_et->Fill(PhotonEt[0]);
835 diphoton_Photon_eta->Fill(PhotonEta[0]);
836 diphoton_Photon_etasc->Fill(PhotonEtaSc[0]);
837 diphoton_Photon_phi->Fill(PhotonPhi[0]);
838 if (fabs(PhotonEtaSc[0]) < 1.442){
839 diphoton_Photon_hovere_eb->Fill(PhotonHoverE[0]);
840 diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[0]);
841 diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[0]);
842 diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[0]);
843 diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[0]);
845 if (fabs(PhotonEtaSc[0]) > 1.566 && fabs(PhotonEtaSc[0]) < 2.5){
846 diphoton_Photon_hovere_ee->Fill(PhotonHoverE[0]);
847 diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[0]);
848 diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[0]);
849 diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[0]);
850 diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[0]);
852 diphoton_Photon_energy->Fill(PhotonEnergy[1]);
853 diphoton_Photon_pt->Fill(PhotonPt[1]);
854 diphoton_Photon_et->Fill(PhotonEt[1]);
855 diphoton_Photon_eta->Fill(PhotonEta[1]);
856 diphoton_Photon_etasc->Fill(PhotonEtaSc[1]);
857 diphoton_Photon_phi->Fill(PhotonPhi[1]);
858 if (fabs(PhotonEtaSc[1]) < 1.4442){
859 diphoton_Photon_hovere_eb->Fill(PhotonHoverE[1]);
860 diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[1]);
861 diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[1]);
862 diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[1]);
863 diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[1]);
865 if (fabs(PhotonEtaSc[1]) > 1.566 && fabs(PhotonEtaSc[1]) < 2.5){
866 diphoton_Photon_hovere_ee->Fill(PhotonHoverE[1]);
867 diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[1]);
868 diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[1]);
869 diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[1]);
870 diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[1]);
872 diphoton_deltaPhiPhoton1Photon2->Fill(
deltaPhi(PhotonPhi[0],PhotonPhi[1]));
873 diphoton_deltaEtaPhoton1Photon2->Fill(PhotonEta[0]-PhotonEta[1]);
874 diphoton_deltaRPhoton1Photon2->Fill(
deltaR(PhotonEta[0],PhotonPhi[0],PhotonEta[1],PhotonPhi[1]));
875 diphoton_invMassPhoton1Photon2->Fill(
sqrt(2*PhotonPt[0]*PhotonPt[1]*(cosh(PhotonEta[0]-PhotonEta[1])-
cos(PhotonPhi[0]-PhotonPhi[1]))));
876 diphoton_PhotonMulti->Fill(diphoton_countPhoton_);
882 const PFMET pfmet = pfmetcol->front();
883 if(PFJetPt[0]> monojet_PFJet_pt_cut_ && pfmet.
et() > monojet_PFJet_met_cut_){
884 monojet_PFJet_pt->Fill(PFJetPt[0]);
885 monojet_PFJet_eta->Fill(PFJetEta[0]);
886 monojet_PFJet_phi->Fill(PFJetPhi[0]);
887 monojet_PFMet->Fill(pfmet.
et());
888 monojet_PFMet_phi->Fill(pfmet.
phi());
889 monojet_PFJetPtOverPFMet->Fill(PFJetPt[0]/pfmet.
et());
890 monojet_deltaPhiPFJetPFMet->Fill(
deltaPhi(PFJetPhi[0],pfmet.
phi()));
891 monojet_PFchef->Fill(PFJetCHEF[0]);
892 monojet_PFnhef->Fill(PFJetNHEF[0]);
893 monojet_PFcemf->Fill(PFJetCEMF[0]);
894 monojet_PFnemf->Fill(PFJetNEMF[0]);
895 monojet_PFJetMulti->Fill(monojet_countPFJet_);
901 const PFMET pfmet = pfmetcol->front();
902 if(MuonPt[0]> monomuon_Muon_pt_cut_ && pfmet.
et() > monomuon_Muon_met_cut_){
903 monomuon_Muon_pt->Fill(MuonPt[0]);
904 monomuon_Muon_eta->Fill(MuonEta[0]);
905 monomuon_Muon_phi->Fill(MuonPhi[0]);
906 monomuon_Charge->Fill(MuonCharge[0]);
907 monomuon_PFMet->Fill(pfmet.
et());
908 monomuon_PFMet_phi->Fill(pfmet.
phi());
909 monomuon_MuonPtOverPFMet->Fill(MuonPt[0]/pfmet.
et());
910 monomuon_deltaPhiMuonPFMet->Fill(
deltaPhi(MuonPhi[0],pfmet.
phi()));
911 monomuon_TransverseMass->Fill(
sqrt(2*MuonPt[0]*pfmet.
et()*(1-
cos(
deltaPhi(MuonPhi[0],pfmet.
phi())))));
912 monomuon_MuonMulti->Fill(monomuon_countMuon_);
918 const PFMET pfmet = pfmetcol->front();
919 if(ElectronPt[0]> monoelectron_Electron_pt_cut_ && pfmet.
et() > monoelectron_Electron_met_cut_){
920 monoelectron_Electron_pt->Fill(ElectronPt[0]);
921 monoelectron_Electron_eta->Fill(ElectronEta[0]);
922 monoelectron_Electron_phi->Fill(ElectronPhi[0]);
923 monoelectron_Charge->Fill(ElectronCharge[0]);
924 monoelectron_PFMet->Fill(pfmet.
et());
925 monoelectron_PFMet_phi->Fill(pfmet.
phi());
926 monoelectron_ElectronPtOverPFMet->Fill(ElectronPt[0]/pfmet.
et());
927 monoelectron_deltaPhiElectronPFMet->Fill(
deltaPhi(ElectronPhi[0],pfmet.
phi()));
928 monoelectron_TransverseMass->Fill(
sqrt(2*ElectronPt[0]*pfmet.
et()*(1-
cos(
deltaPhi(ElectronPhi[0],pfmet.
phi())))));
929 monoelectron_ElectronMulti->Fill(monoelectron_countElectron_);
935 const PFMET pfmet = pfmetcol->front();
936 if(PhotonPt[0]> monophoton_Photon_pt_cut_ && pfmet.
et() > monophoton_Photon_met_cut_){
937 monophoton_Photon_energy->Fill(PhotonEnergy[0]);
938 monophoton_Photon_pt->Fill(PhotonPt[0]);
939 monophoton_Photon_et->Fill(PhotonEt[0]);
940 monophoton_Photon_eta->Fill(PhotonEta[0]);
941 monophoton_Photon_etasc->Fill(PhotonEtaSc[0]);
942 monophoton_Photon_phi->Fill(PhotonPhi[0]);
943 monophoton_Photon_hovere->Fill(PhotonHoverE[0]);
944 monophoton_Photon_sigmaietaieta->Fill(PhotonSigmaIetaIeta[0]);
945 monophoton_Photon_trksumptsolidconedr03->Fill(PhotonTrkSumPtSolidConeDR03[0]);
946 monophoton_Photon_e1x5e5x5->Fill(PhotonE1x5E5x5[0]);
947 monophoton_Photon_e2x5e5x5->Fill(PhotonE2x5E5x5[0]);
948 monophoton_PFMet->Fill(pfmet.
et());
949 monophoton_PFMet_phi->Fill(pfmet.
phi());
950 monophoton_PhotonPtOverPFMet->Fill(PhotonPt[0]/pfmet.
et());
951 monophoton_deltaPhiPhotonPFMet->Fill(
deltaPhi(PhotonPhi[0],pfmet.
phi()));
952 monophoton_PhotonMulti->Fill(monophoton_countPhoton_);
virtual void analyzeMonoElectrons(edm::Event const &e)
virtual void analyzeDiJets(edm::Event const &e)
T getParameter(std::string const &) const
int pdgId() const final
PDG identifier.
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
T getUntrackedParameter(std::string const &, T const &) const
double eta() const final
momentum pseudorapidity
virtual void analyzeMonoMuons(edm::Event const &e)
ExoticaDQM(const edm::ParameterSet &ps)
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
virtual void analyzeMonoJets(edm::Event const &e)
MonitorElement * bookProfile(Args &&...args)
double vy() const override
y coordinate of vertex position
bool getByToken(EDGetToken token, Handle< PROD > &result) const
double px() const final
x coordinate of momentum vector
size_t numberOfMothers() const override
number of mothers
Global3DPoint GlobalPoint
virtual void analyzeDiMuons(edm::Event const &e)
double pt() const final
transverse momentum
std::vector< Vertex > VertexCollection
collection of Vertex objects
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
int charge() const final
electric charge
virtual void analyzeDisplacedJets(edm::Event const &e, const edm::EventSetup &s)
virtual GlobalVector getGenParticleTrajectoryAtBeamline(const edm::EventSetup &iSetup, const reco::GenParticle *gen)
double et() const final
transverse energy
double pz() const final
z coordinate of momentum vector
virtual void analyzeDiPhotons(edm::Event const &e)
Cos< T >::type cos(const T &t)
const Point & vertex() const override
vertex position (overwritten by PF...)
MonitorElement * book1D(Args &&...args)
virtual void analyzeDisplacedLeptons(edm::Event const &e, const edm::EventSetup &s)
Abs< T >::type abs(const T &t)
def gen(fragment, howMuch)
Production test section ####.
GlobalVector momentum() const
FTS const & trackStateAtPCA() const
double vz() const override
z coordinate of vertex position
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
virtual void analyzeMonoPhotons(edm::Event const &e)
double deltaR(double eta1, double eta2, double phi1, double phi2)
void setCurrentFolder(const std::string &fullpath)
std::string const & triggerName(unsigned int index) const
double py() const final
y coordinate of momentum vector
virtual const Point & vertex() const =0
vertex position
virtual void analyzeDiElectrons(edm::Event const &e)
double phi() const final
momentum azimuthal angle
T const * product() const
std::vector< std::string > vstring
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
const Candidate * mother(size_type=0) const override
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
double vx() const override
x coordinate of vertex position
Global3DVector GlobalVector