CMS 3D CMS Logo

PhotonValidatorMiniAOD.cc
Go to the documentation of this file.
1 #include <memory>
3 //
12 //#include "CommonTools/UtilAlgos/interface/TFileService.h"
16 //#include "DataFormats/Common/interface/PtrVector.h"
19 //#include "DataFormats/EgammaCandidates/interface/PhotonCore.h"
20 //#include "DataFormats/EgammaCandidates/interface/Photon.h"
24 
25 #include "CLHEP/Units/GlobalPhysicalConstants.h"
26 #include "TTree.h"
27 #include "TFile.h"
28 #include "TH1F.h"
29 #include "TH2F.h"
30 
31 // **********************************************************************
32 
34  : outputFileName_(iConfig.getParameter<std::string>("outputFileName")),
35  photonToken_(consumes<edm::View<pat::Photon> >(
36  iConfig.getUntrackedParameter<edm::InputTag>("PhotonTag", edm::InputTag("slimmedPhotons")))),
37  genpartToken_(consumes<reco::GenParticleCollection>(
38  iConfig.getUntrackedParameter<edm::InputTag>("genpartTag", edm::InputTag("prunedGenParticles"))))
39 
40 {
41  parameters_ = iConfig;
42 }
43 
45 
47  edm::Run const &run,
48  edm::EventSetup const &es) {
49  double eMin = parameters_.getParameter<double>("eMin");
50  double eMax = parameters_.getParameter<double>("eMax");
51  int eBin = parameters_.getParameter<int>("eBin");
52 
53  double etMin = parameters_.getParameter<double>("etMin");
54  double etMax = parameters_.getParameter<double>("etMax");
55  int etBin = parameters_.getParameter<int>("etBin");
56 
57  double resMin = parameters_.getParameter<double>("resMin");
58  double resMax = parameters_.getParameter<double>("resMax");
59  int resBin = parameters_.getParameter<int>("resBin");
60 
61  double etaMin = parameters_.getParameter<double>("etaMin");
62  double etaMax = parameters_.getParameter<double>("etaMax");
63  int etaBin = parameters_.getParameter<int>("etaBin");
64 
65  double phiMin = parameters_.getParameter<double>("phiMin");
66  double phiMax = parameters_.getParameter<double>("phiMax");
67  int phiBin = parameters_.getParameter<int>("phiBin");
68 
69  double r9Min = parameters_.getParameter<double>("r9Min");
70  double r9Max = parameters_.getParameter<double>("r9Max");
71  int r9Bin = parameters_.getParameter<int>("r9Bin");
72 
73  iBooker.setCurrentFolder("EgammaV/PhotonValidatorMiniAOD/Photons");
74 
75  h_scEta_[0] = iBooker.book1D("scEta_miniAOD", " SC Eta ", etaBin, etaMin, etaMax);
76  h_scPhi_[0] = iBooker.book1D("scPhi_miniAOD", " SC Phi ", phiBin, phiMin, phiMax);
77 
78  std::string histname = " ";
79 
80  histname = "phoE";
81  h_phoE_[0][0] = iBooker.book1D(histname + "All_miniAOD", " Photon Energy: All ecal ", eBin, eMin, eMax);
82  h_phoE_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " Photon Energy: barrel ", eBin, eMin, eMax);
83  h_phoE_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " Photon Energy: Endcap ", eBin, eMin, eMax);
84 
85  histname = "phoEt";
86  h_phoEt_[0][0] =
87  iBooker.book1D(histname + "All_miniAOD", " Photon Transverse Energy: All ecal ", etBin, etMin, etMax);
88  h_phoEt_[0][1] =
89  iBooker.book1D(histname + "Barrel_miniAOD", " Photon Transverse Energy: Barrel ", etBin, etMin, etMax);
90  h_phoEt_[0][2] =
91  iBooker.book1D(histname + "Endcap_miniAOD", " Photon Transverse Energy: Endcap ", etBin, etMin, etMax);
92 
93  histname = "eRes";
94  h_phoERes_[0][0] = iBooker.book1D(
95  histname + "All_miniAOD", " Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin, resMin, resMax);
96  h_phoERes_[0][1] = iBooker.book1D(
97  histname + "Barrel_miniAOD", "Photon E/E_{true}: Barrel; E/E_{true} (GeV)", resBin, resMin, resMax);
98  h_phoERes_[0][2] = iBooker.book1D(
99  histname + "Endcap_miniAOD", " Photon E/E_{true}: Endcap; E/E_{true} (GeV)", resBin, resMin, resMax);
100 
101  histname = "sigmaEoE";
102  h_phoSigmaEoE_[0][0] =
103  iBooker.book1D(histname + "All_miniAOD", "#sigma_{E}/E: All ecal; #sigma_{E}/E", 100, 0., 0.08);
104  h_phoSigmaEoE_[0][1] =
105  iBooker.book1D(histname + "Barrel_miniAOD", "#sigma_{E}/E: Barrel; #sigma_{E}/E", 100, 0., 0.08);
106  h_phoSigmaEoE_[0][2] =
107  iBooker.book1D(histname + "Endcap_miniAOD", "#sigma_{E}/E: Endcap, #sigma_{E}/E", 100, 0., 0.08);
108 
109  histname = "r9";
110  h_r9_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
111  h_r9_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
112  h_r9_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
113  histname = "full5x5_r9";
114  h_full5x5_r9_[0][0] = iBooker.book1D(histname + "All_miniAOD", " r9: All Ecal", r9Bin, r9Min, r9Max);
115  h_full5x5_r9_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " r9: Barrel ", r9Bin, r9Min, r9Max);
116  h_full5x5_r9_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " r9: Endcap ", r9Bin, r9Min, r9Max);
117  histname = "r1";
118  h_r1_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e1x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
119  h_r1_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e1x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
120  h_r1_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e1x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
121  histname = "r2";
122  h_r2_[0][0] = iBooker.book1D(histname + "All_miniAOD", " e2x5/e5x5: All Ecal", r9Bin, r9Min, r9Max);
123  h_r2_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", " e2x5/e5x5: Barrel ", r9Bin, r9Min, r9Max);
124  h_r2_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", " e2x5/e5x5: Endcap ", r9Bin, r9Min, r9Max);
125  histname = "hOverE";
126  h_hOverE_[0][0] = iBooker.book1D(histname + "All_miniAOD", "H/E: All Ecal", 100, 0., 0.2);
127  h_hOverE_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "H/E: Barrel ", 100, 0., 0.2);
128  h_hOverE_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "H/E: Endcap ", 100, 0., 0.2);
129  //
130  histname = "newhOverE";
131  h_newhOverE_[0][0] = iBooker.book1D(histname + "All_miniAOD", "new H/E: All Ecal", 100, 0., 0.2);
132  h_newhOverE_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "new H/E: Barrel ", 100, 0., 0.2);
133  h_newhOverE_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "new H/E: Endcap ", 100, 0., 0.2);
134  //
135  histname = "sigmaIetaIeta";
136  h_sigmaIetaIeta_[0][0] = iBooker.book1D(histname + "All_miniAOD", "sigmaIetaIeta: All Ecal", 100, 0., 0.1);
137  h_sigmaIetaIeta_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "sigmaIetaIeta: Barrel ", 100, 0., 0.05);
138  h_sigmaIetaIeta_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "sigmaIetaIeta: Endcap ", 100, 0., 0.1);
139  histname = "full5x5_sigmaIetaIeta";
141  iBooker.book1D(histname + "All_miniAOD", "Full5x5 sigmaIetaIeta: All Ecal", 100, 0., 0.1);
143  iBooker.book1D(histname + "Barrel_miniAOD", "Full5x5 sigmaIetaIeta: Barrel ", 100, 0., 0.05);
145  iBooker.book1D(histname + "Endcap_miniAOD", "Full5x5 sigmaIetaIeta: Endcap ", 100, 0., 0.1);
146  //
147  histname = "ecalRecHitSumEtConeDR04";
149  iBooker.book1D(histname + "All_miniAOD", "ecalRecHitSumEtDR04: All Ecal", etBin, etMin, 20.);
151  iBooker.book1D(histname + "Barrel_miniAOD", "ecalRecHitSumEtDR04: Barrel ", etBin, etMin, 20.);
153  iBooker.book1D(histname + "Endcap_miniAOD", "ecalRecHitSumEtDR04: Endcap ", etBin, etMin, 20.);
154  histname = "hcalTowerSumEtConeDR04";
156  iBooker.book1D(histname + "All_miniAOD", "hcalTowerSumEtConeDR04: All Ecal", etBin, etMin, 20.);
158  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerSumEtConeDR04: Barrel ", etBin, etMin, 20.);
160  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerSumEtConeDR04: Endcap ", etBin, etMin, 20.);
161  //
162  histname = "hcalTowerBcSumEtConeDR04";
164  iBooker.book1D(histname + "All_miniAOD", "hcalTowerBcSumEtConeDR04: All Ecal", etBin, etMin, 20.);
166  iBooker.book1D(histname + "Barrel_miniAOD", "hcalTowerBcSumEtConeDR04: Barrel ", etBin, etMin, 20.);
168  iBooker.book1D(histname + "Endcap_miniAOD", "hcalTowerBcSumEtConeDR04: Endcap ", etBin, etMin, 20.);
169  histname = "isoTrkSolidConeDR04";
170  h_isoTrkSolidConeDR04_[0][0] =
171  iBooker.book1D(histname + "All_miniAOD", "isoTrkSolidConeDR04: All Ecal", etBin, etMin, etMax * 0.1);
172  h_isoTrkSolidConeDR04_[0][1] =
173  iBooker.book1D(histname + "Barrel_miniAOD", "isoTrkSolidConeDR04: Barrel ", etBin, etMin, etMax * 0.1);
174  h_isoTrkSolidConeDR04_[0][2] =
175  iBooker.book1D(histname + "Endcap_miniAOD", "isoTrkSolidConeDR04: Endcap ", etBin, etMin, etMax * 0.1);
176  histname = "nTrkSolidConeDR04";
177  h_nTrkSolidConeDR04_[0][0] = iBooker.book1D(histname + "All_miniAOD", "nTrkSolidConeDR04: All Ecal", 20, 0., 20);
178  h_nTrkSolidConeDR04_[0][1] = iBooker.book1D(histname + "Barrel_miniAOD", "nTrkSolidConeDR04: Barrel ", 20, 0., 20);
179  h_nTrkSolidConeDR04_[0][2] = iBooker.book1D(histname + "Endcap_miniAOD", "nTrkSolidConeDR04: Endcap ", 20, 0., 20);
180 
181  // Infos from Particle Flow - isolation and ID
182  histname = "chargedHadIso";
183  h_chHadIso_[0] = iBooker.book1D(histname + "All_miniAOD", "PF chargedHadIso: All Ecal", etBin, etMin, 20.);
184  h_chHadIso_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF chargedHadIso: Barrel", etBin, etMin, 20.);
185  h_chHadIso_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF chargedHadIso: Endcap", etBin, etMin, 20.);
186  histname = "neutralHadIso";
187  h_nHadIso_[0] = iBooker.book1D(histname + "All_miniAOD", "PF neutralHadIso: All Ecal", etBin, etMin, 20.);
188  h_nHadIso_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF neutralHadIso: Barrel", etBin, etMin, 20.);
189  h_nHadIso_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF neutralHadIso: Endcap", etBin, etMin, 20.);
190  histname = "photonIso";
191  h_phoIso_[0] = iBooker.book1D(histname + "All_miniAOD", "PF photonIso: All Ecal", etBin, etMin, 20.);
192  h_phoIso_[1] = iBooker.book1D(histname + "Barrel_miniAOD", "PF photonIso: Barrel", etBin, etMin, 20.);
193  h_phoIso_[2] = iBooker.book1D(histname + "Endcap_miniAOD", "PF photonIso: Endcap", etBin, etMin, 20.);
194 }
195 
196 void PhotonValidatorMiniAOD::dqmEndRun(edm::Run const &r, edm::EventSetup const &theEventSetup) {}
197 
199  // ********************************************************************************
200  using namespace edm;
201 
202  // access edm objects
203  Handle<View<pat::Photon> > photonsHandle;
204  iEvent.getByToken(photonToken_, photonsHandle);
205  const auto &photons = *photonsHandle;
206  //
208  iEvent.getByToken(genpartToken_, genParticles);
209 
210  for (reco::GenParticleCollection::const_iterator mcIter = genParticles->begin(); mcIter != genParticles->end();
211  mcIter++) {
212  if (!(mcIter->pdgId() == 22))
213  continue;
214  if (mcIter->mother() != nullptr && !(mcIter->mother()->pdgId() == 25))
215  continue;
216  if (fabs(mcIter->eta()) > 2.5)
217  continue;
218  // if ( mcIter->pt() < 5) continue;
219  // if ( fabs(mcIter->eta()) > 1.4442 && fabs(mcIter->eta()) < 1.566) continue;
220 
221  float mcPhi = mcIter->phi();
222  float mcEta = mcIter->eta();
223  //mcEta = etaTransformation(mcEta, (*mcPho).primaryVertex().z() );
224  float mcEnergy = mcIter->energy();
225 
226  double dR = 9999999.;
227  float minDr = 10000.;
228  int iMatch = -1;
229  bool matched = false;
230  for (size_t ipho = 0; ipho < photons.size(); ipho++) {
231  Ptr<pat::Photon> pho = photons.ptrAt(ipho);
232 
233  double dphi = pho->phi() - mcPhi;
234  if (std::fabs(dphi) > CLHEP::pi) {
235  dphi = dphi < 0 ? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi;
236  }
237  double deta = pho->superCluster()->position().eta() - mcEta;
238 
239  dR = sqrt(pow((deta), 2) + pow(dphi, 2));
240  if (dR < 0.1 && dR < minDr) {
241  minDr = dR;
242  iMatch = ipho;
243  }
244  }
245 
246  if (iMatch > -1)
247  matched = true;
248  if (!matched)
249  continue;
250 
251  Ptr<pat::Photon> matchingPho = photons.ptrAt(iMatch);
252 
253  bool phoIsInBarrel = false;
254  bool phoIsInEndcap = false;
255 
256  float phoEta = matchingPho->superCluster()->position().eta();
257  if (fabs(phoEta) < 1.479) {
258  phoIsInBarrel = true;
259  } else {
260  phoIsInEndcap = true;
261  }
262 
263  float photonE = matchingPho->energy();
264  float sigmaEoE = matchingPho->getCorrectedEnergyError(matchingPho->getCandidateP4type()) / matchingPho->energy();
265  float photonEt = matchingPho->energy() / cosh(matchingPho->eta());
266  // float photonERegr1 = matchingPho->getCorrectedEnergy(reco::Photon::regression1);
267  //float photonERegr2 = matchingPho->getCorrectedEnergy(reco::Photon::regression2);
268  float r9 = matchingPho->r9();
269  float full5x5_r9 = matchingPho->full5x5_r9();
270  float r1 = matchingPho->r1x5();
271  float r2 = matchingPho->r2x5();
272  float sieie = matchingPho->sigmaIetaIeta();
273  float full5x5_sieie = matchingPho->full5x5_sigmaIetaIeta();
274  float hOverE = matchingPho->hadronicOverEm();
275  float newhOverE = matchingPho->hadTowOverEm();
276  float ecalIso = matchingPho->ecalRecHitSumEtConeDR04();
277  float hcalIso = matchingPho->hcalTowerSumEtConeDR04();
278  float newhcalIso = matchingPho->hcalTowerSumEtBcConeDR04();
279  float trkIso = matchingPho->trkSumPtSolidConeDR04();
280  float nIsoTrk = matchingPho->nTrkSolidConeDR04();
281  // PF related quantities
282  float chargedHadIso = matchingPho->chargedHadronIso();
283  float neutralHadIso = matchingPho->neutralHadronIso();
284  float photonIso = matchingPho->photonIso();
285  // float etOutsideMustache = matchingPho->etOutsideMustache();
286  // int nClusterOutsideMustache = matchingPho->nClusterOutsideMustache();
287  //float pfMVA = matchingPho->pfMVA();
288 
289  h_scEta_[0]->Fill(matchingPho->superCluster()->eta());
290  h_scPhi_[0]->Fill(matchingPho->superCluster()->phi());
291 
292  h_phoE_[0][0]->Fill(photonE);
293  h_phoEt_[0][0]->Fill(photonEt);
294 
295  h_phoERes_[0][0]->Fill(photonE / mcEnergy);
296  h_phoSigmaEoE_[0][0]->Fill(sigmaEoE);
297 
298  h_r9_[0][0]->Fill(r9);
299  h_full5x5_r9_[0][0]->Fill(full5x5_r9);
300  h_r1_[0][0]->Fill(r1);
301  h_r2_[0][0]->Fill(r2);
302 
303  h_sigmaIetaIeta_[0][0]->Fill(sieie);
304  h_full5x5_sigmaIetaIeta_[0][0]->Fill(full5x5_sieie);
305  h_hOverE_[0][0]->Fill(hOverE);
306  h_newhOverE_[0][0]->Fill(newhOverE);
307 
308  h_ecalRecHitSumEtConeDR04_[0][0]->Fill(ecalIso);
309  h_hcalTowerSumEtConeDR04_[0][0]->Fill(hcalIso);
310  h_hcalTowerBcSumEtConeDR04_[0][0]->Fill(newhcalIso);
311  h_isoTrkSolidConeDR04_[0][0]->Fill(trkIso);
312  h_nTrkSolidConeDR04_[0][0]->Fill(nIsoTrk);
313 
314  //
315  h_chHadIso_[0]->Fill(chargedHadIso);
316  h_nHadIso_[0]->Fill(neutralHadIso);
317  h_phoIso_[0]->Fill(photonIso);
318 
319  //
320  if (phoIsInBarrel) {
321  h_phoE_[0][1]->Fill(photonE);
322  h_phoEt_[0][1]->Fill(photonEt);
323  h_phoERes_[0][1]->Fill(photonE / mcEnergy);
324  h_phoSigmaEoE_[0][1]->Fill(sigmaEoE);
325 
326  h_r9_[0][1]->Fill(r9);
327  h_full5x5_r9_[0][1]->Fill(full5x5_r9);
328  h_r1_[0][1]->Fill(r1);
329  h_r2_[0][1]->Fill(r2);
330  h_sigmaIetaIeta_[0][1]->Fill(sieie);
331  h_full5x5_sigmaIetaIeta_[0][1]->Fill(full5x5_sieie);
332  h_hOverE_[0][1]->Fill(hOverE);
333  h_newhOverE_[0][1]->Fill(newhOverE);
334  h_ecalRecHitSumEtConeDR04_[0][1]->Fill(ecalIso);
335  h_hcalTowerSumEtConeDR04_[0][1]->Fill(hcalIso);
336  h_hcalTowerBcSumEtConeDR04_[0][1]->Fill(newhcalIso);
337  h_isoTrkSolidConeDR04_[0][1]->Fill(trkIso);
338  h_nTrkSolidConeDR04_[0][1]->Fill(nIsoTrk);
339  h_chHadIso_[1]->Fill(chargedHadIso);
340  h_nHadIso_[1]->Fill(neutralHadIso);
341  h_phoIso_[1]->Fill(photonIso);
342  }
343  if (phoIsInEndcap) {
344  h_phoE_[0][2]->Fill(photonE);
345  h_phoEt_[0][2]->Fill(photonEt);
346 
347  h_phoERes_[0][2]->Fill(photonE / mcEnergy);
348  h_phoSigmaEoE_[0][2]->Fill(sigmaEoE);
349  h_r9_[0][2]->Fill(r9);
350  h_full5x5_r9_[0][2]->Fill(full5x5_r9);
351  h_r1_[0][2]->Fill(r1);
352  h_r2_[0][2]->Fill(r2);
353  h_sigmaIetaIeta_[0][2]->Fill(sieie);
354  h_full5x5_sigmaIetaIeta_[0][2]->Fill(full5x5_sieie);
355  h_hOverE_[0][2]->Fill(hOverE);
356  h_newhOverE_[0][2]->Fill(newhOverE);
357  h_ecalRecHitSumEtConeDR04_[0][2]->Fill(ecalIso);
358  h_hcalTowerSumEtConeDR04_[0][2]->Fill(hcalIso);
359  h_hcalTowerBcSumEtConeDR04_[0][2]->Fill(newhcalIso);
360  h_isoTrkSolidConeDR04_[0][2]->Fill(trkIso);
361  h_nTrkSolidConeDR04_[0][2]->Fill(nIsoTrk);
362  h_chHadIso_[2]->Fill(chargedHadIso);
363  h_nHadIso_[2]->Fill(neutralHadIso);
364  h_phoIso_[2]->Fill(photonIso);
365  }
366 
367  } // end loop over gen photons
368 }
369 
370 void PhotonValidatorMiniAOD::dqmBeginRun(edm::Run const &r, edm::EventSetup const &theEventSetup) {}
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
Definition: DQMStore.cc:239
T getParameter(std::string const &) const
edm::EDGetTokenT< reco::GenParticleCollection > genpartToken_
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
Definition: Photon.py:1
double eta() const final
momentum pseudorapidity
float neutralHadronIso() const
Definition: Photon.h:130
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * h_full5x5_sigmaIetaIeta_[3][3]
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:418
void analyze(const edm::Event &, const edm::EventSetup &) override
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
void dqmEndRun(edm::Run const &r, edm::EventSetup const &es) override
MonitorElement * h_r1_[3][3]
MonitorElement * h_full5x5_r9_[3][3]
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
MonitorElement * h_phoSigmaEoE_[3][3]
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
MonitorElement * h_nHadIso_[3]
MonitorElement * h_ecalRecHitSumEtConeDR04_[3][3]
Definition: HeavyIon.h:7
const Double_t pi
void Fill(long long x)
eBin
CAREFULL for the time being only Loos exists 1 => Tight Photon = GoodCandidate.
float full5x5_r9() const
Definition: Photon.h:252
MonitorElement * h_sigmaIetaIeta_[3][3]
float chargedHadronIso() const
Definition: Photon.h:127
int iEvent
Definition: GenABIO.cc:224
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:249
MonitorElement * h_chHadIso_[3]
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
MonitorElement * h_newhOverE_[3][3]
float hcalTowerSumEtBcConeDR04() const
Hcal isolation sum subtracting the hadronic energy in towers behind the BCs in the SC...
Definition: Photon.h:418
MonitorElement * h_isoTrkSolidConeDR04_[3][3]
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * h_phoIso_[3]
float sigmaIetaIeta() const
Definition: Photon.h:237
double energy() const final
energy
MonitorElement * h_nTrkSolidConeDR04_[3][3]
float hadTowOverEm() const
the ration of hadronic energy in towers behind the BCs in the SC and the SC energy ...
Definition: Photon.h:217
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:208
float r1x5() const
Definition: Photon.h:238
float getCorrectedEnergyError(P4type type) const
MonitorElement * h_hOverE_[3][3]
MonitorElement * h_scPhi_[2]
P4type getCandidateP4type() const
Definition: Photon.h:316
MonitorElement * h_phoERes_[3][3]
MonitorElement * h_phoE_[2][3]
MonitorElement * h_r9_[3][3]
int nTrkSolidConeDR04() const
Definition: Photon.h:428
void dqmBeginRun(edm::Run const &r, edm::EventSetup const &theEventSetup) override
edm::EDGetTokenT< edm::View< pat::Photon > > photonToken_
float r2x5() const
Definition: Photon.h:239
float photonIso() const
Definition: Photon.h:133
fixed size matrix
MonitorElement * h_phoEt_[2][3]
HLT enums.
float r9() const
Definition: Photon.h:240
MonitorElement * h_hcalTowerSumEtConeDR04_[3][3]
MonitorElement * h_r2_[3][3]
double phi() const final
momentum azimuthal angle
MonitorElement * h_scEta_[2]
PhotonValidatorMiniAOD(const edm::ParameterSet &)
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
Definition: Run.h:45