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 // **********************************************************************
33 
35  outputFileName_( iConfig.getParameter<std::string>( "outputFileName" ) ),
36  photonToken_( consumes<edm::View<pat::Photon> >( iConfig.getUntrackedParameter<edm::InputTag> ( "PhotonTag", edm::InputTag( "slimmedPhotons" ) ) ) ),
37  genpartToken_( consumes<reco::GenParticleCollection>( iConfig.getUntrackedParameter<edm::InputTag> ( "genpartTag", edm::InputTag( "prunedGenParticles" ) ) ) )
38 
39 {
40  parameters_ = iConfig;
41 
42 }
43 
44 
46 
47 
49 
50 
51  double eMin = parameters_.getParameter<double>("eMin");
52  double eMax = parameters_.getParameter<double>("eMax");
53  int eBin = parameters_.getParameter<int>("eBin");
54 
55 
56  double etMin = parameters_.getParameter<double>("etMin");
57  double etMax = parameters_.getParameter<double>("etMax");
58  int etBin = parameters_.getParameter<int>("etBin");
59 
60  double resMin = parameters_.getParameter<double>("resMin");
61  double resMax = parameters_.getParameter<double>("resMax");
62  int resBin = parameters_.getParameter<int>("resBin");
63 
64  double etaMin = parameters_.getParameter<double>("etaMin");
65  double etaMax = parameters_.getParameter<double>("etaMax");
66  int etaBin = parameters_.getParameter<int>("etaBin");
67 
68  double phiMin = parameters_.getParameter<double>("phiMin");
69  double phiMax = parameters_.getParameter<double>("phiMax");
70  int phiBin = parameters_.getParameter<int>("phiBin");
71 
72 
73  double r9Min = parameters_.getParameter<double>("r9Min");
74  double r9Max = parameters_.getParameter<double>("r9Max");
75  int r9Bin = parameters_.getParameter<int>("r9Bin");
76 
77 
78  iBooker.setCurrentFolder("EgammaV/PhotonValidatorMiniAOD/Photons");
79 
80  h_scEta_[0] = iBooker.book1D("scEta_miniAOD"," SC Eta ",etaBin,etaMin, etaMax);
81  h_scPhi_[0] = iBooker.book1D("scPhi_miniAOD"," SC Phi ",phiBin,phiMin,phiMax);
82 
83  std::string histname = " ";
84 
85  histname = "phoE";
86  h_phoE_[0][0]=iBooker.book1D(histname+"All_miniAOD"," Photon Energy: All ecal ", eBin,eMin, eMax);
87  h_phoE_[0][1]=iBooker.book1D(histname+"Barrel_miniAOD"," Photon Energy: barrel ",eBin,eMin, eMax);
88  h_phoE_[0][2]=iBooker.book1D(histname+"Endcap_miniAOD"," Photon Energy: Endcap ",eBin,eMin, eMax);
89 
90  histname = "phoEt";
91  h_phoEt_[0][0] = iBooker.book1D(histname+"All_miniAOD"," Photon Transverse Energy: All ecal ", etBin,etMin, etMax);
92  h_phoEt_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD"," Photon Transverse Energy: Barrel ",etBin,etMin, etMax);
93  h_phoEt_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," Photon Transverse Energy: Endcap ",etBin,etMin, etMax);
94 
95 
96  histname = "eRes";
97  h_phoERes_[0][0] = iBooker.book1D(histname+"All_miniAOD"," Photon E/E_{true}: All ecal; E/E_{true} (GeV)", resBin,resMin, resMax);
98  h_phoERes_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","Photon E/E_{true}: Barrel; E/E_{true} (GeV)",resBin,resMin, resMax);
99  h_phoERes_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD"," Photon E/E_{true}: Endcap; E/E_{true} (GeV)",resBin,resMin, resMax);
100 
101  histname = "sigmaEoE";
102  h_phoSigmaEoE_[0][0] = iBooker.book1D(histname+"All_miniAOD","#sigma_{E}/E: All ecal; #sigma_{E}/E", 100,0., 0.08);
103  h_phoSigmaEoE_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","#sigma_{E}/E: Barrel; #sigma_{E}/E",100,0., 0.08);
104  h_phoSigmaEoE_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","#sigma_{E}/E: Endcap, #sigma_{E}/E",100,0., 0.08);
105 
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";
138  h_full5x5_sigmaIetaIeta_[0][0] = iBooker.book1D(histname+"All_miniAOD", "Full5x5 sigmaIetaIeta: All Ecal",100,0., 0.1) ;
139  h_full5x5_sigmaIetaIeta_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","Full5x5 sigmaIetaIeta: Barrel ", 100,0., 0.05) ;
140  h_full5x5_sigmaIetaIeta_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","Full5x5 sigmaIetaIeta: Endcap ", 100,0., 0.1) ;
141  //
142  histname = "ecalRecHitSumEtConeDR04";
143  h_ecalRecHitSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "ecalRecHitSumEtDR04: All Ecal",etBin,etMin,20.);
144  h_ecalRecHitSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","ecalRecHitSumEtDR04: Barrel ", etBin,etMin,20.);
145  h_ecalRecHitSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","ecalRecHitSumEtDR04: Endcap ", etBin,etMin,20.);
146  histname = "hcalTowerSumEtConeDR04";
147  h_hcalTowerSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "hcalTowerSumEtConeDR04: All Ecal",etBin,etMin,20.);
148  h_hcalTowerSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","hcalTowerSumEtConeDR04: Barrel ", etBin,etMin,20.);
149  h_hcalTowerSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","hcalTowerSumEtConeDR04: Endcap ", etBin,etMin,20.);
150  //
151  histname = "hcalTowerBcSumEtConeDR04";
152  h_hcalTowerBcSumEtConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "hcalTowerBcSumEtConeDR04: All Ecal",etBin,etMin,20.);
153  h_hcalTowerBcSumEtConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","hcalTowerBcSumEtConeDR04: Barrel ", etBin,etMin,20.);
154  h_hcalTowerBcSumEtConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","hcalTowerBcSumEtConeDR04: Endcap ", etBin,etMin,20.);
155  histname = "isoTrkSolidConeDR04";
156  h_isoTrkSolidConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "isoTrkSolidConeDR04: All Ecal",etBin,etMin,etMax*0.1);
157  h_isoTrkSolidConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","isoTrkSolidConeDR04: Barrel ", etBin,etMin,etMax*0.1);
158  h_isoTrkSolidConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","isoTrkSolidConeDR04: Endcap ", etBin,etMin,etMax*0.1);
159  histname = "nTrkSolidConeDR04";
160  h_nTrkSolidConeDR04_[0][0] = iBooker.book1D(histname+"All_miniAOD", "nTrkSolidConeDR04: All Ecal",20,0., 20) ;
161  h_nTrkSolidConeDR04_[0][1] = iBooker.book1D(histname+"Barrel_miniAOD","nTrkSolidConeDR04: Barrel ", 20,0., 20) ;
162  h_nTrkSolidConeDR04_[0][2] = iBooker.book1D(histname+"Endcap_miniAOD","nTrkSolidConeDR04: Endcap ", 20,0., 20) ;
163 
164 
165  // Infos from Particle Flow - isolation and ID
166  histname = "chargedHadIso";
167  h_chHadIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF chargedHadIso: All Ecal",etBin,etMin,20.);
168  h_chHadIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF chargedHadIso: Barrel",etBin,etMin,20.);
169  h_chHadIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF chargedHadIso: Endcap",etBin,etMin,20.);
170  histname = "neutralHadIso";
171  h_nHadIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF neutralHadIso: All Ecal",etBin,etMin,20.);
172  h_nHadIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF neutralHadIso: Barrel",etBin,etMin,20.);
173  h_nHadIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF neutralHadIso: Endcap",etBin,etMin,20.);
174  histname = "photonIso";
175  h_phoIso_[0]= iBooker.book1D(histname+"All_miniAOD", "PF photonIso: All Ecal",etBin,etMin,20.);
176  h_phoIso_[1]= iBooker.book1D(histname+"Barrel_miniAOD", "PF photonIso: Barrel",etBin,etMin,20.);
177  h_phoIso_[2]= iBooker.book1D(histname+"Endcap_miniAOD", "PF photonIso: Endcap",etBin,etMin,20.);
178 
179 
180 
181 }
182 
183 void PhotonValidatorMiniAOD::endRun (edm::Run const& r, edm::EventSetup const & theEventSetup) {}
184 
185 
186 void
188 {
189 
190  // ********************************************************************************
191  using namespace edm;
192 
193  // access edm objects
194  Handle<View<pat::Photon> > photonsHandle;
195  iEvent.getByToken( photonToken_, photonsHandle );
196  const auto &photons = *photonsHandle;
197  //
199  iEvent.getByToken( genpartToken_, genParticles );
200 
201 
202 
203  for ( reco::GenParticleCollection::const_iterator mcIter=genParticles->begin() ; mcIter!=genParticles->end() ; mcIter++ ) {
204  if ( !(mcIter->pdgId() == 22 ) ) continue;
205  if ( mcIter->mother() != nullptr && !(mcIter->mother()->pdgId()==25) ) continue;
206  if ( fabs(mcIter->eta()) > 2.5 ) continue;
207  // if ( mcIter->pt() < 5) continue;
208  // if ( fabs(mcIter->eta()) > 1.4442 && fabs(mcIter->eta()) < 1.566) continue;
209 
210 
211  float mcPhi= mcIter->phi();
212  float mcEta= mcIter->eta();
213  //mcEta = etaTransformation(mcEta, (*mcPho).primaryVertex().z() );
214  float mcEnergy=mcIter->energy();
215 
216 
217 
218 
219  double dR = 9999999.;
220  float minDr=10000.;
221  int iMatch=-1;
222  bool matched=false;
223  for( size_t ipho = 0; ipho < photons.size(); ipho++ ) {
224  Ptr<pat::Photon> pho = photons.ptrAt( ipho );
225 
226 
227  double dphi = pho->phi()-mcPhi;
228  if (std::fabs(dphi)>CLHEP::pi)
229  { dphi = dphi < 0? (CLHEP::twopi) + dphi : dphi - CLHEP::twopi ; }
230  double deta = pho->superCluster()->position().eta()-mcEta;
231 
232  dR = sqrt(pow((deta),2) + pow(dphi,2));
233  if ( dR<0.1 && dR< minDr ) {
234  minDr=dR;
235  iMatch=ipho;
236  }
237  }
238 
239 
240  if ( iMatch >-1) matched=true;
241  if ( ! matched) continue;
242 
243  Ptr<pat::Photon> matchingPho = photons.ptrAt( iMatch );
244 
245  bool phoIsInBarrel=false;
246  bool phoIsInEndcap=false;
247 
248  float phoEta = matchingPho->superCluster()->position().eta();
249  if ( fabs(phoEta) < 1.479) {
250  phoIsInBarrel=true;
251  } else {
252  phoIsInEndcap=true;
253  }
254 
255 
256 
257  float photonE = matchingPho->energy();
258  float sigmaEoE = matchingPho->getCorrectedEnergyError(matchingPho->getCandidateP4type())/matchingPho->energy();
259  float photonEt= matchingPho->energy()/cosh( matchingPho->eta()) ;
260  // float photonERegr1 = matchingPho->getCorrectedEnergy(reco::Photon::regression1);
261  //float photonERegr2 = matchingPho->getCorrectedEnergy(reco::Photon::regression2);
262  float r9 = matchingPho->r9();
263  float full5x5_r9 = matchingPho->full5x5_r9();
264  float r1 = matchingPho->r1x5();
265  float r2 = matchingPho->r2x5();
266  float sieie = matchingPho->sigmaIetaIeta();
267  float full5x5_sieie = matchingPho->full5x5_sigmaIetaIeta();
268  float hOverE = matchingPho->hadronicOverEm();
269  float newhOverE = matchingPho->hadTowOverEm();
270  float ecalIso = matchingPho->ecalRecHitSumEtConeDR04();
271  float hcalIso = matchingPho->hcalTowerSumEtConeDR04();
272  float newhcalIso = matchingPho->hcalTowerSumEtBcConeDR04();
273  float trkIso = matchingPho->trkSumPtSolidConeDR04();
274  float nIsoTrk = matchingPho->nTrkSolidConeDR04();
275  // PF related quantities
276  float chargedHadIso = matchingPho->chargedHadronIso();
277  float neutralHadIso = matchingPho->neutralHadronIso();
278  float photonIso = matchingPho->photonIso();
279  // float etOutsideMustache = matchingPho->etOutsideMustache();
280  // int nClusterOutsideMustache = matchingPho->nClusterOutsideMustache();
281  //float pfMVA = matchingPho->pfMVA();
282 
283 
284  h_scEta_[0]->Fill( matchingPho->superCluster()->eta() );
285  h_scPhi_[0]->Fill( matchingPho->superCluster()->phi() );
286 
287  h_phoE_[0][0]->Fill( photonE );
288  h_phoEt_[0][0]->Fill( photonEt);
289 
290  h_phoERes_[0][0]->Fill( photonE / mcEnergy );
291  h_phoSigmaEoE_[0][0] -> Fill (sigmaEoE);
292 
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  }
340  if ( phoIsInEndcap ) {
341 
342 
343  h_phoE_[0][2]->Fill( photonE );
344  h_phoEt_[0][2]->Fill( photonEt);
345 
346  h_phoERes_[0][2]->Fill( photonE / mcEnergy);
347  h_phoSigmaEoE_[0][2] -> Fill (sigmaEoE);
348  h_r9_[0][2]->Fill( r9 );
349  h_full5x5_r9_[0][2]->Fill( full5x5_r9 );
350  h_r1_[0][2]->Fill( r1 );
351  h_r2_[0][2]->Fill( r2 );
352  h_sigmaIetaIeta_[0][2]->Fill(sieie);
353  h_full5x5_sigmaIetaIeta_[0][2]->Fill(full5x5_sieie);
354  h_hOverE_[0][2]->Fill( hOverE );
355  h_newhOverE_[0][2]->Fill( newhOverE );
356  h_ecalRecHitSumEtConeDR04_[0][2]->Fill( ecalIso );
357  h_hcalTowerSumEtConeDR04_[0][2]->Fill( hcalIso );
358  h_hcalTowerBcSumEtConeDR04_[0][2]->Fill( newhcalIso );
359  h_isoTrkSolidConeDR04_[0][2]->Fill( trkIso );
360  h_nTrkSolidConeDR04_[0][2]->Fill( nIsoTrk );
361  h_chHadIso_[2]-> Fill (chargedHadIso);
362  h_nHadIso_[2]-> Fill (neutralHadIso);
363  h_phoIso_[2]-> Fill (photonIso);
364 
365  }
366 
367 
368  } // end loop over gen photons
369 
370 
371 }
372 
373 
374 void PhotonValidatorMiniAOD::dqmBeginRun (edm::Run const & r, edm::EventSetup const & theEventSetup) {}
375 
376 
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
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:135
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
MonitorElement * h_full5x5_sigmaIetaIeta_[3][3]
void analyze(const edm::Event &, const edm::EventSetup &) override
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
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]
void Fill(long long x)
Definition: HeavyIon.h:7
const Double_t pi
float full5x5_r9() const
Definition: Photon.h:246
MonitorElement * h_sigmaIetaIeta_[3][3]
float chargedHadronIso() const
Definition: Photon.h:132
int iEvent
Definition: GenABIO.cc:230
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:243
MonitorElement * h_chHadIso_[3]
MonitorElement * h_hcalTowerBcSumEtConeDR04_[3][3]
MonitorElement * h_newhOverE_[3][3]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
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:18
MonitorElement * h_phoIso_[3]
float sigmaIetaIeta() const
Definition: Photon.h:231
double energy() const final
energy
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
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:215
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:206
float r1x5() const
Definition: Photon.h:232
float getCorrectedEnergyError(P4type type) const
MonitorElement * h_hOverE_[3][3]
MonitorElement * h_scPhi_[2]
P4type getCandidateP4type() const
Definition: Photon.h:312
MonitorElement * h_phoERes_[3][3]
MonitorElement * h_phoE_[2][3]
MonitorElement * h_r9_[3][3]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
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_
void endRun(edm::Run const &r, edm::EventSetup const &es) override
float r2x5() const
Definition: Photon.h:233
float photonIso() const
Definition: Photon.h:138
fixed size matrix
MonitorElement * h_phoEt_[2][3]
HLT enums.
float r9() const
Definition: Photon.h:234
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:40
Definition: Run.h:44