CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ExoticaDQM.cc
Go to the documentation of this file.
2 
3 using namespace edm;
4 using namespace std;
5 using namespace reco;
6 using namespace trigger;
7 
8 typedef vector<string> vstring;
9 
10 //
11 // -- Constructor
12 //
14 
15  edm::LogInfo("ExoticaDQM") << " Starting ExoticaDQM " << "\n" ;
16 
17  typedef std::vector<edm::InputTag> vtag;
18 
19  // Get parameters from configuration file
20  // Trigger
21  TriggerToken_ = consumes<TriggerResults>(
22  ps.getParameter<edm::InputTag>("TriggerResults"));
23  HltPaths_ = ps.getParameter<vector<string> >("HltPaths");
24  //
25  VertexToken_ = consumes<reco::VertexCollection>(
26  ps.getParameter<InputTag>("vertexCollection"));
27  //
28  ElectronToken_ = consumes<reco::GsfElectronCollection>(
29  ps.getParameter<InputTag>("electronCollection"));
30  //
31  MuonToken_ = consumes<reco::MuonCollection>(
32  ps.getParameter<InputTag>("muonCollection"));
33  //
34  PhotonToken_ = consumes<reco::PhotonCollection>(
35  ps.getParameter<InputTag>("photonCollection"));
36  //
37  PFJetToken_ = consumes<reco::PFJetCollection>(
38  ps.getParameter<InputTag>("pfJetCollection"));
39  //
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));
43  }
44  //
45  PFMETToken_ = consumes<reco::PFMETCollection>(
46  ps.getParameter<InputTag>("pfMETCollection"));
47  //
48  ecalBarrelRecHitToken_ = consumes<EBRecHitCollection>(
49  ps.getUntrackedParameter<InputTag>("ecalBarrelRecHit", InputTag("reducedEcalRecHitsEB")));
50  //
51  ecalEndcapRecHitToken_ = consumes<EERecHitCollection>(
52  ps.getUntrackedParameter<InputTag>("ecalEndcapRecHit", InputTag("reducedEcalRecHitsEE")));
53 
54  JetCorrectorToken_ = consumes<reco::JetCorrector>(
55  ps.getParameter<edm::InputTag>("jetCorrector"));
56 
57  //Cuts - MultiJets
58  jetID = new reco::helper::JetIDHelper(ps.getParameter<ParameterSet>("JetIDParams"), consumesCollector());
59 
60  //Varibles and Cuts for each Module:
61  //Dijet
62  dijet_PFJet1_pt_cut_ = ps.getParameter<double>("dijet_PFJet1_pt_cut");
63  dijet_PFJet2_pt_cut_ = ps.getParameter<double>("dijet_PFJet2_pt_cut");
64  //DiMuon
65  dimuon_Muon1_pt_cut_ = ps.getParameter<double>("dimuon_Muon1_pt_cut");
66  dimuon_Muon2_pt_cut_ = ps.getParameter<double>("dimuon_Muon2_pt_cut");
67  //DiElectron
68  dielectron_Electron1_pt_cut_ = ps.getParameter<double>("dielectron_Electron2_pt_cut");
69  dielectron_Electron2_pt_cut_ = ps.getParameter<double>("dielectron_Electron2_pt_cut");
70  //DiPhoton
71  diphoton_Photon1_pt_cut_ = ps.getParameter<double>("diphoton_Photon2_pt_cut");
72  diphoton_Photon2_pt_cut_ = ps.getParameter<double>("diphoton_Photon2_pt_cut");
73  //MonoJet
74  monojet_PFJet_pt_cut_ = ps.getParameter<double>("monojet_PFJet_pt_cut");
75  monojet_PFJet_met_cut_ = ps.getParameter<double>("monojet_PFJet_met_cut");
76  //MonoMuon
77  monomuon_Muon_pt_cut_ = ps.getParameter<double>("monomuon_Muon_pt_cut");
78  monomuon_Muon_met_cut_ = ps.getParameter<double>("monomuon_Muon_met_cut");
79  //MonoElectron
80  monoelectron_Electron_pt_cut_ = ps.getParameter<double>("monoelectron_Electron_pt_cut");
81  monoelectron_Electron_met_cut_ = ps.getParameter<double>("monoelectron_Electron_met_cut");
82  //MonoPhoton
83  monophoton_Photon_pt_cut_ = ps.getParameter<double>("monophoton_Photon_pt_cut");
84  monophoton_Photon_met_cut_ = ps.getParameter<double>("monophoton_Photon_met_cut");
85 }
86 
87 //
88 // -- Destructor
89 //
91  edm::LogInfo("ExoticaDQM") << " Deleting ExoticaDQM " << "\n" ;
92 }
93 
94 //
95 // -- Book histograms
96 //
98  edm::EventSetup const&) {
99  bei.cd();
100 
101  //--- DiJet
102  for (unsigned int icoll = 0; icoll < DiJetPFJetCollection_.size(); ++icoll) {
103  std::stringstream ss;
104  ss << "Physics/Exotica/Dijets/" << DiJetPFJetCollection_[icoll].label();
105  bei.setCurrentFolder(ss.str().c_str());
106  //bei.setCurrentFolder("Physics/Exotica/Dijets");
107  dijet_PFJet_pt.push_back(bei.book1D("dijet_PFJet_pt", "Pt of PFJet (GeV)", 50, 30.0 , 5000));
108  dijet_PFJet_eta.push_back(bei.book1D("dijet_PFJet_eta", "#eta (PFJet)", 50, -2.5, 2.5));
109  dijet_PFJet_phi.push_back(bei.book1D("dijet_PFJet_phi", "#phi (PFJet)", 50, -3.14,3.14));
110  dijet_PFJet_rapidity.push_back(bei.book1D("dijet_PFJet_rapidity", "Rapidity (PFJet)", 50, -6.0,6.0));
111  dijet_PFJet_mass.push_back(bei.book1D("dijet_PFJet_mass", "Mass (PFJets)", 50, 0., 500.));
112  dijet_deltaPhiPFJet1PFJet2.push_back(bei.book1D("dijet_deltaPhiPFJet1PFJet2", "#Delta#phi(Leading PFJet, Sub PFJet)", 40, 0., 3.15));
113  dijet_deltaEtaPFJet1PFJet2.push_back(bei.book1D("dijet_deltaEtaPFJet1PFJet2", "#Delta#eta(Leading PFJet, Sub PFJet)", 40, -5., 5.));
114  dijet_deltaRPFJet1PFJet2.push_back(bei.book1D("dijet_deltaRPFJet1PFJet2", "#DeltaR(Leading PFJet, Sub PFJet)", 50, 0., 6.));
115  dijet_invMassPFJet1PFJet2.push_back(bei.book1D("dijet_invMassPFJet1PFJet2", "Leading PFJet, SubLeading PFJet Invariant mass (GeV)", 50, 0. , 8000.));
116  dijet_PFchef.push_back(bei.book1D("dijet_PFchef", "Leading PFJet CHEF", 50, 0.0 , 1.0));
117  dijet_PFnhef.push_back(bei.book1D("dijet_PFnhef", "Leading PFJet NHEF", 50, 0.0 , 1.0));
118  dijet_PFcemf.push_back(bei.book1D("dijet_PFcemf", "Leading PFJet CEMF", 50, 0.0 , 1.0));
119  dijet_PFnemf.push_back(bei.book1D("dijet_PFnemf", "Leading PFJEt NEMF", 50, 0.0 , 1.0));
120  dijet_PFJetMulti.push_back(bei.book1D("dijet_PFJetMulti", "No. of PFJets", 10, 0., 10.));
121  }
122  //--- DiMuon
123  bei.setCurrentFolder("Physics/Exotica/DiMuons");
124  dimuon_Muon_pt = bei.book1D("dimuon_Muon_pt", "Pt of Muon (GeV)", 50, 30.0 , 2000);
125  dimuon_Muon_eta = bei.book1D("dimuon_Muon_eta", "#eta (Muon)", 50, -2.5, 2.5);
126  dimuon_Muon_phi = bei.book1D("dimuon_Muon_phi", "#phi (Muon)", 50, -3.14,3.14);
127  dimuon_Charge = bei.book1D("dimuon_Charge", "Charge of the Muon", 10, -5., 5.);
128  dimuon_deltaEtaMuon1Muon2 = bei.book1D("dimuon_deltaEtaMuon1Muon2", "#Delta#eta(Leading Muon, Sub Muon)", 40, -5., 5.);
129  dimuon_deltaPhiMuon1Muon2 = bei.book1D("dimuon_deltaPhiMuon1Muon2", "#Delta#phi(Leading Muon, Sub Muon)", 40, 0., 3.15);
130  dimuon_deltaRMuon1Muon2 = bei.book1D("dimuon_deltaRMuon1Muon2", "#DeltaR(Leading Muon, Sub Muon)", 50, 0., 6.);
131  dimuon_invMassMuon1Muon2 = bei.book1D("dimuon_invMassMuon1Muon2", "Leading Muon, SubLeading Muon Low Invariant mass (GeV)", 50, 500. , 4500.);
132  dimuon_MuonMulti = bei.book1D("dimuon_MuonMulti", "No. of Muons", 10, 0., 10.);
133  //--- DiElectrons
134  bei.setCurrentFolder("Physics/Exotica/DiElectrons");
135  dielectron_Electron_pt = bei.book1D("dielectron_Electron_pt", "Pt of Electron (GeV)", 50, 30.0 , 2000);
136  dielectron_Electron_eta = bei.book1D("dielectron_Electron_eta", "#eta (Electron)", 50, -2.5, 2.5);
137  dielectron_Electron_phi = bei.book1D("dielectron_Electron_phi", "#phi (Electron)", 50, -3.14,3.14);
138  dielectron_Charge = bei.book1D("dielectron_Charge", "Charge of the Electron", 10, -5., 5.);
139  dielectron_deltaEtaElectron1Electron2 = bei.book1D("dielectron_deltaEtaElectron1Electron2", "#Delta#eta(Leading Electron, Sub Electron)", 40, -5., 5.);
140  dielectron_deltaPhiElectron1Electron2 = bei.book1D("dielectron_deltaPhiElectron1Electron2", "#Delta#phi(Leading Electron, Sub Electron)", 40, 0., 3.15);
141  dielectron_deltaRElectron1Electron2 = bei.book1D("dielectron_deltaRElectron1Electron2", "#DeltaR(Leading Electron, Sub Electron)", 50, 0., 6.);
142  dielectron_invMassElectron1Electron2 = bei.book1D("dielectron_invMassElectron1Electron2", "Leading Electron, SubLeading Electron Invariant mass (GeV)", 50, 500. , 4500.);
143  dielectron_ElectronMulti = bei.book1D("dielectron_ElectronMulti", "No. of Electrons", 10, 0., 10.);
144  //--- DiPhotons
145  bei.setCurrentFolder("Physics/Exotica/DiPhotons");
146  diphoton_Photon_energy = bei.book1D("diphoton_Photon_energy", "Energy of Photon (GeV)", 50, 30.0 , 300);
147  diphoton_Photon_et = bei.book1D("diphoton_Photon_et", "Et of Photon (GeV)", 50, 30.0 , 300);
148  diphoton_Photon_pt = bei.book1D("diphoton_Photon_pt", "Pt of Photon (GeV)", 50, 30.0 , 300);
149  diphoton_Photon_eta = bei.book1D("diphoton_Photon_eta", "#eta (Photon)", 50, -2.5, 2.5);
150  diphoton_Photon_etasc = bei.book1D("diphoton_Photon_etasc", "#eta sc(Photon)", 50, -2.5, 2.5);
151  diphoton_Photon_phi = bei.book1D("diphoton_Photon_phi", "#phi (Photon)", 50, -3.14,3.14);
152  diphoton_Photon_hovere_eb = bei.book1D("diphoton_Photon_hovere_eb", "H/E (Photon) EB", 50, 0., 0.50);
153  diphoton_Photon_hovere_ee = bei.book1D("diphoton_Photon_hovere_ee", "H/E (Photon) EE", 50, 0., 0.50);
154  diphoton_Photon_sigmaietaieta_eb = bei.book1D("diphoton_Photon_sigmaietaieta_eb", "#sigma_{i #eta i #eta} (Photon) EB", 50, 0., 0.03);
155  diphoton_Photon_sigmaietaieta_ee = bei.book1D("diphoton_Photon_sigmaietaieta_ee", "#sigma_{i #eta i #eta} (Photon) EE", 50, 0., 0.03);
156  diphoton_Photon_trksumptsolidconedr03_eb = bei.book1D("diphoton_Photon_trksumptsolidconedr03_eb", "TrkSumPtDr03 (Photon) EB", 50, 0., 15.);
157  diphoton_Photon_trksumptsolidconedr03_ee = bei.book1D("diphoton_Photon_trksumptsolidconedr03_ee", "TrkSumPtDr03 (Photon) EE", 50, 0., 15.);
158  diphoton_Photon_e1x5e5x5_eb = bei.book1D("diphoton_Photon_e1x5e5x5_eb", "E_{1x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
159  diphoton_Photon_e1x5e5x5_ee = bei.book1D("diphoton_Photon_e1x5e5x5_ee", "E_{1x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
160  diphoton_Photon_e2x5e5x5_eb = bei.book1D("diphoton_Photon_e2x5e5x5_eb", "E_{2x5}/E_{5x5} (Photon) EB", 50, 0., 1.);
161  diphoton_Photon_e2x5e5x5_ee = bei.book1D("diphoton_Photon_e2x5e5x5_ee", "E_{2x5}/E_{5x5} (Photon) EE", 50, 0., 1.);
162  diphoton_deltaEtaPhoton1Photon2 = bei.book1D("diphoton_deltaEtaPhoton1Photon2", "#Delta#eta(SubLeading Photon, Sub Photon)", 40, -5., 5.);
163  diphoton_deltaPhiPhoton1Photon2 = bei.book1D("diphoton_deltaPhiPhoton1Photon2", "#Delta#phi(SubLeading Photon, Sub Photon)", 40, 0., 3.15);
164  diphoton_deltaRPhoton1Photon2 = bei.book1D("diphoton_deltaRPhoton1Photon2", "#DeltaR(SubLeading Photon, Sub Photon)", 50, 0., 6.);
165  diphoton_invMassPhoton1Photon2 = bei.book1D("diphoton_invMassPhoton1Photon2", "SubLeading Photon, SubSubLeading Photon Invariant mass (GeV)", 50, 500. , 4500.);
166  diphoton_PhotonMulti = bei.book1D("diphoton_PhotonMulti", "No. of Photons", 10, 0., 10.);
167  //--- MonoJet
168  bei.setCurrentFolder("Physics/Exotica/MonoJet");
169  monojet_PFJet_pt = bei.book1D("monojet_PFJet_pt", "Pt of MonoJet (GeV)", 50, 30.0 , 1000);
170  monojet_PFJet_eta = bei.book1D("monojet_PFJet_eta", "#eta(MonoJet)", 50, -2.5, 2.5);
171  monojet_PFJet_phi = bei.book1D("monojet_PFJet_phi", "#phi(MonoJet)", 50, -3.14,3.14);
172  monojet_PFMet = bei.book1D("monojet_PFMet", "Pt of PFMET (GeV)", 40, 0.0 , 1000);
173  monojet_PFMet_phi = bei.book1D("monojet_PFMet_phi", "#phi(PFMET #phi)", 50, -3.14,3.14);
174  monojet_PFJetPtOverPFMet = bei.book1D("monojet_PFJetPtOverPFMet", "Pt of MonoJet/MET (GeV)", 40, 0.0 , 5.);
175  monojet_deltaPhiPFJetPFMet = bei.book1D("monojet_deltaPhiPFJetPFMet", "#Delta#phi(MonoJet, PFMet)", 40, 0., 3.15);
176  monojet_PFchef = bei.book1D("monojet_PFchef", "MonojetJet CHEF", 50, 0.0 , 1.0);
177  monojet_PFnhef = bei.book1D("monojet_PFnhef", "MonojetJet NHEF", 50, 0.0 , 1.0);
178  monojet_PFcemf = bei.book1D("monojet_PFcemf", "MonojetJet CEMF", 50, 0.0 , 1.0);
179  monojet_PFnemf = bei.book1D("monojet_PFnemf", "MonojetJet NEMF", 50, 0.0 , 1.0);
180  monojet_PFJetMulti = bei.book1D("monojet_PFJetMulti", "No. of PFJets", 10, 0., 10.);
181  //--- MonoMuon
182  bei.setCurrentFolder("Physics/Exotica/MonoMuon");
183  monomuon_Muon_pt = bei.book1D("monomuon_Muon_pt", "Pt of Monomuon (GeV)", 50, 30.0 , 2000);
184  monomuon_Muon_eta = bei.book1D("monomuon_Muon_eta", "#eta(Monomuon)", 50, -2.5, 2.5);
185  monomuon_Muon_phi = bei.book1D("monomuon_Muon_phi", "#phi(Monomuon)", 50, -3.14,3.14);
186  monomuon_Charge = bei.book1D("monomuon_Charge", "Charge of the MonoMuon", 10, -5., 5.);
187  monomuon_PFMet = bei.book1D("monomuon_PFMet", "Pt of PFMET (GeV)", 40, 0.0 , 2000);
188  monomuon_PFMet_phi = bei.book1D("monomuon_PFMet_phi", "PFMET #phi", 50, -3.14,3.14);
189  monomuon_MuonPtOverPFMet = bei.book1D("monomuon_MuonPtOverPFMet", "Pt of Monomuon/PFMet", 40, 0.0 , 5.);
190  monomuon_deltaPhiMuonPFMet = bei.book1D("monomuon_deltaPhiMuonPFMet", "#Delta#phi(Monomuon, PFMet)", 40, 0., 3.15);
191  monomuon_TransverseMass = bei.book1D("monomuon_TransverseMass", "Transverse Mass M_{T} GeV", 40, 200., 3000.);
192  monomuon_MuonMulti = bei.book1D("monomuon_MuonMulti", "No. of Muons", 10, 0., 10.);
193  //--- MonoElectron
194  bei.setCurrentFolder("Physics/Exotica/MonoElectron");
195  monoelectron_Electron_pt = bei.book1D("monoelectron_Electron_pt", "Pt of Monoelectron (GeV)", 50, 30.0 , 4000);
196  monoelectron_Electron_eta = bei.book1D("monoelectron_Electron_eta", "#eta(MonoElectron)", 50, -2.5, 2.5);
197  monoelectron_Electron_phi = bei.book1D("monoelectron_Electron_phi", "#phi(MonoElectron)", 50, -3.14,3.14);
198  monoelectron_Charge = bei.book1D("monoelectron_Charge", "Charge of the MonoElectron", 10, -5., 5.);
199  monoelectron_PFMet = bei.book1D("monoelectron_PFMet", "Pt of PFMET (GeV)", 40, 0.0 , 4000);
200  monoelectron_PFMet_phi = bei.book1D("monoelectron_PFMet_phi", "PFMET #phi", 50, -3.14,3.14);
201  monoelectron_ElectronPtOverPFMet = bei.book1D("monoelectron_ElectronPtOverPFMet", "Pt of Monoelectron/PFMet", 40, 0.0 , 5.);
202  monoelectron_deltaPhiElectronPFMet = bei.book1D("monoelectron_deltaPhiElectronPFMet", "#Delta#phi(MonoElectron, PFMet)", 40, 0., 3.15);
203  monoelectron_TransverseMass = bei.book1D("monoelectron_TransverseMass", "Transverse Mass M_{T} GeV", 40, 200., 4000.);
204  monoelectron_ElectronMulti = bei.book1D("monoelectron_ElectronMulti", "No. of Electrons", 10, 0., 10.);
205 
206  //--- DiPhotons
207  bei.setCurrentFolder("Physics/Exotica/MonoPhotons");
208  monophoton_Photon_energy = bei.book1D("monophoton_Photon_energy", "Energy of Leading Photon (GeV)", 50, 30.0 , 1000);
209  monophoton_Photon_et = bei.book1D("monophoton_Photon_et", "Et of Leading Photon (GeV)", 50, 30.0 , 1000);
210  monophoton_Photon_pt = bei.book1D("monophoton_Photon_pt", "Pt of Leading Photon (GeV)", 50, 30.0 , 1000);
211  monophoton_Photon_eta = bei.book1D("monophoton_Photon_eta", "#eta (Leading Photon)", 50, -2.5, 2.5);
212  monophoton_Photon_etasc = bei.book1D("monophoton_Photon_etasc", "#eta sc(Leading Photon)", 50, -2.5, 2.5);
213  monophoton_Photon_phi = bei.book1D("monophoton_Photon_phi", "#phi(Leading Photon)", 50, -3.14,3.14);
214  monophoton_Photon_hovere = bei.book1D("monophoton_Photon_hovere", "H/E (Leading Photon)", 50, 0., 0.50);
215  monophoton_Photon_sigmaietaieta = bei.book1D("monophoton_Photon_sigmaietaieta", "#sigma_{i #eta i #eta} (Leading Photon)", 50, 0., 0.03);
216  monophoton_Photon_trksumptsolidconedr03 = bei.book1D("monophoton_Photon_trksumptsolidconedr03", "TrkSumPtDr03 (Leading Photon)", 50, 0., 15.);
217  monophoton_Photon_e1x5e5x5 = bei.book1D("monophoton_Photon_e1x5e5x5", "E_{1x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
218  monophoton_Photon_e2x5e5x5 = bei.book1D("monophoton_Photon_e2x5e5x5", "E_{2x5}/E_{5x5} (Leading Photon)", 50, 0., 1.);
219  monophoton_PFMet = bei.book1D("monophoton_PFMet", "Pt of PFMET (GeV)", 40, 0.0 , 1000);
220  monophoton_PFMet_phi = bei.book1D("monophoton_PFMet_phi", "PFMET #phi", 50, -3.14,3.14);
221  monophoton_PhotonPtOverPFMet = bei.book1D("monophoton_PhotonPtOverPFMet", "Pt of Monophoton/PFMet", 40, 0.0 , 5.);
222  monophoton_deltaPhiPhotonPFMet = bei.book1D("monophoton_deltaPhiPhotonPFMet", "#Delta#phi(SubLeading Photon, PFMet)", 40, 0., 3.15);
223  monophoton_PhotonMulti = bei.book1D("monophoton_PhotonMulti", "No. of Photons", 10, 0., 10.);
224 
225  bei.cd();
226 }
227 
228 
229 //
230 // -- Analyze
231 //
233 
234  // objects
235 
236  //Trigger
237  bool ValidTriggers = iEvent.getByToken(TriggerToken_, TriggerResults_);
238  if (!ValidTriggers) return;
239 
240  // Vertices
241  bool ValidVertices = iEvent.getByToken(VertexToken_, VertexCollection_);
242  if (!ValidVertices) return;
243 
244  // Electrons
245  bool ValidGedGsfElectron = iEvent.getByToken(ElectronToken_, ElectronCollection_);
246  if(!ValidGedGsfElectron) return;
247 
248  // Muons
249  bool ValidPFMuon = iEvent.getByToken(MuonToken_, MuonCollection_);
250  if(!ValidPFMuon) return;
251 
252  // Jets
253  bool ValidPFJet = iEvent.getByToken(PFJetToken_, pfJetCollection_);
254  pfjets = *pfJetCollection_;
255  if(!ValidPFJet) return;
256 
257  // PFMETs
258  bool ValidPFMET = iEvent.getByToken(PFMETToken_, pfMETCollection_);
259  if(!ValidPFMET) return;
260 
261  // Photons
262  bool ValidCaloPhoton = iEvent.getByToken(PhotonToken_, PhotonCollection_);
263  if(!ValidCaloPhoton) return;
264 
265  bool ValidJetCorrector = iEvent.getByToken( JetCorrectorToken_, JetCorrector_ );
266 
267  //Trigger
268 
269  int N_Triggers = TriggerResults_->size();
270  int N_GoodTriggerPaths = HltPaths_.size();
271  bool triggered_event = false;
272  const edm::TriggerNames& trigName = iEvent.triggerNames(*TriggerResults_);
273  for (int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
274  if (TriggerResults_.product()->accept(i_Trig)) {
275  for (int n = 0; n < N_GoodTriggerPaths; n++) {
276  if (trigName.triggerName(i_Trig).find(HltPaths_[n])!=std::string::npos){
277  triggered_event = true;
278  }
279  }
280  }
281  }
282  if (triggered_event == false) return;
283 
284  for(int i=0; i<2; i++){
285  //Jets
286  PFJetPx[i] = 0.; PFJetPy[i] = 0.; PFJetPt[i] = 0.; PFJetEta[i] = 0.; PFJetPhi[i] = 0.;
287  PFJetNHEF[i] = 0.; PFJetCHEF[i] = 0.; PFJetNEMF[i] = 0.; PFJetCEMF[i] = 0.;
288  //Muons
289  MuonPx[i] = 0.; MuonPy[i] = 0.; MuonPt[i] = 0.;
290  MuonEta[i] = 0.; MuonPhi[i] = 0.; MuonCharge[i] = 0.;
291  //Electrons
292  ElectronPx[i] = 0.; ElectronPy[i] = 0.; ElectronPt[i] = 0.;
293  ElectronEta[i] = 0.; ElectronPhi[i] = 0.; ElectronCharge[i] = 0.;
294  //Photons
295  PhotonEnergy[i] = 0.; PhotonPt[i] = 0.; PhotonEt[i] = 0.; PhotonEta[i] = 0.; PhotonEtaSc[i] = 0.; PhotonPhi[i] = 0.; PhotonHoverE[i] = 0.;
296  PhotonSigmaIetaIeta[i] = 0.; PhotonTrkSumPtSolidConeDR03[i] = 0.; PhotonE1x5E5x5[i] = 0.; PhotonE2x5E5x5[i] = 0.;
297  }
298 
299  //Getting information from the RecoObjects
300  dijet_countPFJet_=0;
301  monojet_countPFJet_=0;
302 
303  PFJetCollection::const_iterator pfjet_ = pfjets.begin();
304  for(; pfjet_ != pfjets.end(); ++pfjet_){
305  double scale = 1.;
306  if (ValidJetCorrector) scale = JetCorrector_->correction(*pfjet_);
307  if(scale*pfjet_->pt()>PFJetPt[0]){
308  PFJetPt[1] = PFJetPt[0];
309  PFJetPx[1] = PFJetPx[0];
310  PFJetPy[1] = PFJetPy[0];
311  PFJetEta[1] = PFJetEta[0];
312  PFJetPhi[1] = PFJetPhi[0];
313  PFJetRapidity[1] = PFJetRapidity[0];
314  PFJetMass[1] = PFJetMass[0];
315  PFJetNHEF[1] = PFJetNHEF[0];
316  PFJetCHEF[1] = PFJetCHEF[0];
317  PFJetNEMF[1] = PFJetNEMF[0];
318  PFJetCEMF[1] = PFJetCEMF[0];
319  //
320  PFJetPt[0] = scale*pfjet_->pt();
321  PFJetPx[0] = scale*pfjet_->px();
322  PFJetPy[0] = scale*pfjet_->py();
323  PFJetEta[0] = pfjet_->eta();
324  PFJetPhi[0] = pfjet_->phi();
325  PFJetRapidity[0] = pfjet_->rapidity();
326  PFJetMass[0] = pfjet_->mass();
327  PFJetNHEF[0] = pfjet_->neutralHadronEnergyFraction();
328  PFJetCHEF[0] = pfjet_->chargedHadronEnergyFraction();
329  PFJetNEMF[0] = pfjet_->neutralEmEnergyFraction();
330  PFJetCEMF[0] = pfjet_->chargedEmEnergyFraction();
331  }
332  else if(scale*pfjet_->pt()<PFJetPt[0] && scale*pfjet_->pt()>PFJetPt[1] ){
333  PFJetPt[1] = scale*pfjet_->pt();
334  PFJetPx[1] = scale*pfjet_->px();
335  PFJetPy[1] = scale*pfjet_->py();
336  PFJetEta[1] = pfjet_->eta();
337  PFJetPhi[1] = pfjet_->phi();
338  PFJetRapidity[1] = pfjet_->rapidity();
339  PFJetMass[1] = pfjet_->mass();
340  PFJetNHEF[1] = pfjet_->neutralHadronEnergyFraction();
341  PFJetCHEF[1] = pfjet_->chargedHadronEnergyFraction();
342  PFJetNEMF[1] = pfjet_->neutralEmEnergyFraction();
343  PFJetCEMF[1] = pfjet_->chargedEmEnergyFraction();
344  }
345  else{}
346  if(scale*pfjet_->pt()>dijet_PFJet1_pt_cut_) dijet_countPFJet_++;
347  if(scale*pfjet_->pt()>dijet_PFJet1_pt_cut_) monojet_countPFJet_++;
348  }
349 
350  VertexCollection vertexCollection = *(VertexCollection_.product());
351  reco::VertexCollection::const_iterator primaryVertex_ = vertexCollection.begin();
352 
353  dimuon_countMuon_ = 0;
354  monomuon_countMuon_ = 0;
355  reco::MuonCollection::const_iterator muon_ = MuonCollection_->begin();
356  for(; muon_ != MuonCollection_->end(); muon_++){
357  // Muon High Pt ID
358  bool HighPt = false;
359  if ( muon_->isGlobalMuon()
360  && muon_->globalTrack()->hitPattern().numberOfValidMuonHits() >0
361  && muon_->numberOfMatchedStations() > 1
362  && muon_->innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5
363  && muon_->innerTrack()->hitPattern().numberOfValidPixelHits() > 0
364  && muon_->muonBestTrack()->ptError()/muon_->muonBestTrack()->pt() < 0.3
365  && fabs(muon_->muonBestTrack()->dxy(primaryVertex_->position())) < 0.2
366  && fabs(muon_->bestTrack()->dz(primaryVertex_->position())) < 0.5
367  && fabs(muon_->eta()) <2.1
368  ) HighPt = true;
369 
370  if (HighPt == true ){
371  if(muon_->pt()>MuonPt[0]){
372  MuonPt[1] = MuonPt[0];
373  MuonPx[1] = MuonPx[0];
374  MuonPy[1] = MuonPy[0];
375  MuonEta[1] = MuonEta[0];
376  MuonPhi[1] = MuonPhi[0];
377  MuonCharge[1] = MuonCharge[0];
378  //
379  MuonPt[0] = muon_->pt();
380  MuonPx[0] = muon_->px();
381  MuonPy[0] = muon_->py();
382  MuonEta[0] = muon_->eta();
383  MuonPhi[0] = muon_->phi();
384  MuonCharge[0] = muon_->charge();
385  }
386  }
387  if (muon_->pt() > dimuon_Muon1_pt_cut_) dimuon_countMuon_++;
388  if (muon_->pt() > dimuon_Muon1_pt_cut_) monomuon_countMuon_++;
389  }
390 
391  dielectron_countElectron_ = 0;
392  monoelectron_countElectron_ = 0;
393  reco::GsfElectronCollection::const_iterator electron_ = ElectronCollection_->begin();
394  for(; electron_ != ElectronCollection_->end(); electron_++){
395  //HEEP Selection 4.1 (some cuts)
396  if (electron_->e5x5()<=0) continue;
397  if (electron_->gsfTrack().isNull()) continue;
398  bool HEPP_ele = false;
399  double sceta = electron_->caloPosition().eta();
400  double dEtaIn = fabs(electron_->deltaEtaSuperClusterTrackAtVtx());
401  double dPhiIn = fabs(electron_->deltaPhiSuperClusterTrackAtVtx());
402  double HoverE = electron_->hadronicOverEm();
403  int missingHits = electron_->gsfTrack()->hitPattern().numberOfLostTrackerHits(HitPattern::MISSING_INNER_HITS);
404  double dxy = electron_->gsfTrack()->dxy(primaryVertex_->position());
405  double tkIso = electron_->dr03TkSumPt();
406  double e2x5Fraction = electron_->e2x5Max()/electron_->e5x5();
407  double e1x5Fraction = electron_->e1x5()/electron_->e5x5();
408  double scSigmaIetaIeta = electron_->scSigmaIEtaIEta();
409  if (electron_->ecalDriven() && electron_->pt()>35.) {
410  if (fabs(sceta)<1.442) { // barrel
411  if ( fabs(dEtaIn)<0.005
412  && fabs(dPhiIn)<0.06
413  && HoverE<0.05
414  && tkIso<5.
415  && missingHits<=1
416  && fabs(dxy)<0.02
417  && (e2x5Fraction>0.94 || e1x5Fraction>0.83)
418  ) HEPP_ele =true;
419  }else if (fabs(sceta)>1.56 && fabs(sceta)<2.5) { // endcap
420  if ( fabs(dEtaIn)<0.007
421  && fabs(dPhiIn)<0.06
422  && HoverE<0.05
423  && tkIso<5.
424  && missingHits<=1
425  && fabs(dxy)<0.02
426  && scSigmaIetaIeta<0.03
427  ) HEPP_ele =true;
428  }
429  }
430  //
431  if (HEPP_ele == false) continue;
432  if(electron_->pt()>ElectronPt[0] ){
433  ElectronPt[1] = ElectronPt[0];
434  ElectronPx[1] = ElectronPx[0];
435  ElectronPy[1] = ElectronPy[0];
436  ElectronEta[1] = ElectronEta[0];
437  ElectronPhi[1] = ElectronPhi[0];
438  ElectronCharge[1] = ElectronCharge[0];
439  //
440  ElectronPt[0] = electron_->pt();
441  ElectronPx[0] = electron_->px();
442  ElectronPy[0] = electron_->py();
443  ElectronEta[0] = electron_->eta();
444  ElectronPhi[0] = electron_->phi();
445  ElectronCharge[0] = electron_->charge();
446  }
447  if (electron_->pt() > dielectron_Electron1_pt_cut_) dielectron_countElectron_++;
448  if (electron_->pt() > dielectron_Electron1_pt_cut_) monoelectron_countElectron_++;
449  }
450 
451 
452  diphoton_countPhoton_ = 0.;
453  reco::PhotonCollection::const_iterator photon_ = PhotonCollection_->begin();
454  for(; photon_ != PhotonCollection_->end(); ++photon_){
455  if(photon_->pt()>PhotonPt[0] ){
456  PhotonEnergy[1] = PhotonEnergy[0];
457  PhotonPt[1] = PhotonPt[0];
458  PhotonEt[1] = PhotonEt[0];
459  PhotonEta[1] = PhotonEta[0];
460  PhotonEtaSc[1] = PhotonEtaSc[0];
461  PhotonPhi[1] = PhotonPhi[0];
462  PhotonHoverE[1] = PhotonHoverE[0];
463  PhotonSigmaIetaIeta[1] = PhotonSigmaIetaIeta[0];
464  PhotonTrkSumPtSolidConeDR03[1] = PhotonTrkSumPtSolidConeDR03[0];
465  PhotonE1x5E5x5[1] = PhotonE1x5E5x5[0];
466  PhotonE2x5E5x5[1] = PhotonE2x5E5x5[0];
467 
468  PhotonEnergy[0] = photon_->energy();
469  PhotonPt[0] = photon_->pt();
470  PhotonEt[0] = photon_->et();
471  PhotonEta[0] = photon_->eta();
472  PhotonEtaSc[0] = photon_->caloPosition().eta();
473  PhotonPhi[0] = photon_->phi();
474  PhotonHoverE[0] = photon_->hadronicOverEm();
475  PhotonSigmaIetaIeta[0] = photon_->sigmaIetaIeta();
476  PhotonTrkSumPtSolidConeDR03[0] = photon_->trkSumPtSolidConeDR03();
477  PhotonE1x5E5x5[0] = photon_->e1x5()/photon_->e5x5();
478  PhotonE2x5E5x5[0] = photon_->e2x5()/photon_->e5x5();
479 
480  if (photon_->pt() > dielectron_Electron1_pt_cut_) diphoton_countPhoton_ ++;
481  }
482  }
483 
484  //
485  // Analyze
486  //
487 
488  //Resonances
489  analyzeDiJets(iEvent);
490  analyzeDiMuons(iEvent);
491  analyzeDiElectrons(iEvent);
492  analyzeDiPhotons(iEvent);
493 
494  //MonoSearches
495  analyzeMonoJets(iEvent);
496  analyzeMonoMuons(iEvent);
497  analyzeMonoElectrons(iEvent);
498 
499 }
500 
502  for (unsigned int icoll = 0; icoll < DiJetPFJetCollection_.size(); ++icoll) {
503  dijet_countPFJet_=0;
504  bool ValidDiJetPFJets = iEvent.getByToken(DiJetPFJetToken_[icoll], DiJetpfJetCollection_);
505  if (!ValidDiJetPFJets) continue;
506  DiJetpfjets = *DiJetpfJetCollection_;
507  for(int i=0; i<2; i++){
508  PFJetPx[i] = 0.; PFJetPy[i] = 0.; PFJetPt[i] = 0.; PFJetEta[i] = 0.; PFJetPhi[i] = 0.;
509  PFJetNHEF[i] = 0.; PFJetCHEF[i] = 0.; PFJetNEMF[i] = 0.; PFJetCEMF[i] = 0.;
510  }
511  PFJetCollection::const_iterator DiJetpfjet_ = DiJetpfjets.begin();
512  for(; DiJetpfjet_ != DiJetpfjets.end(); ++DiJetpfjet_){
513  double scale = 1.;
514  if(scale*DiJetpfjet_->pt()>PFJetPt[0]){
515  PFJetPt[1] = PFJetPt[0];
516  PFJetPx[1] = PFJetPx[0];
517  PFJetPy[1] = PFJetPy[0];
518  PFJetEta[1] = PFJetEta[0];
519  PFJetPhi[1] = PFJetPhi[0];
520  PFJetRapidity[1] = DiJetpfjet_->rapidity();
521  PFJetMass[1] = DiJetpfjet_->mass();
522  PFJetNHEF[1] = PFJetNHEF[0];
523  PFJetCHEF[1] = PFJetCHEF[0];
524  PFJetNEMF[1] = PFJetNEMF[0];
525  PFJetCEMF[1] = PFJetCEMF[0];
526  PFJetPt[0] = scale*DiJetpfjet_->pt();
527  PFJetPx[0] = scale*DiJetpfjet_->px();
528  PFJetPy[0] = scale*DiJetpfjet_->py();
529  PFJetEta[0] = DiJetpfjet_->eta();
530  PFJetPhi[0] = DiJetpfjet_->phi();
531  PFJetRapidity[0] = DiJetpfjet_->rapidity();
532  PFJetMass[0] = DiJetpfjet_->mass();
533  PFJetNHEF[0] = DiJetpfjet_->neutralHadronEnergyFraction();
534  PFJetCHEF[0] = DiJetpfjet_->chargedHadronEnergyFraction();
535  PFJetNEMF[0] = DiJetpfjet_->neutralEmEnergyFraction();
536  PFJetCEMF[0] = DiJetpfjet_->chargedEmEnergyFraction();
537  }else if(scale*DiJetpfjet_->pt()<PFJetPt[0] && scale*DiJetpfjet_->pt()>PFJetPt[1] ){
538  PFJetPt[1] = scale*DiJetpfjet_->pt();
539  PFJetPx[1] = scale*DiJetpfjet_->px();
540  PFJetPy[1] = scale*DiJetpfjet_->py();
541  PFJetEta[1] = DiJetpfjet_->eta();
542  PFJetPhi[1] = DiJetpfjet_->phi();
543  PFJetRapidity[1] = DiJetpfjet_->rapidity();
544  PFJetMass[1] = DiJetpfjet_->mass();
545  PFJetNHEF[1] = DiJetpfjet_->neutralHadronEnergyFraction();
546  PFJetCHEF[1] = DiJetpfjet_->chargedHadronEnergyFraction();
547  PFJetNEMF[1] = DiJetpfjet_->neutralEmEnergyFraction();
548  PFJetCEMF[1] = DiJetpfjet_->chargedEmEnergyFraction();
549  }else{}
550  if(scale*DiJetpfjet_->pt()>dijet_PFJet1_pt_cut_) dijet_countPFJet_++;
551  }
552  if(PFJetPt[0]> dijet_PFJet1_pt_cut_ && PFJetPt[1]> dijet_PFJet2_pt_cut_){
553  dijet_PFJet_pt[icoll]->Fill(PFJetPt[0]);
554  dijet_PFJet_eta[icoll]->Fill(PFJetEta[0]);
555  dijet_PFJet_phi[icoll]->Fill(PFJetPhi[0]);
556  dijet_PFJet_rapidity[icoll]->Fill(PFJetRapidity[0]);
557  dijet_PFJet_mass[icoll]->Fill(PFJetMass[0]);
558  dijet_PFJet_pt[icoll]->Fill(PFJetPt[1]);
559  dijet_PFJet_eta[icoll]->Fill(PFJetEta[1]);
560  dijet_PFJet_phi[icoll]->Fill(PFJetPhi[1]);
561  dijet_PFJet_rapidity[icoll]->Fill(PFJetRapidity[1]);
562  dijet_PFJet_mass[icoll]->Fill(PFJetMass[1]);
563  dijet_deltaPhiPFJet1PFJet2[icoll]->Fill(deltaPhi(PFJetPhi[0],PFJetPhi[1]));
564  dijet_deltaEtaPFJet1PFJet2[icoll]->Fill(PFJetEta[0]-PFJetEta[1]);
565  dijet_deltaRPFJet1PFJet2[icoll]->Fill(deltaR(PFJetEta[0],PFJetPhi[0],PFJetEta[1],PFJetPhi[1]));
566  dijet_invMassPFJet1PFJet2[icoll]->Fill(sqrt(2*PFJetPt[0]*PFJetPt[1]*(cosh(PFJetEta[0]-PFJetEta[1])-cos(PFJetPhi[0]-PFJetPhi[1]))));
567  dijet_PFchef[icoll]->Fill(PFJetCHEF[0]);
568  dijet_PFnhef[icoll]->Fill(PFJetNHEF[0]);
569  dijet_PFcemf[icoll]->Fill(PFJetCEMF[0]);
570  dijet_PFnemf[icoll]->Fill(PFJetNEMF[0]);
571  dijet_PFJetMulti[icoll]->Fill(dijet_countPFJet_);
572  }
573  }
574 }
575 
577  if(MuonPt[0] > dimuon_Muon1_pt_cut_ && MuonPt[1]> dimuon_Muon2_pt_cut_ && MuonCharge[0]*MuonCharge[1] == -1){
578  dimuon_Muon_pt->Fill(MuonPt[0]);
579  dimuon_Muon_eta->Fill(MuonEta[0]);
580  dimuon_Muon_phi->Fill(MuonPhi[0]);
581  dimuon_Muon_pt->Fill(MuonPt[1]);
582  dimuon_Muon_eta->Fill(MuonEta[1]);
583  dimuon_Muon_phi->Fill(MuonPhi[1]);
584  dimuon_Charge->Fill(MuonCharge[0]);
585  dimuon_Charge->Fill(MuonCharge[1]);
586  dimuon_deltaPhiMuon1Muon2->Fill(deltaPhi(MuonPhi[0],MuonPhi[1]));
587  dimuon_deltaEtaMuon1Muon2->Fill(MuonEta[0]-MuonEta[1]);
588  dimuon_deltaRMuon1Muon2->Fill(deltaR(MuonEta[0],MuonPhi[0],MuonEta[1],MuonPhi[1]));
589  dimuon_invMassMuon1Muon2->Fill(sqrt(2*MuonPt[0]*MuonPt[1]*(cosh(MuonEta[0]-MuonEta[1])-cos(MuonPhi[0]-MuonPhi[1]))));
590  dimuon_MuonMulti->Fill(dimuon_countMuon_);
591  }
592 }
593 
595  if(ElectronPt[0] > dielectron_Electron1_pt_cut_ && ElectronPt[1]> dielectron_Electron2_pt_cut_ && ElectronCharge[0]*ElectronCharge[1] == -1.){
596  dielectron_Electron_pt->Fill(ElectronPt[0]);
597  dielectron_Electron_eta->Fill(ElectronEta[0]);
598  dielectron_Electron_phi->Fill(ElectronPhi[0]);
599  dielectron_Electron_pt->Fill(ElectronPt[1]);
600  dielectron_Electron_eta->Fill(ElectronEta[1]);
601  dielectron_Electron_phi->Fill(ElectronPhi[1]);
602  dielectron_Charge->Fill(ElectronCharge[0]);
603  dielectron_Charge->Fill(ElectronCharge[1]);
604  dielectron_deltaPhiElectron1Electron2->Fill(deltaPhi(ElectronPhi[0],ElectronPhi[1]));
605  dielectron_deltaEtaElectron1Electron2->Fill(ElectronEta[0]-ElectronEta[1]);
606  dielectron_deltaRElectron1Electron2->Fill(deltaR(ElectronEta[0],ElectronPhi[0],ElectronEta[1],ElectronPhi[1]));
607  dielectron_invMassElectron1Electron2->Fill(sqrt(2*ElectronPt[0]*ElectronPt[1]*(cosh(ElectronEta[0]-ElectronEta[1])-cos(ElectronPhi[0]-ElectronPhi[1]))));
608  dielectron_ElectronMulti->Fill(dielectron_countElectron_);
609  }
610 }
611 
613  if(PhotonPt[0] > diphoton_Photon1_pt_cut_ && PhotonPt[1]> diphoton_Photon2_pt_cut_ ){
614  diphoton_Photon_energy->Fill(PhotonEnergy[0]);
615  diphoton_Photon_pt->Fill(PhotonPt[0]);
616  diphoton_Photon_et->Fill(PhotonEt[0]);
617  diphoton_Photon_eta->Fill(PhotonEta[0]);
618  diphoton_Photon_etasc->Fill(PhotonEtaSc[0]);
619  diphoton_Photon_phi->Fill(PhotonPhi[0]);
620  if (fabs(PhotonEtaSc[0]) < 1.442){
621  diphoton_Photon_hovere_eb->Fill(PhotonHoverE[0]);
622  diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[0]);
623  diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[0]);
624  diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[0]);
625  diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[0]);
626  }
627  if (fabs(PhotonEtaSc[0]) > 1.566 && fabs(PhotonEtaSc[0]) < 2.5){
628  diphoton_Photon_hovere_ee->Fill(PhotonHoverE[0]);
629  diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[0]);
630  diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[0]);
631  diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[0]);
632  diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[0]);
633  }
634  diphoton_Photon_energy->Fill(PhotonEnergy[1]);
635  diphoton_Photon_pt->Fill(PhotonPt[1]);
636  diphoton_Photon_et->Fill(PhotonEt[1]);
637  diphoton_Photon_eta->Fill(PhotonEta[1]);
638  diphoton_Photon_etasc->Fill(PhotonEtaSc[1]);
639  diphoton_Photon_phi->Fill(PhotonPhi[1]);
640  if (fabs(PhotonEtaSc[1]) < 1.4442){
641  diphoton_Photon_hovere_eb->Fill(PhotonHoverE[1]);
642  diphoton_Photon_sigmaietaieta_eb->Fill(PhotonSigmaIetaIeta[1]);
643  diphoton_Photon_trksumptsolidconedr03_eb->Fill(PhotonTrkSumPtSolidConeDR03[1]);
644  diphoton_Photon_e1x5e5x5_eb->Fill(PhotonE1x5E5x5[1]);
645  diphoton_Photon_e2x5e5x5_eb->Fill(PhotonE2x5E5x5[1]);
646  }
647  if (fabs(PhotonEtaSc[1]) > 1.566 && fabs(PhotonEtaSc[1]) < 2.5){
648  diphoton_Photon_hovere_ee->Fill(PhotonHoverE[1]);
649  diphoton_Photon_sigmaietaieta_ee->Fill(PhotonSigmaIetaIeta[1]);
650  diphoton_Photon_trksumptsolidconedr03_ee->Fill(PhotonTrkSumPtSolidConeDR03[1]);
651  diphoton_Photon_e1x5e5x5_ee->Fill(PhotonE1x5E5x5[1]);
652  diphoton_Photon_e2x5e5x5_ee->Fill(PhotonE2x5E5x5[1]);
653  }
654  diphoton_deltaPhiPhoton1Photon2->Fill(deltaPhi(PhotonPhi[0],PhotonPhi[1]));
655  diphoton_deltaEtaPhoton1Photon2->Fill(PhotonEta[0]-PhotonEta[1]);
656  diphoton_deltaRPhoton1Photon2->Fill(deltaR(PhotonEta[0],PhotonPhi[0],PhotonEta[1],PhotonPhi[1]));
657  diphoton_invMassPhoton1Photon2->Fill(sqrt(2*PhotonPt[0]*PhotonPt[1]*(cosh(PhotonEta[0]-PhotonEta[1])-cos(PhotonPhi[0]-PhotonPhi[1]))));
658  diphoton_PhotonMulti->Fill(diphoton_countPhoton_);
659  }
660 }
661 
663  const PFMETCollection *pfmetcol = pfMETCollection_.product();
664  const PFMET pfmet = pfmetcol->front();
665  if(PFJetPt[0]> monojet_PFJet_pt_cut_ && pfmet.et() > monojet_PFJet_met_cut_){
666  monojet_PFJet_pt->Fill(PFJetPt[0]);
667  monojet_PFJet_eta->Fill(PFJetEta[0]);
668  monojet_PFJet_phi->Fill(PFJetPhi[0]);
669  monojet_PFMet->Fill(pfmet.et());
670  monojet_PFMet_phi->Fill(pfmet.phi());
671  monojet_PFJetPtOverPFMet->Fill(PFJetPt[0]/pfmet.et());
672  monojet_deltaPhiPFJetPFMet->Fill(deltaPhi(PFJetPhi[0],pfmet.phi()));
673  monojet_PFchef->Fill(PFJetCHEF[0]);
674  monojet_PFnhef->Fill(PFJetNHEF[0]);
675  monojet_PFcemf->Fill(PFJetCEMF[0]);
676  monojet_PFnemf->Fill(PFJetNEMF[0]);
677  monojet_PFJetMulti->Fill(monojet_countPFJet_);
678  }
679 }
680 
682  const PFMETCollection *pfmetcol = pfMETCollection_.product();
683  const PFMET pfmet = pfmetcol->front();
684  if(MuonPt[0]> monomuon_Muon_pt_cut_ && pfmet.et() > monomuon_Muon_met_cut_){
685  monomuon_Muon_pt->Fill(MuonPt[0]);
686  monomuon_Muon_eta->Fill(MuonEta[0]);
687  monomuon_Muon_phi->Fill(MuonPhi[0]);
688  monomuon_Charge->Fill(MuonCharge[0]);
689  monomuon_PFMet->Fill(pfmet.et());
690  monomuon_PFMet_phi->Fill(pfmet.phi());
691  monomuon_MuonPtOverPFMet->Fill(MuonPt[0]/pfmet.et());
692  monomuon_deltaPhiMuonPFMet->Fill(deltaPhi(MuonPhi[0],pfmet.phi()));
693  monomuon_TransverseMass->Fill(sqrt(2*MuonPt[0]*pfmet.et()*(1-cos(deltaPhi(MuonPhi[0],pfmet.phi())))));
694  monomuon_MuonMulti->Fill(monomuon_countMuon_);
695  }
696 }
697 
699  const PFMETCollection *pfmetcol = pfMETCollection_.product();
700  const PFMET pfmet = pfmetcol->front();
701  if(ElectronPt[0]> monoelectron_Electron_pt_cut_ && pfmet.et() > monoelectron_Electron_met_cut_){
702  monoelectron_Electron_pt->Fill(ElectronPt[0]);
703  monoelectron_Electron_eta->Fill(ElectronEta[0]);
704  monoelectron_Electron_phi->Fill(ElectronPhi[0]);
705  monoelectron_Charge->Fill(ElectronCharge[0]);
706  monoelectron_PFMet->Fill(pfmet.et());
707  monoelectron_PFMet_phi->Fill(pfmet.phi());
708  monoelectron_ElectronPtOverPFMet->Fill(ElectronPt[0]/pfmet.et());
709  monoelectron_deltaPhiElectronPFMet->Fill(deltaPhi(ElectronPhi[0],pfmet.phi()));
710  monoelectron_TransverseMass->Fill(sqrt(2*ElectronPt[0]*pfmet.et()*(1-cos(deltaPhi(ElectronPhi[0],pfmet.phi())))));
711  monoelectron_ElectronMulti->Fill(monoelectron_countElectron_);
712  }
713 }
714 
716  const PFMETCollection *pfmetcol = pfMETCollection_.product();
717  const PFMET pfmet = pfmetcol->front();
718  if(PhotonPt[0]> monophoton_Photon_pt_cut_ && pfmet.et() > monophoton_Photon_met_cut_){
719  monophoton_Photon_energy->Fill(PhotonEnergy[0]);
720  monophoton_Photon_pt->Fill(PhotonPt[0]);
721  monophoton_Photon_et->Fill(PhotonEt[0]);
722  monophoton_Photon_eta->Fill(PhotonEta[0]);
723  monophoton_Photon_etasc->Fill(PhotonEtaSc[0]);
724  monophoton_Photon_phi->Fill(PhotonPhi[0]);
725  monophoton_Photon_hovere->Fill(PhotonHoverE[0]);
726  monophoton_Photon_sigmaietaieta->Fill(PhotonSigmaIetaIeta[0]);
727  monophoton_Photon_trksumptsolidconedr03->Fill(PhotonTrkSumPtSolidConeDR03[0]);
728  monophoton_Photon_e1x5e5x5->Fill(PhotonE1x5E5x5[0]);
729  monophoton_Photon_e2x5e5x5->Fill(PhotonE2x5E5x5[0]);
730  monophoton_PFMet->Fill(pfmet.et());
731  monophoton_PFMet_phi->Fill(pfmet.phi());
732  monophoton_PhotonPtOverPFMet->Fill(PhotonPt[0]/pfmet.et());
733  monophoton_deltaPhiPhotonPFMet->Fill(deltaPhi(PhotonPhi[0],pfmet.phi()));
734  monophoton_PhotonMulti->Fill(monophoton_countPhoton_);
735  }
736 }
virtual void analyzeMonoElectrons(edm::Event const &e)
Definition: ExoticaDQM.cc:698
virtual void analyzeDiJets(edm::Event const &e)
Definition: ExoticaDQM.cc:501
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:215
virtual void analyzeMonoMuons(edm::Event const &e)
Definition: ExoticaDQM.cc:681
ExoticaDQM(const edm::ParameterSet &ps)
Definition: ExoticaDQM.cc:13
virtual void analyzeMonoJets(edm::Event const &e)
Definition: ExoticaDQM.cc:662
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:462
void cd(void)
Definition: DQMStore.cc:268
virtual void analyzeDiMuons(edm::Event const &e)
Definition: ExoticaDQM.cc:576
virtual double phi() const final
momentum azimuthal angle
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
void bookHistograms(DQMStore::IBooker &bei, edm::Run const &, edm::EventSetup const &) override
Definition: ExoticaDQM.cc:97
tuple vertexCollection
int iEvent
Definition: GenABIO.cc:230
T sqrt(T t)
Definition: SSEVec.h:18
virtual void analyzeDiPhotons(edm::Event const &e)
Definition: ExoticaDQM.cc:612
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
virtual void analyzeMonoPhotons(edm::Event const &e)
Definition: ExoticaDQM.cc:715
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
virtual void analyze(edm::Event const &e, edm::EventSetup const &eSetup)
Definition: ExoticaDQM.cc:232
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
virtual ~ExoticaDQM()
Definition: ExoticaDQM.cc:90
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
virtual double et() const final
transverse energy
virtual void analyzeDiElectrons(edm::Event const &e)
Definition: ExoticaDQM.cc:594
std::vector< std::string > vstring
Definition: Schedule.cc:358
Definition: Run.h:43
Collection of PF MET.
int icoll
Definition: AMPTWrapper.h:136