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