CMS 3D CMS Logo

SimplePhotonAnalyzer.cc
Go to the documentation of this file.
1 
30 
31 #include "CLHEP/Units/GlobalPhysicalConstants.h"
32 
33 #include "TFile.h"
34 #include "TH1.h"
35 #include "TProfile.h"
36 
37 #include <memory>
38 #include <string>
39 
41 public:
44 
45  explicit SimplePhotonAnalyzer(const edm::ParameterSet&);
46  ~SimplePhotonAnalyzer() override;
47 
48  void analyze(const edm::Event&, const edm::EventSetup&) override;
49  void beginJob() override;
50  void endJob() override;
51 
52 private:
53  float etaTransformation(float a, float b);
54 
63 
65 
67  float sample_;
68 
70 
89 
94 };
95 
98 
99 //========================================================================
101 //========================================================================
102 {
104  photonCollection_ = ps.getParameter<std::string>("photonCollection");
105 
106  barrelEcalHits_ = ps.getParameter<edm::InputTag>("barrelEcalHits");
107  endcapEcalHits_ = ps.getParameter<edm::InputTag>("endcapEcalHits");
108 
109  pfEgammaCandidates_ = ps.getParameter<edm::InputTag>("pfEgammaCandidates");
110  valueMapPFCandPhoton_ = ps.getParameter<std::string>("valueMapPhotons");
111 
112  mcProducer_ = ps.getParameter<std::string>("mcProducer");
113  //mcCollection_ = ps.getParameter<std::string>("mcCollection");
114  vertexProducer_ = ps.getParameter<std::string>("primaryVertexProducer");
115  sample_ = ps.getParameter<int>("sample");
116 }
117 
118 //========================================================================
120 //========================================================================
121 {}
122 
123 //========================================================================
125  //========================================================================
126 
127  dbe_ = nullptr;
128  dbe_ = edm::Service<DQMStore>().operator->();
129 
130  float hiE = 0;
131  float loE = 0;
132  float hiEt = 0;
133  float loEt = 0;
134  float dPhi = 0;
135  float loRes = 0;
136  float hiRes = 0;
137  if (sample_ == 1) {
138  loE = 0.;
139  hiE = 30.;
140  loEt = 0.;
141  hiEt = 30.;
142  dPhi = 0.2;
143  loRes = 0.;
144  hiRes = 1.2;
145  } else if (sample_ == 2) {
146  loE = 0.;
147  hiE = 200.;
148  loEt = 0.;
149  hiEt = 50.;
150  dPhi = 0.05;
151  loRes = 0.7;
152  hiRes = 1.2;
153  } else if (sample_ == 3) {
154  loE = 0.;
155  hiE = 500.;
156  loEt = 0.;
157  hiEt = 500.;
158  dPhi = 0.05;
159  loRes = 0.7;
160  hiRes = 1.2;
161  } else if (sample_ == 4) {
162  loE = 0.;
163  hiE = 6000.;
164  loEt = 0.;
165  hiEt = 1200.;
166  dPhi = 0.05;
167  loRes = 0.7;
168  hiRes = 1.2;
169  }
170 
171  h1_deltaEta_ = dbe_->book1D("deltaEta", " Reco photon Eta minus Generated photon Eta ", 100, -0.2, 0.2);
172  h1_deltaPhi_ = dbe_->book1D("deltaPhi", "Reco photon Phi minus Generated photon Phi ", 100, -dPhi, dPhi);
173  h1_pho_Eta_ = dbe_->book1D("phoEta", "Photon Eta ", 40, -3., 3.);
174  h1_pho_Phi_ = dbe_->book1D("phoPhi", "Photon Phi ", 40, -3.14, 3.14);
175  h1_pho_E_ = dbe_->book1D("phoE", "Photon Energy ", 100, loE, hiE);
176  h1_pho_Et_ = dbe_->book1D("phoEt", "Photon Et ", 100, loEt, hiEt);
177 
178  h1_scEta_ = dbe_->book1D("scEta", " SC Eta ", 40, -3., 3.);
179  h1_deltaEtaSC_ = dbe_->book1D("deltaEtaSC", " SC Eta minus Generated photon Eta ", 100, -0.02, 0.02);
180 
181  //
183  "recEoverTrueEBarrel", " Reco photon Energy over Generated photon Energy: Barrel ", 100, loRes, hiRes);
185  "recEoverTrueEEndcap", " Reco photon Energy over Generated photon Energy: Endcap ", 100, loRes, hiRes);
186 
187  //
188 
189  h1_pho_R9Barrel_ = dbe_->book1D("phoR9Barrel", "Photon 3x3 energy / SuperCluster energy : Barrel ", 100, 0., 1.2);
190  h1_pho_R9Endcap_ = dbe_->book1D("phoR9Endcap", "Photon 3x3 energy / SuperCluster energy : Endcap ", 100, 0., 1.2);
191  h1_pho_sigmaIetaIetaBarrel_ = dbe_->book1D("sigmaIetaIetaBarrel", "sigmaIetaIeta: Barrel", 100, 0., 0.05);
192  h1_pho_sigmaIetaIetaEndcap_ = dbe_->book1D("sigmaIetaIetaEndcap", "sigmaIetaIeta: Endcap", 100, 0., 0.1);
193  h1_pho_hOverEBarrel_ = dbe_->book1D("hOverEBarrel", "H/E: Barrel", 100, 0., 0.1);
194  h1_pho_hOverEEndcap_ = dbe_->book1D("hOverEEndcap", "H/E: Endcap", 100, 0., 0.1);
195  h1_pho_ecalIsoBarrel_ = dbe_->book1D("ecalIsolBarrel", "isolation et sum in Ecal: Barrel", 100, 0., 100.);
196  h1_pho_ecalIsoEndcap_ = dbe_->book1D("ecalIsolEndcap", "isolation et sum in Ecal: Endcap", 100, 0., 100.);
197  h1_pho_hcalIsoBarrel_ = dbe_->book1D("hcalIsolBarrel", "isolation et sum in Hcal: Barrel", 100, 0., 100.);
198  h1_pho_hcalIsoEndcap_ = dbe_->book1D("hcalIsolEndcap", "isolation et sum in Hcal: Endcap", 100, 0., 100.);
199  h1_pho_trkIsoBarrel_ = dbe_->book1D("trkIsolBarrel", "isolation pt sum in the tracker: Barrel", 100, 0., 100.);
200  h1_pho_trkIsoEndcap_ = dbe_->book1D("trkIsolEndcap", "isolation pt sum in the tracker: Endcap", 100, 0., 100.);
201 }
202 
203 //========================================================================
205  //========================================================================
206 
207  using namespace edm; // needed for all fwk related classes
208  edm::LogInfo("PhotonAnalyzer") << "Analyzing event number: " << evt.id() << "\n";
209 
210  // get the calo topology from the event setup:
211  edm::ESHandle<CaloTopology> pTopology;
213 
214  // Get the corrected photon collection (set in the configuration) which also contains infos about conversions
215 
216  Handle<reco::PhotonCollection> photonHandle;
218  const reco::PhotonCollection photonCollection = *(photonHandle.product());
219 
220  Handle<HepMCProduct> hepProd;
221  evt.getByLabel(mcProducer_, hepProd);
222  const HepMC::GenEvent* myGenEvent = hepProd->GetEvent();
223 
224  // Get the PF refined cluster collection
225  Handle<reco::PFCandidateCollection> pfCandidateHandle;
226  evt.getByLabel(pfEgammaCandidates_, pfCandidateHandle);
227  if (!pfCandidateHandle.isValid()) {
228  edm::LogError("SimplePhotonAnalyzer") << "Error! Can't get the product " << pfEgammaCandidates_.label();
229  }
230 
231  edm::Handle<edm::ValueMap<reco::PhotonRef> > pfCandToPhotonMapHandle;
232  edm::ValueMap<reco::PhotonRef> pfCandToPhotonMap;
233  evt.getByLabel("gedPhotons", valueMapPFCandPhoton_, pfCandToPhotonMapHandle);
234  if (!pfCandToPhotonMapHandle.isValid()) {
235  edm::LogInfo("SimplePhotonAnalyzer") << "Error! Can't get the product: valueMapPhotons " << std::endl;
236  }
237  pfCandToPhotonMap = *(pfCandToPhotonMapHandle.product());
238 
239  std::cout << " SimplePhotonAnalyzer valueMap size" << pfCandToPhotonMap.size() << std::endl;
240  unsigned nObj = pfCandidateHandle->size();
241  for (unsigned int lCand = 0; lCand < nObj; lCand++) {
242  reco::PFCandidateRef pfCandRef(reco::PFCandidateRef(pfCandidateHandle, lCand));
243  if (pfCandRef->particleId() != reco::PFCandidate::gamma)
244  continue;
245  reco::PhotonRef myPho = (pfCandToPhotonMap)[pfCandRef];
246  if (myPho.isNonnull())
247  std::cout << " PF SC " << pfCandRef->superClusterRef()->energy() << " Photon SC "
248  << myPho->superCluster()->energy() << std::endl;
249  }
250 
251  for (HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end();
252  ++p) {
253  if (!((*p)->pdg_id() == 22 && (*p)->status() == 1))
254  continue;
255 
256  // single primary photons or photons from Higgs or RS Graviton
257  HepMC::GenParticle* mother = nullptr;
258  if ((*p)->production_vertex()) {
259  if ((*p)->production_vertex()->particles_begin(HepMC::parents) !=
260  (*p)->production_vertex()->particles_end(HepMC::parents))
261  mother = *((*p)->production_vertex()->particles_begin(HepMC::parents));
262  }
263  if (((mother == nullptr) || ((mother != nullptr) && (mother->pdg_id() == 25)) ||
264  ((mother != nullptr) && (mother->pdg_id() == 22)))) {
265  float minDelta = 10000.;
266  std::vector<reco::Photon> localPhotons;
267  int index = 0;
268  int iMatch = -1;
269 
270  float phiPho = (*p)->momentum().phi();
271  float etaPho = (*p)->momentum().eta();
272  etaPho = etaTransformation(etaPho, (*p)->production_vertex()->position().z() / 10.);
273 
274  bool matched = false;
275  // loop Photon candidates
276  for (reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end();
277  iPho++) {
278  reco::Photon localPho = reco::Photon(*iPho);
279  localPhotons.push_back(localPho);
280 
282  float phiClu = localPho.phi();
283  float etaClu = localPho.eta();
284  float deltaPhi = phiClu - phiPho;
285  float deltaEta = etaClu - etaPho;
286 
287  if (deltaPhi > pi)
288  deltaPhi -= twopi;
289  if (deltaPhi < -pi)
290  deltaPhi += twopi;
291  deltaPhi = std::pow(deltaPhi, 2);
292  deltaEta = std::pow(deltaEta, 2);
293  float delta = sqrt(deltaPhi + deltaEta);
294  if (delta < 0.1 && delta < minDelta) {
295  minDelta = delta;
296  iMatch = index;
297  }
298  index++;
299  } // End loop over photons
300 
301  if (iMatch > -1)
302  matched = true;
303 
305  if (matched) {
306  reco::Photon matchingPho = localPhotons[iMatch];
307 
308  bool phoIsInBarrel = false;
309  if (fabs(matchingPho.superCluster()->position().eta()) < 1.479) {
310  phoIsInBarrel = true;
311  }
312  edm::Handle<EcalRecHitCollection> ecalRecHitHandle;
313 
314  h1_scEta_->Fill(matchingPho.superCluster()->position().eta());
315  float trueEta = (*p)->momentum().eta();
316  trueEta = etaTransformation(trueEta, (*p)->production_vertex()->position().z() / 10.);
317  h1_deltaEtaSC_->Fill(localPhotons[iMatch].superCluster()->eta() - trueEta);
318 
319  float photonE = matchingPho.energy();
320  float photonEt = matchingPho.et();
321  float photonEta = matchingPho.eta();
322  float photonPhi = matchingPho.phi();
323 
324  float r9 = matchingPho.r9();
325  float sigmaIetaIeta = matchingPho.sigmaIetaIeta();
326  float hOverE = matchingPho.hadronicOverEm();
327  float ecalIso = matchingPho.ecalRecHitSumEtConeDR04();
328  float hcalIso = matchingPho.hcalTowerSumEtConeDR04();
329  float trkIso = matchingPho.trkSumPtSolidConeDR04();
330 
331  h1_pho_E_->Fill(photonE);
332  h1_pho_Et_->Fill(photonEt);
335 
336  h1_deltaEta_->Fill(photonEta - (*p)->momentum().eta());
337  h1_deltaPhi_->Fill(photonPhi - (*p)->momentum().phi());
338 
339  if (phoIsInBarrel) {
340  h1_recEoverTrueEBarrel_->Fill(photonE / (*p)->momentum().e());
342  h1_pho_sigmaIetaIetaBarrel_->Fill(sigmaIetaIeta);
344  h1_pho_ecalIsoBarrel_->Fill(ecalIso);
345  h1_pho_hcalIsoBarrel_->Fill(hcalIso);
346  h1_pho_trkIsoBarrel_->Fill(trkIso);
347 
348  } else {
349  h1_recEoverTrueEEndcap_->Fill(photonE / (*p)->momentum().e());
351  h1_pho_sigmaIetaIetaEndcap_->Fill(sigmaIetaIeta);
353  h1_pho_ecalIsoEndcap_->Fill(ecalIso);
354  h1_pho_hcalIsoEndcap_->Fill(hcalIso);
355  h1_pho_trkIsoEndcap_->Fill(trkIso);
356  }
357 
358  } // reco photon matching MC truth
359 
360  } // End loop over MC particles
361  }
362 }
363 
364 float SimplePhotonAnalyzer::etaTransformation(float EtaParticle, float Zvertex) {
365  //---Definitions
366  const float PI = 3.1415927;
367  //UNUSED const float TWOPI = 2.0*PI;
368 
369  //---Definitions for ECAL
370  const float R_ECAL = 136.5;
371  const float Z_Endcap = 328.0;
372  const float etaBarrelEndcap = 1.479;
373 
374  //---ETA correction
375 
376  float Theta = 0.0;
377  float ZEcal = R_ECAL * sinh(EtaParticle) + Zvertex;
378 
379  if (ZEcal != 0.0)
380  Theta = atan(R_ECAL / ZEcal);
381  if (Theta < 0.0)
382  Theta = Theta + PI;
383  float ETA = -log(tan(0.5 * Theta));
384 
385  if (fabs(ETA) > etaBarrelEndcap) {
386  float Zend = Z_Endcap;
387  if (EtaParticle < 0.0)
388  Zend = -Zend;
389  float Zlen = Zend - Zvertex;
390  float RR = Zlen / sinh(EtaParticle);
391  Theta = atan(RR / Zend);
392  if (Theta < 0.0)
393  Theta = Theta + PI;
394  ETA = -log(tan(0.5 * Theta));
395  }
396  //---Return the result
397  return ETA;
398  //---end
399 }
400 
401 //========================================================================
403  //========================================================================
404 }
muonTagProbeFilters_cff.matched
matched
Definition: muonTagProbeFilters_cff.py:62
PI
Definition: PayloadInspector.h:21
SimplePhotonAnalyzer::sample_
float sample_
Definition: SimplePhotonAnalyzer.cc:67
SimplePhotonAnalyzer::h1_deltaEta_
MonitorElement * h1_deltaEta_
Definition: SimplePhotonAnalyzer.cc:92
electrons_cff.r9
r9
Definition: electrons_cff.py:360
Handle.h
EDAnalyzer.h
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
ESHandle.h
reco::Photon::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: Photon.h:237
PFCandidate.h
PI
#define PI
Definition: QcdUeDQM.h:37
SimplePhotonAnalyzer::h1_pho_Phi_
MonitorElement * h1_pho_Phi_
Definition: SimplePhotonAnalyzer.cc:76
edm
HLT enums.
Definition: AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
SimplePhotonAnalyzer::h1_pho_Et_
MonitorElement * h1_pho_Et_
Definition: SimplePhotonAnalyzer.cc:74
SimplePhotonAnalyzer::beginJob
void beginJob() override
Definition: SimplePhotonAnalyzer.cc:124
SimplePhotonAnalyzer
Definition: SimplePhotonAnalyzer.cc:40
SimplePhotonAnalyzer::h1_pho_trkIsoEndcap_
MonitorElement * h1_pho_trkIsoEndcap_
Definition: SimplePhotonAnalyzer.cc:88
DQMStore.h
PhotonFwd.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
SimplePhotonAnalyzer::h1_pho_hcalIsoEndcap_
MonitorElement * h1_pho_hcalIsoEndcap_
Definition: SimplePhotonAnalyzer.cc:86
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
SimplePhotonAnalyzer::pfEgammaCandidates_
edm::InputTag pfEgammaCandidates_
Definition: SimplePhotonAnalyzer.cc:60
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13703
SimplePhotonAnalyzer::h1_recEoverTrueEBarrel_
MonitorElement * h1_recEoverTrueEBarrel_
Definition: SimplePhotonAnalyzer.cc:90
HLTObjectMonitor_cfi.photonEta
photonEta
Definition: HLTObjectMonitor_cfi.py:62
edm::Handle< reco::PhotonCollection >
SimplePhotonAnalyzer::endcapEcalHits_
edm::InputTag endcapEcalHits_
Definition: SimplePhotonAnalyzer.cc:62
SimplePhotonAnalyzer::h1_pho_R9Barrel_
MonitorElement * h1_pho_R9Barrel_
Definition: SimplePhotonAnalyzer.cc:77
SimplePhotonAnalyzer::h1_pho_ecalIsoBarrel_
MonitorElement * h1_pho_ecalIsoBarrel_
Definition: SimplePhotonAnalyzer.cc:83
EcalRecHitCollections.h
SimplePhotonAnalyzer::endJob
void endJob() override
Definition: SimplePhotonAnalyzer.cc:402
SimplePhotonAnalyzer::h1_pho_ecalIsoEndcap_
MonitorElement * h1_pho_ecalIsoEndcap_
Definition: SimplePhotonAnalyzer.cc:84
SimplePhotonAnalyzer::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SimplePhotonAnalyzer.cc:204
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
edm::Ref< PFCandidateCollection >
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
MakerMacros.h
Photon.h
SimplePhotonAnalyzer::vertexProducer_
std::string vertexProducer_
Definition: SimplePhotonAnalyzer.cc:66
SimplePhotonAnalyzer::MonitorElement
dqm::legacy::MonitorElement MonitorElement
Definition: SimplePhotonAnalyzer.cc:43
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
dqm::legacy::DQMStore
Definition: DQMStore.h:727
spr::deltaEta
static const double deltaEta
Definition: CaloConstants.h:8
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
Service.h
PVValHelper::eta
Definition: PVValidationHelpers.h:70
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle< CaloTopology >
SimplePhotonAnalyzer::mcProducer_
std::string mcProducer_
Definition: SimplePhotonAnalyzer.cc:55
edm::Event::getByLabel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:496
b
double b
Definition: hdecay.h:118
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SimplePhotonAnalyzer::etaTransformation
float etaTransformation(float a, float b)
Definition: SimplePhotonAnalyzer.cc:364
TFileService.h
SimplePhotonAnalyzer::h1_pho_hOverEBarrel_
MonitorElement * h1_pho_hOverEBarrel_
Definition: SimplePhotonAnalyzer.cc:81
EgHLTOffHistBins_cfi.hOverE
hOverE
Definition: EgHLTOffHistBins_cfi.py:17
SimplePhotonAnalyzer::h1_pho_sigmaIetaIetaBarrel_
MonitorElement * h1_pho_sigmaIetaIetaBarrel_
Definition: SimplePhotonAnalyzer.cc:79
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
reco::Photon::r9
float r9() const
Definition: Photon.h:240
Event.h
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
SimplePhotonAnalyzer::h1_pho_trkIsoBarrel_
MonitorElement * h1_pho_trkIsoBarrel_
Definition: SimplePhotonAnalyzer.cc:87
SimplePhotonAnalyzer::DQMStore
dqm::legacy::DQMStore DQMStore
Definition: SimplePhotonAnalyzer.cc:42
SimplePhotonAnalyzer::h1_scEta_
MonitorElement * h1_scEta_
Definition: SimplePhotonAnalyzer.cc:71
SimplePhotonAnalyzer::h1_deltaPhi_
MonitorElement * h1_deltaPhi_
Definition: SimplePhotonAnalyzer.cc:93
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
dumpMFGeometry_cfg.delta
delta
Definition: dumpMFGeometry_cfg.py:25
CaloTopologyRecord.h
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
edm::Service
Definition: Service.h:30
SiPixelOfflineDQM_source_cff.hiRes
hiRes
Definition: SiPixelOfflineDQM_source_cff.py:43
reco::PFCandidate::gamma
Definition: PFCandidate.h:49
SimplePhotonAnalyzer::SimplePhotonAnalyzer
SimplePhotonAnalyzer(const edm::ParameterSet &)
Definition: SimplePhotonAnalyzer.cc:100
edm::EventSetup
Definition: EventSetup.h:58
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
SimplePhotonAnalyzer::h1_pho_E_
MonitorElement * h1_pho_E_
Definition: SimplePhotonAnalyzer.cc:73
nanoDQM_cff.Photon
Photon
Definition: nanoDQM_cff.py:63
PFCandidateEGammaExtraFwd.h
SimplePhotonAnalyzer::photonCollectionProducer_
std::string photonCollectionProducer_
Definition: SimplePhotonAnalyzer.cc:57
SimplePhotonAnalyzer::h1_pho_sigmaIetaIetaEndcap_
MonitorElement * h1_pho_sigmaIetaIetaEndcap_
Definition: SimplePhotonAnalyzer.cc:80
SimplePhotonAnalyzer::valueMapPFCandPhoton_
std::string valueMapPFCandPhoton_
Definition: SimplePhotonAnalyzer.cc:59
CaloTopology.h
ValueMap.h
reco::Photon
Definition: Photon.h:21
reco::LeafCandidate::et
double et() const final
transverse energy
Definition: LeafCandidate.h:127
SimplePhotonAnalyzer::~SimplePhotonAnalyzer
~SimplePhotonAnalyzer() override
Definition: SimplePhotonAnalyzer.cc:119
GenParticle.GenParticle
GenParticle
Definition: GenParticle.py:18
SimplePhotonAnalyzer::h1_recEoverTrueEEndcap_
MonitorElement * h1_recEoverTrueEEndcap_
Definition: SimplePhotonAnalyzer.cc:91
reco::Photon::hadronicOverEm
float hadronicOverEm() const
the total hadronic over electromagnetic fraction
Definition: Photon.h:208
reco::LeafCandidate::phi
double phi() const final
momentum azimuthal angle
Definition: LeafCandidate.h:148
reco::Photon::trkSumPtSolidConeDR04
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
PFCandidateEGammaExtra.h
edm::ValueMap
Definition: ValueMap.h:107
SuperCluster.h
SimplePhotonAnalyzer::dbe_
DQMStore * dbe_
Definition: SimplePhotonAnalyzer.cc:69
ETA
#define ETA
Definition: GenericBenchmark.cc:28
edm::EventBase::id
edm::EventID id() const
Definition: EventBase.h:59
SimplePhotonAnalyzer::h1_pho_hcalIsoBarrel_
MonitorElement * h1_pho_hcalIsoBarrel_
Definition: SimplePhotonAnalyzer.cc:85
SimplePhotonAnalyzer::h1_pho_Eta_
MonitorElement * h1_pho_Eta_
Definition: SimplePhotonAnalyzer.cc:75
reco::Photon::ecalRecHitSumEtConeDR04
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Exception.h
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
reco::LeafCandidate::energy
double energy() const final
energy
Definition: LeafCandidate.h:125
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
SimplePhotonAnalyzer::h1_pho_R9Endcap_
MonitorElement * h1_pho_R9Endcap_
Definition: SimplePhotonAnalyzer.cc:78
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
HLTObjectMonitor_cfi.photonPhi
photonPhi
Definition: HLTObjectMonitor_cfi.py:72
pi
const Double_t pi
Definition: trackSplitPlot.h:36
SimplePhotonAnalyzer::theCaloTopo_
edm::ESHandle< CaloTopology > theCaloTopo_
Definition: SimplePhotonAnalyzer.cc:64
ParameterSet.h
ExoticaDQM_cfi.photonCollection
photonCollection
Definition: ExoticaDQM_cfi.py:17
HepMCProduct.h
SimplePhotonAnalyzer::h1_pho_hOverEEndcap_
MonitorElement * h1_pho_hOverEEndcap_
Definition: SimplePhotonAnalyzer.cc:82
parents
TPRegexp parents
Definition: eve_filter.cc:21
ZEcal
static constexpr float ZEcal
Definition: L1TkEmParticleProducer.cc:40
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
Z_Endcap
static constexpr float Z_Endcap
Definition: ECALPositionCalculator.cc:11
reco::Photon::hcalTowerSumEtConeDR04
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
R_ECAL
static constexpr float R_ECAL
Definition: ECALPositionCalculator.cc:10
SimplePhotonAnalyzer::mcCollection_
std::string mcCollection_
Definition: SimplePhotonAnalyzer.cc:56
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
SimplePhotonAnalyzer::h1_deltaEtaSC_
MonitorElement * h1_deltaEtaSC_
Definition: SimplePhotonAnalyzer.cc:72
etaBarrelEndcap
static constexpr float etaBarrelEndcap
Definition: ECALPositionCalculator.cc:12
edm::ValueMap::size
size_t size() const
Definition: ValueMap.h:156
SimplePhotonAnalyzer::photonCollection_
std::string photonCollection_
Definition: SimplePhotonAnalyzer.cc:58
SimplePhotonAnalyzer::barrelEcalHits_
edm::InputTag barrelEcalHits_
Definition: SimplePhotonAnalyzer.cc:61