17 typedef std::vector<edm::InputTag> vtag;
22 HltPaths_ = ps.
getParameter<vector<string> >(
"HltPaths");
26 ElectronToken_ = consumes<reco::GsfElectronCollection>(ps.
getParameter<
InputTag>(
"electronCollection"));
34 DiJetPFJetCollection_ = ps.
getParameter<std::vector<edm::InputTag> >(
"DiJetPFJetCollection");
35 for (std::vector<edm::InputTag>::const_iterator jetlabel = DiJetPFJetCollection_.begin(),
36 jetlabelEnd = DiJetPFJetCollection_.end();
37 jetlabel != jetlabelEnd;
39 DiJetPFJetToken_.push_back(consumes<reco::PFJetCollection>(*jetlabel));
44 ecalBarrelRecHitToken_ = consumes<EBRecHitCollection>(
47 ecalEndcapRecHitToken_ = consumes<EERecHitCollection>(
52 MuonDispToken_ = consumes<reco::TrackCollection>(ps.
getParameter<
InputTag>(
"displacedMuonCollection"));
54 MuonDispSAToken_ = consumes<reco::TrackCollection>(ps.
getParameter<
InputTag>(
"displacedSAMuonCollection"));
56 GenParticleToken_ = consumes<reco::GenParticleCollection>(ps.
getParameter<
InputTag>(
"genParticleCollection"));
66 dijet_PFJet1_pt_cut_ = ps.
getParameter<
double>(
"dijet_PFJet1_pt_cut");
67 dijet_PFJet2_pt_cut_ = ps.
getParameter<
double>(
"dijet_PFJet2_pt_cut");
69 dimuon_Muon1_pt_cut_ = ps.
getParameter<
double>(
"dimuon_Muon1_pt_cut");
70 dimuon_Muon2_pt_cut_ = ps.
getParameter<
double>(
"dimuon_Muon2_pt_cut");
72 dielectron_Electron1_pt_cut_ = ps.
getParameter<
double>(
"dielectron_Electron2_pt_cut");
73 dielectron_Electron2_pt_cut_ = ps.
getParameter<
double>(
"dielectron_Electron2_pt_cut");
75 diphoton_Photon1_pt_cut_ = ps.
getParameter<
double>(
"diphoton_Photon2_pt_cut");
76 diphoton_Photon2_pt_cut_ = ps.
getParameter<
double>(
"diphoton_Photon2_pt_cut");
78 monojet_PFJet_pt_cut_ = ps.
getParameter<
double>(
"monojet_PFJet_pt_cut");
79 monojet_PFJet_met_cut_ = ps.
getParameter<
double>(
"monojet_PFJet_met_cut");
81 monomuon_Muon_pt_cut_ = ps.
getParameter<
double>(
"monomuon_Muon_pt_cut");
82 monomuon_Muon_met_cut_ = ps.
getParameter<
double>(
"monomuon_Muon_met_cut");
84 monoelectron_Electron_pt_cut_ = ps.
getParameter<
double>(
"monoelectron_Electron_pt_cut");
85 monoelectron_Electron_met_cut_ = ps.
getParameter<
double>(
"monoelectron_Electron_met_cut");
87 monophoton_Photon_pt_cut_ = ps.
getParameter<
double>(
"monophoton_Photon_pt_cut");
88 monophoton_Photon_met_cut_ = ps.
getParameter<
double>(
"monophoton_Photon_met_cut");
90 dispFermion_eta_cut_ = ps.
getParameter<
double>(
"dispFermion_eta_cut");
91 dispFermion_pt_cut_ = ps.
getParameter<
double>(
"dispFermion_pt_cut");
109 for (
unsigned int icoll = 0;
icoll < DiJetPFJetCollection_.size(); ++
icoll) {
110 std::stringstream
ss;
111 ss <<
"Physics/Exotica/Dijets/" << DiJetPFJetCollection_[
icoll].label();
114 dijet_PFJet_pt.push_back(bei.
book1D(
"dijet_PFJet_pt",
"Pt of PFJet (GeV)", 50, 30.0, 5000));
115 dijet_PFJet_eta.push_back(bei.
book1D(
"dijet_PFJet_eta",
"#eta (PFJet)", 50, -2.5, 2.5));
116 dijet_PFJet_phi.push_back(bei.
book1D(
"dijet_PFJet_phi",
"#phi (PFJet)", 50, -3.14, 3.14));
117 dijet_PFJet_rapidity.push_back(bei.
book1D(
"dijet_PFJet_rapidity",
"Rapidity (PFJet)", 50, -6.0, 6.0));
118 dijet_PFJet_mass.push_back(bei.
book1D(
"dijet_PFJet_mass",
"Mass (PFJets)", 50, 0., 500.));
119 dijet_deltaPhiPFJet1PFJet2.push_back(
120 bei.
book1D(
"dijet_deltaPhiPFJet1PFJet2",
"#Delta#phi(Leading PFJet, Sub PFJet)", 40, 0., 3.15));
121 dijet_deltaEtaPFJet1PFJet2.push_back(
122 bei.
book1D(
"dijet_deltaEtaPFJet1PFJet2",
"#Delta#eta(Leading PFJet, Sub PFJet)", 40, -5., 5.));
123 dijet_deltaRPFJet1PFJet2.push_back(
124 bei.
book1D(
"dijet_deltaRPFJet1PFJet2",
"#DeltaR(Leading PFJet, Sub PFJet)", 50, 0., 6.));
125 dijet_invMassPFJet1PFJet2.push_back(
126 bei.
book1D(
"dijet_invMassPFJet1PFJet2",
"Leading PFJet, SubLeading PFJet Invariant mass (GeV)", 50, 0., 8000.));
127 dijet_PFchef.push_back(bei.
book1D(
"dijet_PFchef",
"Leading PFJet CHEF", 50, 0.0, 1.0));
128 dijet_PFnhef.push_back(bei.
book1D(
"dijet_PFnhef",
"Leading PFJet NHEF", 50, 0.0, 1.0));
129 dijet_PFcemf.push_back(bei.
book1D(
"dijet_PFcemf",
"Leading PFJet CEMF", 50, 0.0, 1.0));
130 dijet_PFnemf.push_back(bei.
book1D(
"dijet_PFnemf",
"Leading PFJEt NEMF", 50, 0.0, 1.0));
131 dijet_PFJetMulti.push_back(bei.
book1D(
"dijet_PFJetMulti",
"No. of PFJets", 10, 0., 10.));
135 dimuon_Muon_pt = bei.
book1D(
"dimuon_Muon_pt",
"Pt of Muon (GeV)", 50, 30.0, 2000);
136 dimuon_Muon_eta = bei.
book1D(
"dimuon_Muon_eta",
"#eta (Muon)", 50, -2.5, 2.5);
137 dimuon_Muon_phi = bei.
book1D(
"dimuon_Muon_phi",
"#phi (Muon)", 50, -3.14, 3.14);
138 dimuon_Charge = bei.
book1D(
"dimuon_Charge",
"Charge of the Muon", 10, -5., 5.);
139 dimuon_deltaEtaMuon1Muon2 =
140 bei.
book1D(
"dimuon_deltaEtaMuon1Muon2",
"#Delta#eta(Leading Muon, Sub Muon)", 40, -5., 5.);
141 dimuon_deltaPhiMuon1Muon2 =
142 bei.
book1D(
"dimuon_deltaPhiMuon1Muon2",
"#Delta#phi(Leading Muon, Sub Muon)", 40, 0., 3.15);
143 dimuon_deltaRMuon1Muon2 = bei.
book1D(
"dimuon_deltaRMuon1Muon2",
"#DeltaR(Leading Muon, Sub Muon)", 50, 0., 6.);
144 dimuon_invMassMuon1Muon2 =
145 bei.
book1D(
"dimuon_invMassMuon1Muon2",
"Leading Muon, SubLeading Muon Low Invariant mass (GeV)", 50, 500., 4500.);
146 dimuon_MuonMulti = bei.
book1D(
"dimuon_MuonMulti",
"No. of Muons", 10, 0., 10.);
149 dielectron_Electron_pt = bei.
book1D(
"dielectron_Electron_pt",
"Pt of Electron (GeV)", 50, 30.0, 2000);
150 dielectron_Electron_eta = bei.
book1D(
"dielectron_Electron_eta",
"#eta (Electron)", 50, -2.5, 2.5);
151 dielectron_Electron_phi = bei.
book1D(
"dielectron_Electron_phi",
"#phi (Electron)", 50, -3.14, 3.14);
152 dielectron_Charge = bei.
book1D(
"dielectron_Charge",
"Charge of the Electron", 10, -5., 5.);
153 dielectron_deltaEtaElectron1Electron2 =
154 bei.
book1D(
"dielectron_deltaEtaElectron1Electron2",
"#Delta#eta(Leading Electron, Sub Electron)", 40, -5., 5.);
155 dielectron_deltaPhiElectron1Electron2 =
156 bei.
book1D(
"dielectron_deltaPhiElectron1Electron2",
"#Delta#phi(Leading Electron, Sub Electron)", 40, 0., 3.15);
157 dielectron_deltaRElectron1Electron2 =
158 bei.
book1D(
"dielectron_deltaRElectron1Electron2",
"#DeltaR(Leading Electron, Sub Electron)", 50, 0., 6.);
159 dielectron_invMassElectron1Electron2 = bei.
book1D(
"dielectron_invMassElectron1Electron2",
160 "Leading Electron, SubLeading Electron Invariant mass (GeV)",
164 dielectron_ElectronMulti = bei.
book1D(
"dielectron_ElectronMulti",
"No. of Electrons", 10, 0., 10.);
167 diphoton_Photon_energy = bei.
book1D(
"diphoton_Photon_energy",
"Energy of Photon (GeV)", 50, 30.0, 300);
168 diphoton_Photon_et = bei.
book1D(
"diphoton_Photon_et",
"Et of Photon (GeV)", 50, 30.0, 300);
169 diphoton_Photon_pt = bei.
book1D(
"diphoton_Photon_pt",
"Pt of Photon (GeV)", 50, 30.0, 300);
170 diphoton_Photon_eta = bei.
book1D(
"diphoton_Photon_eta",
"#eta (Photon)", 50, -2.5, 2.5);
171 diphoton_Photon_etasc = bei.
book1D(
"diphoton_Photon_etasc",
"#eta sc(Photon)", 50, -2.5, 2.5);
172 diphoton_Photon_phi = bei.
book1D(
"diphoton_Photon_phi",
"#phi (Photon)", 50, -3.14, 3.14);
173 diphoton_Photon_hovere_eb = bei.
book1D(
"diphoton_Photon_hovere_eb",
"H/E (Photon) EB", 50, 0., 0.50);
174 diphoton_Photon_hovere_ee = bei.
book1D(
"diphoton_Photon_hovere_ee",
"H/E (Photon) EE", 50, 0., 0.50);
175 diphoton_Photon_sigmaietaieta_eb =
176 bei.
book1D(
"diphoton_Photon_sigmaietaieta_eb",
"#sigma_{i #eta i #eta} (Photon) EB", 50, 0., 0.03);
177 diphoton_Photon_sigmaietaieta_ee =
178 bei.
book1D(
"diphoton_Photon_sigmaietaieta_ee",
"#sigma_{i #eta i #eta} (Photon) EE", 50, 0., 0.03);
179 diphoton_Photon_trksumptsolidconedr03_eb =
180 bei.
book1D(
"diphoton_Photon_trksumptsolidconedr03_eb",
"TrkSumPtDr03 (Photon) EB", 50, 0., 15.);
181 diphoton_Photon_trksumptsolidconedr03_ee =
182 bei.
book1D(
"diphoton_Photon_trksumptsolidconedr03_ee",
"TrkSumPtDr03 (Photon) EE", 50, 0., 15.);
183 diphoton_Photon_e1x5e5x5_eb = bei.
book1D(
"diphoton_Photon_e1x5e5x5_eb",
"E_{1x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
184 diphoton_Photon_e1x5e5x5_ee = bei.
book1D(
"diphoton_Photon_e1x5e5x5_ee",
"E_{1x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
185 diphoton_Photon_e2x5e5x5_eb = bei.
book1D(
"diphoton_Photon_e2x5e5x5_eb",
"E_{2x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
186 diphoton_Photon_e2x5e5x5_ee = bei.
book1D(
"diphoton_Photon_e2x5e5x5_ee",
"E_{2x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
187 diphoton_deltaEtaPhoton1Photon2 =
188 bei.
book1D(
"diphoton_deltaEtaPhoton1Photon2",
"#Delta#eta(SubLeading Photon, Sub Photon)", 40, -5., 5.);
189 diphoton_deltaPhiPhoton1Photon2 =
190 bei.
book1D(
"diphoton_deltaPhiPhoton1Photon2",
"#Delta#phi(SubLeading Photon, Sub Photon)", 40, 0., 3.15);
191 diphoton_deltaRPhoton1Photon2 =
192 bei.
book1D(
"diphoton_deltaRPhoton1Photon2",
"#DeltaR(SubLeading Photon, Sub Photon)", 50, 0., 6.);
193 diphoton_invMassPhoton1Photon2 = bei.
book1D(
194 "diphoton_invMassPhoton1Photon2",
"SubLeading Photon, SubSubLeading Photon Invariant mass (GeV)", 50, 500., 4500.);
195 diphoton_PhotonMulti = bei.
book1D(
"diphoton_PhotonMulti",
"No. of Photons", 10, 0., 10.);
198 monojet_PFJet_pt = bei.
book1D(
"monojet_PFJet_pt",
"Pt of MonoJet (GeV)", 50, 30.0, 1000);
199 monojet_PFJet_eta = bei.
book1D(
"monojet_PFJet_eta",
"#eta(MonoJet)", 50, -2.5, 2.5);
200 monojet_PFJet_phi = bei.
book1D(
"monojet_PFJet_phi",
"#phi(MonoJet)", 50, -3.14, 3.14);
201 monojet_PFMet = bei.
book1D(
"monojet_PFMet",
"Pt of PFMET (GeV)", 40, 0.0, 1000);
202 monojet_PFMet_phi = bei.
book1D(
"monojet_PFMet_phi",
"#phi(PFMET #phi)", 50, -3.14, 3.14);
203 monojet_PFJetPtOverPFMet = bei.
book1D(
"monojet_PFJetPtOverPFMet",
"Pt of MonoJet/MET (GeV)", 40, 0.0, 5.);
204 monojet_deltaPhiPFJetPFMet = bei.
book1D(
"monojet_deltaPhiPFJetPFMet",
"#Delta#phi(MonoJet, PFMet)", 40, 0., 3.15);
205 monojet_PFchef = bei.
book1D(
"monojet_PFchef",
"MonojetJet CHEF", 50, 0.0, 1.0);
206 monojet_PFnhef = bei.
book1D(
"monojet_PFnhef",
"MonojetJet NHEF", 50, 0.0, 1.0);
207 monojet_PFcemf = bei.
book1D(
"monojet_PFcemf",
"MonojetJet CEMF", 50, 0.0, 1.0);
208 monojet_PFnemf = bei.
book1D(
"monojet_PFnemf",
"MonojetJet NEMF", 50, 0.0, 1.0);
209 monojet_PFJetMulti = bei.
book1D(
"monojet_PFJetMulti",
"No. of PFJets", 10, 0., 10.);
212 monomuon_Muon_pt = bei.
book1D(
"monomuon_Muon_pt",
"Pt of Monomuon (GeV)", 50, 30.0, 2000);
213 monomuon_Muon_eta = bei.
book1D(
"monomuon_Muon_eta",
"#eta(Monomuon)", 50, -2.5, 2.5);
214 monomuon_Muon_phi = bei.
book1D(
"monomuon_Muon_phi",
"#phi(Monomuon)", 50, -3.14, 3.14);
215 monomuon_Charge = bei.
book1D(
"monomuon_Charge",
"Charge of the MonoMuon", 10, -5., 5.);
216 monomuon_PFMet = bei.
book1D(
"monomuon_PFMet",
"Pt of PFMET (GeV)", 40, 0.0, 2000);
217 monomuon_PFMet_phi = bei.
book1D(
"monomuon_PFMet_phi",
"PFMET #phi", 50, -3.14, 3.14);
218 monomuon_MuonPtOverPFMet = bei.
book1D(
"monomuon_MuonPtOverPFMet",
"Pt of Monomuon/PFMet", 40, 0.0, 5.);
219 monomuon_deltaPhiMuonPFMet = bei.
book1D(
"monomuon_deltaPhiMuonPFMet",
"#Delta#phi(Monomuon, PFMet)", 40, 0., 3.15);
220 monomuon_TransverseMass = bei.
book1D(
"monomuon_TransverseMass",
"Transverse Mass M_{T} GeV", 40, 200., 3000.);
221 monomuon_MuonMulti = bei.
book1D(
"monomuon_MuonMulti",
"No. of Muons", 10, 0., 10.);
224 monoelectron_Electron_pt = bei.
book1D(
"monoelectron_Electron_pt",
"Pt of Monoelectron (GeV)", 50, 30.0, 4000);
225 monoelectron_Electron_eta = bei.
book1D(
"monoelectron_Electron_eta",
"#eta(MonoElectron)", 50, -2.5, 2.5);
226 monoelectron_Electron_phi = bei.
book1D(
"monoelectron_Electron_phi",
"#phi(MonoElectron)", 50, -3.14, 3.14);
227 monoelectron_Charge = bei.
book1D(
"monoelectron_Charge",
"Charge of the MonoElectron", 10, -5., 5.);
228 monoelectron_PFMet = bei.
book1D(
"monoelectron_PFMet",
"Pt of PFMET (GeV)", 40, 0.0, 4000);
229 monoelectron_PFMet_phi = bei.
book1D(
"monoelectron_PFMet_phi",
"PFMET #phi", 50, -3.14, 3.14);
230 monoelectron_ElectronPtOverPFMet =
231 bei.
book1D(
"monoelectron_ElectronPtOverPFMet",
"Pt of Monoelectron/PFMet", 40, 0.0, 5.);
232 monoelectron_deltaPhiElectronPFMet =
233 bei.
book1D(
"monoelectron_deltaPhiElectronPFMet",
"#Delta#phi(MonoElectron, PFMet)", 40, 0., 3.15);
234 monoelectron_TransverseMass = bei.
book1D(
"monoelectron_TransverseMass",
"Transverse Mass M_{T} GeV", 40, 200., 4000.);
235 monoelectron_ElectronMulti = bei.
book1D(
"monoelectron_ElectronMulti",
"No. of Electrons", 10, 0., 10.);
239 monophoton_Photon_energy = bei.
book1D(
"monophoton_Photon_energy",
"Energy of Leading Photon (GeV)", 50, 30.0, 1000);
240 monophoton_Photon_et = bei.
book1D(
"monophoton_Photon_et",
"Et of Leading Photon (GeV)", 50, 30.0, 1000);
241 monophoton_Photon_pt = bei.
book1D(
"monophoton_Photon_pt",
"Pt of Leading Photon (GeV)", 50, 30.0, 1000);
242 monophoton_Photon_eta = bei.
book1D(
"monophoton_Photon_eta",
"#eta (Leading Photon)", 50, -2.5, 2.5);
243 monophoton_Photon_etasc = bei.
book1D(
"monophoton_Photon_etasc",
"#eta sc(Leading Photon)", 50, -2.5, 2.5);
244 monophoton_Photon_phi = bei.
book1D(
"monophoton_Photon_phi",
"#phi(Leading Photon)", 50, -3.14, 3.14);
245 monophoton_Photon_hovere = bei.
book1D(
"monophoton_Photon_hovere",
"H/E (Leading Photon)", 50, 0., 0.50);
246 monophoton_Photon_sigmaietaieta =
247 bei.
book1D(
"monophoton_Photon_sigmaietaieta",
"#sigma_{i #eta i #eta} (Leading Photon)", 50, 0., 0.03);
248 monophoton_Photon_trksumptsolidconedr03 =
249 bei.
book1D(
"monophoton_Photon_trksumptsolidconedr03",
"TrkSumPtDr03 (Leading Photon)", 50, 0., 15.);
250 monophoton_Photon_e1x5e5x5 = bei.
book1D(
"monophoton_Photon_e1x5e5x5",
"E_{1x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
251 monophoton_Photon_e2x5e5x5 = bei.
book1D(
"monophoton_Photon_e2x5e5x5",
"E_{2x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
252 monophoton_PFMet = bei.
book1D(
"monophoton_PFMet",
"Pt of PFMET (GeV)", 40, 0.0, 1000);
253 monophoton_PFMet_phi = bei.
book1D(
"monophoton_PFMet_phi",
"PFMET #phi", 50, -3.14, 3.14);
254 monophoton_PhotonPtOverPFMet = bei.
book1D(
"monophoton_PhotonPtOverPFMet",
"Pt of Monophoton/PFMet", 40, 0.0, 5.);
255 monophoton_deltaPhiPhotonPFMet =
256 bei.
book1D(
"monophoton_deltaPhiPhotonPFMet",
"#Delta#phi(SubLeading Photon, PFMet)", 40, 0., 3.15);
257 monophoton_PhotonMulti = bei.
book1D(
"monophoton_PhotonMulti",
"No. of Photons", 10, 0., 10.);
261 dispElec_track_effi_lxy = bei.
bookProfile(
"dispElec_track_effi_lxy",
262 "Electron channel; transverse decay length (cm); track reco efficiency",
269 dispElec_elec_effi_lxy = bei.
bookProfile(
"dispElec_elec_effi_lxy",
270 "Electron channel; transverse decay length (cm); electron reco efficiency",
277 dispMuon_track_effi_lxy = bei.
bookProfile(
"dispMuon_track_effi_lxy",
278 "Muon channel; transverse decay length (cm); track reco efficiency",
285 dispMuon_muon_effi_lxy = bei.
bookProfile(
"dispMuon_muon_effi_lxy",
286 "Muon channel; transverse decay length (cm); muon reco efficiency",
293 dispMuon_muonDisp_effi_lxy =
295 "Muon channel; transverse decay length (cm); displacedMuon reco efficiency",
302 dispMuon_muonDispSA_effi_lxy =
304 "Muon channel; transverse decay length (cm); displacedSAMuon reco efficiency",
312 dispJet_track_effi_lxy = bei.
bookProfile(
"dispJet_track_effi_lxy",
313 "Jet channel; transverse decay length (cm); track reco efficiency",
331 bool ValidTriggers =
iEvent.getByToken(TriggerToken_, TriggerResults_);
336 bool ValidVertices =
iEvent.getByToken(VertexToken_, VertexCollection_);
341 bool ValidGedGsfElectron =
iEvent.getByToken(ElectronToken_, ElectronCollection_);
342 if (!ValidGedGsfElectron)
346 bool ValidPFMuon =
iEvent.getByToken(MuonToken_, MuonCollection_);
351 bool ValidPFJet =
iEvent.getByToken(PFJetToken_, pfJetCollection_);
352 pfjets = *pfJetCollection_;
357 bool ValidPFMET =
iEvent.getByToken(PFMETToken_, pfMETCollection_);
362 bool ValidCaloPhoton =
iEvent.getByToken(PhotonToken_, PhotonCollection_);
363 if (!ValidCaloPhoton)
367 bool ValidTracks =
iEvent.getByToken(TrackToken_, TrackCollection_);
372 iEvent.getByToken(MuonDispToken_, MuonDispCollection_);
373 iEvent.getByToken(MuonDispSAToken_, MuonDispSACollection_);
376 bool ValidGenParticles =
iEvent.getByToken(GenParticleToken_, GenCollection_);
379 bool ValidJetCorrector =
iEvent.getByToken(JetCorrectorToken_, JetCorrector_);
383 int N_Triggers = TriggerResults_->size();
384 int N_GoodTriggerPaths = HltPaths_.size();
385 bool triggered_event =
false;
387 for (
int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
388 if (TriggerResults_.product()->accept(i_Trig)) {
389 for (
int n = 0;
n < N_GoodTriggerPaths;
n++) {
390 if (
trigName.triggerName(i_Trig).find(HltPaths_[
n]) != std::string::npos) {
391 triggered_event =
true;
396 if (triggered_event ==
false)
399 for (
int i = 0;
i < 2;
i++) {
423 ElectronCharge[
i] = 0.;
425 PhotonEnergy[
i] = 0.;
431 PhotonHoverE[
i] = 0.;
432 PhotonSigmaIetaIeta[
i] = 0.;
433 PhotonTrkSumPtSolidConeDR03[
i] = 0.;
434 PhotonE1x5E5x5[
i] = 0.;
435 PhotonE2x5E5x5[
i] = 0.;
439 dijet_countPFJet_ = 0;
440 monojet_countPFJet_ = 0;
442 PFJetCollection::const_iterator pfjet_ = pfjets.begin();
443 for (; pfjet_ != pfjets.end(); ++pfjet_) {
445 if (ValidJetCorrector)
446 scale = JetCorrector_->correction(*pfjet_);
447 if (
scale * pfjet_->pt() > PFJetPt[0]) {
448 PFJetPt[1] = PFJetPt[0];
449 PFJetPx[1] = PFJetPx[0];
450 PFJetPy[1] = PFJetPy[0];
451 PFJetEta[1] = PFJetEta[0];
452 PFJetPhi[1] = PFJetPhi[0];
453 PFJetRapidity[1] = PFJetRapidity[0];
454 PFJetMass[1] = PFJetMass[0];
455 PFJetNHEF[1] = PFJetNHEF[0];
456 PFJetCHEF[1] = PFJetCHEF[0];
457 PFJetNEMF[1] = PFJetNEMF[0];
458 PFJetCEMF[1] = PFJetCEMF[0];
460 PFJetPt[0] =
scale * pfjet_->pt();
461 PFJetPx[0] =
scale * pfjet_->px();
462 PFJetPy[0] =
scale * pfjet_->py();
463 PFJetEta[0] = pfjet_->eta();
464 PFJetPhi[0] = pfjet_->phi();
465 PFJetRapidity[0] = pfjet_->rapidity();
466 PFJetMass[0] = pfjet_->mass();
467 PFJetNHEF[0] = pfjet_->neutralHadronEnergyFraction();
468 PFJetCHEF[0] = pfjet_->chargedHadronEnergyFraction();
469 PFJetNEMF[0] = pfjet_->neutralEmEnergyFraction();
470 PFJetCEMF[0] = pfjet_->chargedEmEnergyFraction();
471 }
else if (
scale * pfjet_->pt() < PFJetPt[0] &&
scale * pfjet_->pt() > PFJetPt[1]) {
472 PFJetPt[1] =
scale * pfjet_->pt();
473 PFJetPx[1] =
scale * pfjet_->px();
474 PFJetPy[1] =
scale * pfjet_->py();
475 PFJetEta[1] = pfjet_->eta();
476 PFJetPhi[1] = pfjet_->phi();
477 PFJetRapidity[1] = pfjet_->rapidity();
478 PFJetMass[1] = pfjet_->mass();
479 PFJetNHEF[1] = pfjet_->neutralHadronEnergyFraction();
480 PFJetCHEF[1] = pfjet_->chargedHadronEnergyFraction();
481 PFJetNEMF[1] = pfjet_->neutralEmEnergyFraction();
482 PFJetCEMF[1] = pfjet_->chargedEmEnergyFraction();
485 if (
scale * pfjet_->pt() > dijet_PFJet1_pt_cut_)
487 if (
scale * pfjet_->pt() > dijet_PFJet1_pt_cut_)
488 monojet_countPFJet_++;
492 reco::VertexCollection::const_iterator primaryVertex_ =
vertexCollection.begin();
494 dimuon_countMuon_ = 0;
495 monomuon_countMuon_ = 0;
496 reco::MuonCollection::const_iterator muon_ = MuonCollection_->begin();
497 for (; muon_ != MuonCollection_->end(); muon_++) {
500 if (muon_->isGlobalMuon() && muon_->globalTrack()->hitPattern().numberOfValidMuonHits() > 0 &&
501 muon_->numberOfMatchedStations() > 1 && muon_->innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5 &&
502 muon_->innerTrack()->hitPattern().numberOfValidPixelHits() > 0 &&
503 muon_->muonBestTrack()->ptError() / muon_->muonBestTrack()->pt() < 0.3 &&
504 fabs(muon_->muonBestTrack()->dxy(primaryVertex_->position())) < 0.2 &&
505 fabs(muon_->bestTrack()->dz(primaryVertex_->position())) < 0.5 && fabs(muon_->eta()) < 2.1)
508 if (HighPt ==
true) {
509 if (muon_->pt() > MuonPt[0]) {
510 MuonPt[1] = MuonPt[0];
511 MuonPx[1] = MuonPx[0];
512 MuonPy[1] = MuonPy[0];
513 MuonEta[1] = MuonEta[0];
514 MuonPhi[1] = MuonPhi[0];
515 MuonCharge[1] = MuonCharge[0];
517 MuonPt[0] = muon_->pt();
518 MuonPx[0] = muon_->px();
519 MuonPy[0] = muon_->py();
520 MuonEta[0] = muon_->eta();
521 MuonPhi[0] = muon_->phi();
522 MuonCharge[0] = muon_->charge();
523 }
else if (muon_->pt() > MuonPt[1] && muon_->pt() < MuonPt[0]) {
524 MuonPt[1] = muon_->pt();
525 MuonPx[1] = muon_->px();
526 MuonPy[1] = muon_->py();
527 MuonEta[1] = muon_->eta();
528 MuonPhi[1] = muon_->phi();
529 MuonCharge[1] = muon_->charge();
532 if (muon_->pt() > dimuon_Muon1_pt_cut_)
534 if (muon_->pt() > monomuon_Muon_pt_cut_)
535 monomuon_countMuon_++;
538 dielectron_countElectron_ = 0;
539 monoelectron_countElectron_ = 0;
540 reco::GsfElectronCollection::const_iterator electron_ = ElectronCollection_->begin();
541 for (; electron_ != ElectronCollection_->end(); electron_++) {
543 if (electron_->e5x5() <= 0)
545 if (electron_->gsfTrack().isNull())
547 bool HEPP_ele =
false;
548 double sceta = electron_->caloPosition().eta();
549 double dEtaIn = fabs(electron_->deltaEtaSuperClusterTrackAtVtx());
550 double dPhiIn = fabs(electron_->deltaPhiSuperClusterTrackAtVtx());
551 double HoverE = electron_->hadronicOverEm();
552 int missingHits = electron_->gsfTrack()->hitPattern().numberOfLostTrackerHits(HitPattern::MISSING_INNER_HITS);
553 double dxy = electron_->gsfTrack()->dxy(primaryVertex_->position());
554 double tkIso = electron_->dr03TkSumPt();
555 double e2x5Fraction = electron_->e2x5Max() / electron_->e5x5();
556 double e1x5Fraction = electron_->e1x5() / electron_->e5x5();
557 double scSigmaIetaIeta = electron_->scSigmaIEtaIEta();
558 if (electron_->ecalDriven() && electron_->pt() > 35.) {
559 if (fabs(sceta) < 1.442) {
560 if (fabs(
dEtaIn) < 0.005 && fabs(
dPhiIn) < 0.06 && HoverE < 0.05 && tkIso < 5. && missingHits <= 1 &&
561 fabs(
dxy) < 0.02 && (e2x5Fraction > 0.94 || e1x5Fraction > 0.83))
563 }
else if (fabs(sceta) > 1.56 && fabs(sceta) < 2.5) {
564 if (fabs(
dEtaIn) < 0.007 && fabs(
dPhiIn) < 0.06 && HoverE < 0.05 && tkIso < 5. && missingHits <= 1 &&
565 fabs(
dxy) < 0.02 && scSigmaIetaIeta < 0.03)
570 if (HEPP_ele ==
false)
572 if (electron_->pt() > ElectronPt[0]) {
573 ElectronPt[1] = ElectronPt[0];
574 ElectronPx[1] = ElectronPx[0];
575 ElectronPy[1] = ElectronPy[0];
576 ElectronEta[1] = ElectronEta[0];
577 ElectronPhi[1] = ElectronPhi[0];
578 ElectronCharge[1] = ElectronCharge[0];
580 ElectronPt[0] = electron_->pt();
581 ElectronPx[0] = electron_->px();
582 ElectronPy[0] = electron_->py();
583 ElectronEta[0] = electron_->eta();
584 ElectronPhi[0] = electron_->phi();
585 ElectronCharge[0] = electron_->charge();
586 }
else if (electron_->pt() > ElectronPt[1] && electron_->pt() < ElectronPt[0]) {
587 ElectronPt[1] = electron_->pt();
588 ElectronPx[1] = electron_->px();
589 ElectronPy[1] = electron_->py();
590 ElectronEta[1] = electron_->eta();
591 ElectronPhi[1] = electron_->phi();
592 ElectronCharge[1] = electron_->charge();
594 if (electron_->pt() > dielectron_Electron1_pt_cut_)
595 dielectron_countElectron_++;
596 if (electron_->pt() > monoelectron_Electron_pt_cut_)
597 monoelectron_countElectron_++;
600 diphoton_countPhoton_ = 0.;
601 reco::PhotonCollection::const_iterator photon_ = PhotonCollection_->begin();
602 for (; photon_ != PhotonCollection_->end(); ++photon_) {
603 if (photon_->pt() > PhotonPt[0]) {
604 PhotonEnergy[1] = PhotonEnergy[0];
605 PhotonPt[1] = PhotonPt[0];
606 PhotonEt[1] = PhotonEt[0];
607 PhotonEta[1] = PhotonEta[0];
608 PhotonEtaSc[1] = PhotonEtaSc[0];
609 PhotonPhi[1] = PhotonPhi[0];
610 PhotonHoverE[1] = PhotonHoverE[0];
611 PhotonSigmaIetaIeta[1] = PhotonSigmaIetaIeta[0];
612 PhotonTrkSumPtSolidConeDR03[1] = PhotonTrkSumPtSolidConeDR03[0];
613 PhotonE1x5E5x5[1] = PhotonE1x5E5x5[0];
614 PhotonE2x5E5x5[1] = PhotonE2x5E5x5[0];
615 PhotonEnergy[0] = photon_->energy();
616 PhotonPt[0] = photon_->pt();
617 PhotonEt[0] = photon_->et();
618 PhotonEta[0] = photon_->eta();
619 PhotonEtaSc[0] = photon_->caloPosition().eta();
620 PhotonPhi[0] = photon_->phi();
621 PhotonHoverE[0] = photon_->hadronicOverEm();
622 PhotonSigmaIetaIeta[0] = photon_->sigmaIetaIeta();
623 PhotonTrkSumPtSolidConeDR03[0] = photon_->trkSumPtSolidConeDR03();
624 PhotonE1x5E5x5[0] = photon_->e1x5() / photon_->e5x5();
625 PhotonE2x5E5x5[0] = photon_->e2x5() / photon_->e5x5();
626 }
else if (photon_->pt() > PhotonPt[1] && photon_->pt() < PhotonPt[0]) {
627 PhotonEnergy[1] = photon_->energy();
628 PhotonPt[1] = photon_->pt();
629 PhotonEt[1] = photon_->et();
630 PhotonEta[1] = photon_->eta();
631 PhotonEtaSc[1] = photon_->caloPosition().eta();
632 PhotonPhi[1] = photon_->phi();
633 PhotonHoverE[1] = photon_->hadronicOverEm();
634 PhotonSigmaIetaIeta[1] = photon_->sigmaIetaIeta();
635 PhotonTrkSumPtSolidConeDR03[1] = photon_->trkSumPtSolidConeDR03();
636 PhotonE1x5E5x5[1] = photon_->e1x5() / photon_->e5x5();
637 PhotonE2x5E5x5[1] = photon_->e2x5() / photon_->e5x5();
639 if (photon_->pt() > diphoton_Photon1_pt_cut_)
640 diphoton_countPhoton_++;
650 analyzeDiElectrons(
iEvent);
656 analyzeMonoElectrons(
iEvent);
659 if (ValidGenParticles) {
660 analyzeDisplacedLeptons(
iEvent, iSetup);
661 analyzeDisplacedJets(
iEvent, iSetup);
670 const unsigned int stop1 = 1000006;
671 const unsigned int stop2 = 2000006;
672 const float deltaRcut = 0.01;
673 const float invPtcut = 0.1;
678 unsigned int idPdg =
abs(
gen.pdgId());
680 if (idPdg == stop1 || idPdg == stop2) {
681 unsigned int nDau =
gen.numberOfDaughters();
682 for (
unsigned int i = 0;
i < nDau;
i++) {
685 if (fabs(dau->
eta()) < dispFermion_eta_cut_ && dau->
pt() > dispFermion_pt_cut_) {
686 unsigned int pdgIdDau =
abs(dau->
pdgId());
688 if (pdgIdDau == 11 || pdgIdDau == 13) {
691 float lxy = dau->
vertex().rho();
694 GlobalVector genP = this->getGenParticleTrajectoryAtBeamline(iSetup, dau);
696 if (pdgIdDau == 11) {
699 bool recoedTrk =
false;
701 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1 / dau->
pt() - 1 / trk.pt()) < invPtcut) {
706 dispElec_track_effi_lxy->Fill(lxy, recoedTrk);
709 bool recoedE =
false;
711 if (
reco::deltaR(genP, eReco) < deltaRcut && fabs(1 / dau->
pt() - 1 / eReco.pt()) < invPtcut)
714 dispElec_elec_effi_lxy->Fill(lxy, recoedE);
716 }
else if (pdgIdDau == 13) {
719 bool recoedTrk =
false;
721 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1 / dau->
pt() - 1 / trk.pt()) < invPtcut) {
726 dispMuon_track_effi_lxy->Fill(lxy, recoedTrk);
729 bool recoedMu =
false;
730 for (
const reco::Muon& muReco : *MuonCollection_) {
731 if (
reco::deltaR(genP, muReco) < deltaRcut && fabs(1 / dau->
pt() - 1 / muReco.pt()) < invPtcut)
734 dispMuon_muon_effi_lxy->Fill(lxy, recoedMu);
737 bool recoedMuDisp =
false;
738 for (
const reco::Track& muDispReco : *MuonDispCollection_) {
739 if (
reco::deltaR(genP, muDispReco) < deltaRcut && fabs(1 / dau->
pt() - 1 / muDispReco.pt()) < invPtcut)
742 dispMuon_muonDisp_effi_lxy->Fill(lxy, recoedMuDisp);
745 bool recoedMuDispSA =
false;
746 for (
const reco::Track& muDispSAReco : *MuonDispSACollection_) {
748 fabs(1 / dau->
pt() - 1 / muDispSAReco.pt()) < invPtcut)
749 recoedMuDispSA =
true;
751 dispMuon_muonDispSA_effi_lxy->Fill(lxy, recoedMuDispSA);
766 auto isRhadron = [](
unsigned int pdgId) {
return (
pdgId / 100) == 10006 || (
pdgId / 1000) == 1006; };
768 const float deltaRcut = 0.01;
769 const float invPtcut = 0.1;
774 unsigned int idPdg =
abs(
gen.pdgId());
776 if (idPdg == 11 || idPdg == 13 || idPdg == 211 || idPdg == 321 || idPdg == 2212) {
778 if (fabs(
gen.eta()) < dispFermion_eta_cut_ &&
gen.pt() > dispFermion_pt_cut_) {
782 bool foundParton =
false;
785 unsigned int idPdgMoth =
abs(genMoth->
pdgId());
788 if ((idPdgMoth >= 1 && idPdgMoth <= 6) || idPdgMoth == 21)
791 if (isRhadron(idPdgMoth)) {
792 genRhadron = genMoth;
797 if (foundParton && genRhadron !=
nullptr) {
803 GlobalVector genP = this->getGenParticleTrajectoryAtBeamline(iSetup, &
gen);
806 bool recoedTrk =
false;
808 if (
reco::deltaR(genP, trk) < deltaRcut && fabs(1 /
gen.pt() - 1 / trk.pt()) < invPtcut) {
813 dispJet_track_effi_lxy->Fill(lxy, recoedTrk);
844 for (
unsigned int icoll = 0;
icoll < DiJetPFJetCollection_.size(); ++
icoll) {
845 dijet_countPFJet_ = 0;
846 bool ValidDiJetPFJets =
iEvent.getByToken(DiJetPFJetToken_[
icoll], DiJetpfJetCollection_);
847 if (!ValidDiJetPFJets)
849 DiJetpfjets = *DiJetpfJetCollection_;
850 for (
int i = 0;
i < 2;
i++) {
861 PFJetCollection::const_iterator DiJetpfjet_ = DiJetpfjets.begin();
862 for (; DiJetpfjet_ != DiJetpfjets.end(); ++DiJetpfjet_) {
864 if (
scale * DiJetpfjet_->pt() > PFJetPt[0]) {
865 PFJetPt[1] = PFJetPt[0];
866 PFJetPx[1] = PFJetPx[0];
867 PFJetPy[1] = PFJetPy[0];
868 PFJetEta[1] = PFJetEta[0];
869 PFJetPhi[1] = PFJetPhi[0];
870 PFJetRapidity[1] = DiJetpfjet_->rapidity();
871 PFJetMass[1] = DiJetpfjet_->mass();
872 PFJetNHEF[1] = PFJetNHEF[0];
873 PFJetCHEF[1] = PFJetCHEF[0];
874 PFJetNEMF[1] = PFJetNEMF[0];
875 PFJetCEMF[1] = PFJetCEMF[0];
876 PFJetPt[0] =
scale * DiJetpfjet_->pt();
877 PFJetPx[0] =
scale * DiJetpfjet_->px();
878 PFJetPy[0] =
scale * DiJetpfjet_->py();
879 PFJetEta[0] = DiJetpfjet_->eta();
880 PFJetPhi[0] = DiJetpfjet_->phi();
881 PFJetRapidity[0] = DiJetpfjet_->rapidity();
882 PFJetMass[0] = DiJetpfjet_->mass();
883 PFJetNHEF[0] = DiJetpfjet_->neutralHadronEnergyFraction();
884 PFJetCHEF[0] = DiJetpfjet_->chargedHadronEnergyFraction();
885 PFJetNEMF[0] = DiJetpfjet_->neutralEmEnergyFraction();
886 PFJetCEMF[0] = DiJetpfjet_->chargedEmEnergyFraction();
887 }
else if (
scale * DiJetpfjet_->pt() < PFJetPt[0] &&
scale * DiJetpfjet_->pt() > PFJetPt[1]) {
888 PFJetPt[1] =
scale * DiJetpfjet_->pt();
889 PFJetPx[1] =
scale * DiJetpfjet_->px();
890 PFJetPy[1] =
scale * DiJetpfjet_->py();
891 PFJetEta[1] = DiJetpfjet_->eta();
892 PFJetPhi[1] = DiJetpfjet_->phi();
893 PFJetRapidity[1] = DiJetpfjet_->rapidity();
894 PFJetMass[1] = DiJetpfjet_->mass();
895 PFJetNHEF[1] = DiJetpfjet_->neutralHadronEnergyFraction();
896 PFJetCHEF[1] = DiJetpfjet_->chargedHadronEnergyFraction();
897 PFJetNEMF[1] = DiJetpfjet_->neutralEmEnergyFraction();
898 PFJetCEMF[1] = DiJetpfjet_->chargedEmEnergyFraction();
901 if (
scale * DiJetpfjet_->pt() > dijet_PFJet1_pt_cut_)
904 if (PFJetPt[0] > dijet_PFJet1_pt_cut_ && PFJetPt[1] > dijet_PFJet2_pt_cut_) {
905 dijet_PFJet_pt[
icoll]->Fill(PFJetPt[0]);
906 dijet_PFJet_eta[
icoll]->Fill(PFJetEta[0]);
907 dijet_PFJet_phi[
icoll]->Fill(PFJetPhi[0]);
908 dijet_PFJet_rapidity[
icoll]->Fill(PFJetRapidity[0]);
909 dijet_PFJet_mass[
icoll]->Fill(PFJetMass[0]);
910 dijet_PFJet_pt[
icoll]->Fill(PFJetPt[1]);
911 dijet_PFJet_eta[
icoll]->Fill(PFJetEta[1]);
912 dijet_PFJet_phi[
icoll]->Fill(PFJetPhi[1]);
913 dijet_PFJet_rapidity[
icoll]->Fill(PFJetRapidity[1]);
914 dijet_PFJet_mass[
icoll]->Fill(PFJetMass[1]);
915 dijet_deltaPhiPFJet1PFJet2[
icoll]->Fill(
deltaPhi(PFJetPhi[0], PFJetPhi[1]));
916 dijet_deltaEtaPFJet1PFJet2[
icoll]->Fill(PFJetEta[0] - PFJetEta[1]);
917 dijet_deltaRPFJet1PFJet2[
icoll]->Fill(
deltaR(PFJetEta[0], PFJetPhi[0], PFJetEta[1], PFJetPhi[1]));
918 dijet_invMassPFJet1PFJet2[
icoll]->Fill(
919 sqrt(2 * PFJetPt[0] * PFJetPt[1] * (cosh(PFJetEta[0] - PFJetEta[1]) -
cos(PFJetPhi[0] - PFJetPhi[1]))));
920 dijet_PFchef[
icoll]->Fill(PFJetCHEF[0]);
921 dijet_PFnhef[
icoll]->Fill(PFJetNHEF[0]);
922 dijet_PFcemf[
icoll]->Fill(PFJetCEMF[0]);
923 dijet_PFnemf[
icoll]->Fill(PFJetNEMF[0]);
924 dijet_PFJetMulti[
icoll]->Fill(dijet_countPFJet_);
930 if (MuonPt[0] > dimuon_Muon1_pt_cut_ && MuonPt[1] > dimuon_Muon2_pt_cut_ && MuonCharge[0] * MuonCharge[1] == -1) {
931 dimuon_Muon_pt->Fill(MuonPt[0]);
932 dimuon_Muon_eta->Fill(MuonEta[0]);
933 dimuon_Muon_phi->Fill(MuonPhi[0]);
934 dimuon_Muon_pt->Fill(MuonPt[1]);
935 dimuon_Muon_eta->Fill(MuonEta[1]);
936 dimuon_Muon_phi->Fill(MuonPhi[1]);
937 dimuon_Charge->Fill(MuonCharge[0]);
938 dimuon_Charge->Fill(MuonCharge[1]);
939 dimuon_deltaPhiMuon1Muon2->Fill(
deltaPhi(MuonPhi[0], MuonPhi[1]));
940 dimuon_deltaEtaMuon1Muon2->Fill(MuonEta[0] - MuonEta[1]);
941 dimuon_deltaRMuon1Muon2->Fill(
deltaR(MuonEta[0], MuonPhi[0], MuonEta[1], MuonPhi[1]));
942 dimuon_invMassMuon1Muon2->Fill(
943 sqrt(2 * MuonPt[0] * MuonPt[1] * (cosh(MuonEta[0] - MuonEta[1]) -
cos(MuonPhi[0] - MuonPhi[1]))));
944 dimuon_MuonMulti->Fill(dimuon_countMuon_);
949 if (ElectronPt[0] > dielectron_Electron1_pt_cut_ && ElectronPt[1] > dielectron_Electron2_pt_cut_ &&
950 ElectronCharge[0] * ElectronCharge[1] == -1.) {
951 dielectron_Electron_pt->Fill(ElectronPt[0]);
952 dielectron_Electron_eta->Fill(ElectronEta[0]);
953 dielectron_Electron_phi->Fill(ElectronPhi[0]);
954 dielectron_Electron_pt->Fill(ElectronPt[1]);
955 dielectron_Electron_eta->Fill(ElectronEta[1]);
956 dielectron_Electron_phi->Fill(ElectronPhi[1]);
957 dielectron_Charge->Fill(ElectronCharge[0]);
958 dielectron_Charge->Fill(ElectronCharge[1]);
959 dielectron_deltaPhiElectron1Electron2->Fill(
deltaPhi(ElectronPhi[0], ElectronPhi[1]));
960 dielectron_deltaEtaElectron1Electron2->Fill(ElectronEta[0] - ElectronEta[1]);
961 dielectron_deltaRElectron1Electron2->Fill(
deltaR(ElectronEta[0], ElectronPhi[0], ElectronEta[1], ElectronPhi[1]));
962 dielectron_invMassElectron1Electron2->Fill(
963 sqrt(2 * ElectronPt[0] * ElectronPt[1] *
964 (cosh(ElectronEta[0] - ElectronEta[1]) -
cos(ElectronPhi[0] - ElectronPhi[1]))));
965 dielectron_ElectronMulti->Fill(dielectron_countElectron_);
970 if (PhotonPt[0] > diphoton_Photon1_pt_cut_ && PhotonPt[1] > diphoton_Photon2_pt_cut_) {
971 diphoton_Photon_energy->Fill(PhotonEnergy[0]);
972 diphoton_Photon_pt->Fill(PhotonPt[0]);
973 diphoton_Photon_et->Fill(PhotonEt[0]);
974 diphoton_Photon_eta->Fill(PhotonEta[0]);
975 diphoton_Photon_etasc->Fill(PhotonEtaSc[0]);
976 diphoton_Photon_phi->Fill(PhotonPhi[0]);
977 if (fabs(PhotonEtaSc[0]) < 1.442) {
978 diphoton_Photon_hovere_eb->Fill(PhotonHoverE[0]);
979 diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[0]);
980 diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[0]);
981 diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[0]);
982 diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[0]);
984 if (fabs(PhotonEtaSc[0]) > 1.566 && fabs(PhotonEtaSc[0]) < 2.5) {
985 diphoton_Photon_hovere_ee->Fill(PhotonHoverE[0]);
986 diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[0]);
987 diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[0]);
988 diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[0]);
989 diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[0]);
991 diphoton_Photon_energy->Fill(PhotonEnergy[1]);
992 diphoton_Photon_pt->Fill(PhotonPt[1]);
993 diphoton_Photon_et->Fill(PhotonEt[1]);
994 diphoton_Photon_eta->Fill(PhotonEta[1]);
995 diphoton_Photon_etasc->Fill(PhotonEtaSc[1]);
996 diphoton_Photon_phi->Fill(PhotonPhi[1]);
997 if (fabs(PhotonEtaSc[1]) < 1.4442) {
998 diphoton_Photon_hovere_eb->Fill(PhotonHoverE[1]);
999 diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[1]);
1000 diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[1]);
1001 diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[1]);
1002 diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[1]);
1004 if (fabs(PhotonEtaSc[1]) > 1.566 && fabs(PhotonEtaSc[1]) < 2.5) {
1005 diphoton_Photon_hovere_ee->Fill(PhotonHoverE[1]);
1006 diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[1]);
1007 diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[1]);
1008 diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[1]);
1009 diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[1]);
1011 diphoton_deltaPhiPhoton1Photon2->Fill(
deltaPhi(PhotonPhi[0], PhotonPhi[1]));
1012 diphoton_deltaEtaPhoton1Photon2->Fill(PhotonEta[0] - PhotonEta[1]);
1013 diphoton_deltaRPhoton1Photon2->Fill(
deltaR(PhotonEta[0], PhotonPhi[0], PhotonEta[1], PhotonPhi[1]));
1014 diphoton_invMassPhoton1Photon2->Fill(
1015 sqrt(2 * PhotonPt[0] * PhotonPt[1] * (cosh(PhotonEta[0] - PhotonEta[1]) -
cos(PhotonPhi[0] - PhotonPhi[1]))));
1016 diphoton_PhotonMulti->Fill(diphoton_countPhoton_);
1022 const PFMET pfmet = pfmetcol->front();
1023 if (PFJetPt[0] > monojet_PFJet_pt_cut_ && pfmet.
et() > monojet_PFJet_met_cut_) {
1024 monojet_PFJet_pt->Fill(PFJetPt[0]);
1025 monojet_PFJet_eta->Fill(PFJetEta[0]);
1026 monojet_PFJet_phi->Fill(PFJetPhi[0]);
1027 monojet_PFMet->Fill(pfmet.
et());
1028 monojet_PFMet_phi->Fill(pfmet.
phi());
1029 monojet_PFJetPtOverPFMet->Fill(PFJetPt[0] / pfmet.
et());
1030 monojet_deltaPhiPFJetPFMet->Fill(
deltaPhi(PFJetPhi[0], pfmet.
phi()));
1031 monojet_PFchef->Fill(PFJetCHEF[0]);
1032 monojet_PFnhef->Fill(PFJetNHEF[0]);
1033 monojet_PFcemf->Fill(PFJetCEMF[0]);
1034 monojet_PFnemf->Fill(PFJetNEMF[0]);
1035 monojet_PFJetMulti->Fill(monojet_countPFJet_);
1041 const PFMET pfmet = pfmetcol->front();
1042 if (MuonPt[0] > monomuon_Muon_pt_cut_ && pfmet.
et() > monomuon_Muon_met_cut_) {
1043 monomuon_Muon_pt->Fill(MuonPt[0]);
1044 monomuon_Muon_eta->Fill(MuonEta[0]);
1045 monomuon_Muon_phi->Fill(MuonPhi[0]);
1046 monomuon_Charge->Fill(MuonCharge[0]);
1047 monomuon_PFMet->Fill(pfmet.
et());
1048 monomuon_PFMet_phi->Fill(pfmet.
phi());
1049 monomuon_MuonPtOverPFMet->Fill(MuonPt[0] / pfmet.
et());
1050 monomuon_deltaPhiMuonPFMet->Fill(
deltaPhi(MuonPhi[0], pfmet.
phi()));
1051 monomuon_TransverseMass->Fill(
sqrt(2 * MuonPt[0] * pfmet.
et() * (1 -
cos(
deltaPhi(MuonPhi[0], pfmet.
phi())))));
1052 monomuon_MuonMulti->Fill(monomuon_countMuon_);
1058 const PFMET pfmet = pfmetcol->front();
1059 if (ElectronPt[0] > monoelectron_Electron_pt_cut_ && pfmet.
et() > monoelectron_Electron_met_cut_) {
1060 monoelectron_Electron_pt->Fill(ElectronPt[0]);
1061 monoelectron_Electron_eta->Fill(ElectronEta[0]);
1062 monoelectron_Electron_phi->Fill(ElectronPhi[0]);
1063 monoelectron_Charge->Fill(ElectronCharge[0]);
1064 monoelectron_PFMet->Fill(pfmet.
et());
1065 monoelectron_PFMet_phi->Fill(pfmet.
phi());
1066 monoelectron_ElectronPtOverPFMet->Fill(ElectronPt[0] / pfmet.
et());
1067 monoelectron_deltaPhiElectronPFMet->Fill(
deltaPhi(ElectronPhi[0], pfmet.
phi()));
1068 monoelectron_TransverseMass->Fill(
1070 monoelectron_ElectronMulti->Fill(monoelectron_countElectron_);
1076 const PFMET pfmet = pfmetcol->front();
1077 if (PhotonPt[0] > monophoton_Photon_pt_cut_ && pfmet.
et() > monophoton_Photon_met_cut_) {
1078 monophoton_Photon_energy->Fill(PhotonEnergy[0]);
1079 monophoton_Photon_pt->Fill(PhotonPt[0]);
1080 monophoton_Photon_et->Fill(PhotonEt[0]);
1081 monophoton_Photon_eta->Fill(PhotonEta[0]);
1082 monophoton_Photon_etasc->Fill(PhotonEtaSc[0]);
1083 monophoton_Photon_phi->Fill(PhotonPhi[0]);
1084 monophoton_Photon_hovere->Fill(PhotonHoverE[0]);
1085 monophoton_Photon_sigmaietaieta->Fill(PhotonSigmaIetaIeta[0]);
1086 monophoton_Photon_trksumptsolidconedr03->Fill(PhotonTrkSumPtSolidConeDR03[0]);
1087 monophoton_Photon_e1x5e5x5->Fill(PhotonE1x5E5x5[0]);
1088 monophoton_Photon_e2x5e5x5->Fill(PhotonE2x5E5x5[0]);
1089 monophoton_PFMet->Fill(pfmet.
et());
1090 monophoton_PFMet_phi->Fill(pfmet.
phi());
1091 monophoton_PhotonPtOverPFMet->Fill(PhotonPt[0] / pfmet.
et());
1092 monophoton_deltaPhiPhotonPFMet->Fill(
deltaPhi(PhotonPhi[0], pfmet.
phi()));
1093 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
const Candidate * mother(size_type=0) const override
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
virtual void analyzeMonoMuons(edm::Event const &e)
double pt() const final
transverse momentum
ExoticaDQM(const edm::ParameterSet &ps)
virtual void setCurrentFolder(std::string const &fullpath)
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
virtual void analyzeMonoJets(edm::Event const &e)
Global3DPoint GlobalPoint
virtual void analyzeDiMuons(edm::Event const &e)
std::vector< Vertex > VertexCollection
collection of Vertex objects
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
const Point & vertex() const override
vertex position (overwritten by PF...)
size_t numberOfMothers() const override
number of mothers
virtual void analyzeDisplacedJets(edm::Event const &e, const edm::EventSetup &s)
T getUntrackedParameter(std::string const &, T const &) const
virtual GlobalVector getGenParticleTrajectoryAtBeamline(const edm::EventSetup &iSetup, const reco::GenParticle *gen)
int pdgId() const final
PDG identifier.
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
virtual void analyzeDiPhotons(edm::Event const &e)
Cos< T >::type cos(const T &t)
virtual void analyzeDisplacedLeptons(edm::Event const &e, const edm::EventSetup &s)
GlobalVector momentum() const
Abs< T >::type abs(const T &t)
virtual const Point & vertex() const =0
vertex position
FTS const & trackStateAtPCA() const
bool getData(T &iHolder) const
def gen(fragment, howMuch)
Production test section ####.
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
virtual void analyzeMonoPhotons(edm::Event const &e)
Log< level::Info, false > LogInfo
double et() const final
transverse energy
virtual void analyzeDiElectrons(edm::Event const &e)
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
double phi() const final
momentum azimuthal angle
std::vector< std::string > vstring
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
Global3DVector GlobalVector
double eta() const final
momentum pseudorapidity