CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
PatPhotonSimpleAnalyzer Class Reference

#include <RecoEgamma/PhotonIdentification/test/PatPhotonSimpleAnalyzer.cc>

Inheritance diagram for PatPhotonSimpleAnalyzer:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  struct_recPhoton
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void endJob () override
 
 PatPhotonSimpleAnalyzer (const edm::ParameterSet &)
 
 ~PatPhotonSimpleAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

bool createPhotonTTree_
 
TH1F * h_ebeeGap_
 
TH1F * h_ebgap_
 
TH1F * h_eeGap_
 
TH1F * h_hadoverem_
 
TH1F * h_isoEcalRecHit_
 
TH1F * h_isoHcalRecHit_
 
TH1F * h_nPassingPho_
 
TH1F * h_nPho_
 
TH1F * h_ntrk_hollow_
 
TH1F * h_ntrk_solid_
 
TH1F * h_photonEt_
 
TH1F * h_photonEta_
 
TH1F * h_photonInAnyGap_
 
TH1F * h_photonPhi_
 
TH1F * h_photonScEt_
 
TH1F * h_photonScEta_
 
TH1F * h_photonScEtaWidth_
 
TH1F * h_photonScPhi_
 
TH1F * h_r9_
 
TH1F * h_trk_pt_hollow_
 
TH1F * h_trk_pt_solid_
 
double maxPhotonAbsEta_
 
double maxPhotonHoverE_
 
double minPhotonAbsEta_
 
double minPhotonEt_
 
double minPhotonR9_
 
std::string outputFile_
 
struct_recPhoton recPhoton
 
TFile * rootFile_
 
TTree * tree_PhotonAll_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: Generate various histograms for cuts and important photon ID parameters using a data sample of photons in QCD events.

Implementation: <Notes on="" implementation>="">

Definition at line 35 of file PatPhotonSimpleAnalyzer.cc.

Constructor & Destructor Documentation

◆ PatPhotonSimpleAnalyzer()

PatPhotonSimpleAnalyzer::PatPhotonSimpleAnalyzer ( const edm::ParameterSet ps)
explicit

Definition at line 123 of file PatPhotonSimpleAnalyzer.cc.

123  {
124  // Read Parameters from configuration file
125 
126  // output filename
127  outputFile_ = ps.getParameter<std::string>("outputFile");
128  // Read variables that must be passed to allow a
129  // supercluster to be placed in histograms as a photon.
130  minPhotonEt_ = ps.getParameter<double>("minPhotonEt");
131  minPhotonAbsEta_ = ps.getParameter<double>("minPhotonAbsEta");
132  maxPhotonAbsEta_ = ps.getParameter<double>("maxPhotonAbsEta");
133  minPhotonR9_ = ps.getParameter<double>("minPhotonR9");
134  maxPhotonHoverE_ = ps.getParameter<double>("maxPhotonHoverE");
135 
136  // Read variable to that decidedes whether
137  // a TTree of photons is created or not
138  createPhotonTTree_ = ps.getParameter<bool>("createPhotonTTree");
139 
140  // open output file to store histograms
141  rootFile_ = TFile::Open(outputFile_.c_str(), "RECREATE");
142 }

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~PatPhotonSimpleAnalyzer()

PatPhotonSimpleAnalyzer::~PatPhotonSimpleAnalyzer ( )
override

Definition at line 147 of file PatPhotonSimpleAnalyzer.cc.

147  {
148  // do anything here that needs to be done at desctruction time
149  // (e.g. close files, deallocate resources etc.)
150 
151  delete rootFile_;
152 }

Member Function Documentation

◆ analyze()

void PatPhotonSimpleAnalyzer::analyze ( const edm::Event evt,
const edm::EventSetup es 
)
overridevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 206 of file PatPhotonSimpleAnalyzer.cc.

206  {
207  using namespace std;
208  using namespace edm;
209 
210  // Grab pat::Photon
211  Handle<View<pat::Photon> > photonHandle;
212  evt.getByLabel("selectedLayer1Photons", photonHandle);
213  View<pat::Photon> photons = *photonHandle;
214 
215  int photonCounter = 0;
216 
217  for (int i = 0; i < int(photons.size()); i++) {
218  pat::Photon currentPhoton = photons.at(i);
219 
220  float photonEt = currentPhoton.et();
221  float superClusterEt =
222  (currentPhoton.superCluster()->energy()) / (cosh(currentPhoton.superCluster()->position().eta()));
223 
224  // Only store photon candidates (SuperClusters) that pass some simple cuts
225  bool passCuts = (photonEt > minPhotonEt_) && (fabs(currentPhoton.eta()) > minPhotonAbsEta_) &&
226  (fabs(currentPhoton.eta()) < maxPhotonAbsEta_) && (currentPhoton.r9() > minPhotonR9_) &&
227  (currentPhoton.hadronicOverEm() < maxPhotonHoverE_);
228 
229  if (passCuts) {
231  // fill histograms //
233  // PhotonID Variables
234  h_isoEcalRecHit_->Fill(currentPhoton.ecalRecHitSumEtConeDR04());
235  h_isoHcalRecHit_->Fill(currentPhoton.hcalTowerSumEtConeDR04());
236  h_trk_pt_solid_->Fill(currentPhoton.trkSumPtSolidConeDR04());
237  h_trk_pt_hollow_->Fill(currentPhoton.trkSumPtHollowConeDR04());
238  h_ntrk_solid_->Fill(currentPhoton.nTrkSolidConeDR04());
239  h_ntrk_hollow_->Fill(currentPhoton.nTrkHollowConeDR04());
240  h_ebgap_->Fill(currentPhoton.isEBGap());
241  h_eeGap_->Fill(currentPhoton.isEEGap());
242  h_ebeeGap_->Fill(currentPhoton.isEBEEGap());
243  h_r9_->Fill(currentPhoton.r9());
244 
245  // Photon Variables
246  h_photonEt_->Fill(photonEt);
247  h_photonEta_->Fill(currentPhoton.eta());
248  h_photonPhi_->Fill(currentPhoton.phi());
249  h_hadoverem_->Fill(currentPhoton.hadronicOverEm());
250 
251  // Photon's SuperCluster Variables
252  // eta is with respect to detector (not physics) vertex,
253  // thus Et and eta are different from photon.
254  h_photonScEt_->Fill(superClusterEt);
255  h_photonScEta_->Fill(currentPhoton.superCluster()->position().eta());
256  h_photonScPhi_->Fill(currentPhoton.superCluster()->position().phi());
257  h_photonScEtaWidth_->Fill(currentPhoton.superCluster()->etaWidth());
258 
259  // It passed photon cuts, mark it
260  h_nPassingPho_->Fill(1.0);
261 
263  // fill TTree (optional) //
265  if (createPhotonTTree_) {
270  recPhoton.nTrkSolidCone = currentPhoton.nTrkSolidConeDR04();
271  recPhoton.nTrkHollowCone = currentPhoton.nTrkHollowConeDR04();
272  recPhoton.isEBGap = currentPhoton.isEBGap();
273  recPhoton.isEEGap = currentPhoton.isEEGap();
274  recPhoton.isEBEEGap = currentPhoton.isEBEEGap();
275  recPhoton.r9 = currentPhoton.r9();
276  recPhoton.et = currentPhoton.et();
277  recPhoton.eta = currentPhoton.eta();
278  recPhoton.phi = currentPhoton.phi();
279  recPhoton.hadronicOverEm = currentPhoton.hadronicOverEm();
280  recPhoton.ecalIso = currentPhoton.ecalIso();
281  recPhoton.hcalIso = currentPhoton.hcalIso();
282  recPhoton.trackIso = currentPhoton.trackIso();
283 
284  // Fill the tree (this records all the recPhoton.* since
285  // tree_PhotonAll_ was set to point at that.
286  tree_PhotonAll_->Fill();
287  }
288 
289  // Record whether it was near any module gap.
290  // Very convoluted at the moment.
291  bool inAnyGap = currentPhoton.isEBEEGap() || (currentPhoton.isEB() && currentPhoton.isEBGap()) ||
292  (currentPhoton.isEE() && currentPhoton.isEEGap());
293  if (inAnyGap) {
294  h_photonInAnyGap_->Fill(1.0);
295  } else {
296  h_photonInAnyGap_->Fill(0.0);
297  }
298 
299  photonCounter++;
300  } else {
301  // This didn't pass photon cuts, mark it
302  h_nPassingPho_->Fill(0.0);
303  }
304 
305  } // End Loop over photons
306  h_nPho_->Fill(photonCounter);
307 }

References pat::Photon::ecalIso(), reco::Photon::ecalRecHitSumEtConeDR04(), reco::LeafCandidate::et(), reco::LeafCandidate::eta(), edm::Event::getByLabel(), reco::Photon::hadronicOverEm(), pat::Photon::hcalIso(), reco::Photon::hcalTowerSumEtConeDR04(), mps_fire::i, createfilelist::int, reco::Photon::isEB(), reco::Photon::isEBEEGap(), reco::Photon::isEBGap(), reco::Photon::isEE(), reco::Photon::isEEGap(), reco::Photon::nTrkHollowConeDR04(), reco::Photon::nTrkSolidConeDR04(), reco::LeafCandidate::phi(), BPHMonitor_cfi::photons, reco::Photon::r9(), pat::Photon::superCluster(), pat::Photon::trackIso(), reco::Photon::trkSumPtHollowConeDR04(), and reco::Photon::trkSumPtSolidConeDR04().

◆ beginJob()

void PatPhotonSimpleAnalyzer::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 157 of file PatPhotonSimpleAnalyzer.cc.

157  {
158  // go to *OUR* rootfile
159  rootFile_->cd();
160 
161  // Book Histograms
162  // PhotonID Histograms
163  h_isoEcalRecHit_ = new TH1F("photonEcalIso", "Ecal Rec Hit Isolation", 100, 0, 100);
164  h_isoHcalRecHit_ = new TH1F("photonHcalIso", "Hcal Rec Hit Isolation", 100, 0, 100);
165  h_trk_pt_solid_ = new TH1F("photonTrackSolidIso", "Sum of track pT in a cone of #DeltaR", 100, 0, 100);
166  h_trk_pt_hollow_ = new TH1F("photonTrackHollowIso", "Sum of track pT in a hollow cone", 100, 0, 100);
167  h_ntrk_solid_ = new TH1F("photonTrackCountSolid", "Number of tracks in a cone of #DeltaR", 100, 0, 100);
168  h_ntrk_hollow_ = new TH1F("photonTrackCountHollow", "Number of tracks in a hollow cone", 100, 0, 100);
169  h_ebgap_ = new TH1F("photonInEBgap", "Ecal Barrel gap flag", 2, -0.5, 1.5);
170  h_eeGap_ = new TH1F("photonInEEgap", "Ecal Endcap gap flag", 2, -0.5, 1.5);
171  h_ebeeGap_ = new TH1F("photonInEEgap", "Ecal Barrel/Endcap gap flag", 2, -0.5, 1.5);
172  h_r9_ = new TH1F("photonR9", "R9 = E(3x3) / E(SuperCluster)", 300, 0, 3);
173 
174  // Photon Histograms
175  h_photonEt_ = new TH1F("photonEt", "Photon E_{T}", 200, 0, 200);
176  h_photonEta_ = new TH1F("photonEta", "Photon #eta", 200, -4, 4);
177  h_photonPhi_ = new TH1F("photonPhi", "Photon #phi", 200, -1. * TMath::Pi(), TMath::Pi());
178  h_hadoverem_ = new TH1F("photonHoverE", "Hadronic over EM", 200, 0, 1);
179 
180  // Photon's SuperCluster Histograms
181  h_photonScEt_ = new TH1F("photonScEt", "Photon SuperCluster E_{T}", 200, 0, 200);
182  h_photonScEta_ = new TH1F("photonScEta", "Photon #eta", 200, -4, 4);
183  h_photonScPhi_ = new TH1F("photonScPhi", "Photon #phi", 200, -1. * TMath::Pi(), TMath::Pi());
184  h_photonScEtaWidth_ = new TH1F("photonScEtaWidth", "#eta-width", 100, 0, .1);
185 
186  // Composite or Other Histograms
187  h_photonInAnyGap_ = new TH1F("photonInAnyGap", "Photon in any gap flag", 2, -0.5, 1.5);
188  h_nPassingPho_ = new TH1F("photonPassingCount", "Total number photons (0=NotPassing, 1=Passing)", 2, -0.5, 1.5);
189  h_nPho_ = new TH1F("photonCount", "Number of photons passing cuts in event", 10, 0, 10);
190 
191  // Create a TTree of photons if set to 'True' in config file
192  if (createPhotonTTree_) {
193  tree_PhotonAll_ = new TTree("TreePhotonAll", "Reconstructed Photon");
194  tree_PhotonAll_->Branch(
195  "recPhoton",
197  "isolationEcalRecHit/"
198  "F:isolationHcalRecHit:isolationSolidTrkCone:isolationHollowTrkCone:nTrkSolidCone:nTrkHollowCone:isEBGap:"
199  "isEEGap:isEBEEGap:r9:et:eta:phi:hadronicOverEm:ecalIso:hcalIso:trackIso");
200  }
201 }

References Pi.

◆ endJob()

void PatPhotonSimpleAnalyzer::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 312 of file PatPhotonSimpleAnalyzer.cc.

312  {
313  // go to *OUR* root file and store histograms
314  rootFile_->cd();
315 
316  // PhotonID Histograms
317  h_isoEcalRecHit_->Write();
318  h_isoHcalRecHit_->Write();
319  h_trk_pt_solid_->Write();
320  h_trk_pt_hollow_->Write();
321  h_ntrk_solid_->Write();
322  h_ntrk_hollow_->Write();
323  h_ebgap_->Write();
324  h_eeGap_->Write();
325  h_ebeeGap_->Write();
326  h_r9_->Write();
327 
328  // Photon Histograms
329  h_photonEt_->Write();
330  h_photonEta_->Write();
331  h_photonPhi_->Write();
332  h_hadoverem_->Write();
333 
334  // Photon's SuperCluster Histograms
335  h_photonScEt_->Write();
336  h_photonScEta_->Write();
337  h_photonScPhi_->Write();
338  h_photonScEtaWidth_->Write();
339 
340  // Composite or Other Histograms
341  h_photonInAnyGap_->Write();
342  h_nPassingPho_->Write();
343  h_nPho_->Write();
344 
345  // Write the root file (really writes the TTree)
346  rootFile_->Write();
347  rootFile_->Close();
348 }

Member Data Documentation

◆ createPhotonTTree_

bool PatPhotonSimpleAnalyzer::createPhotonTTree_
private

Definition at line 51 of file PatPhotonSimpleAnalyzer.cc.

◆ h_ebeeGap_

TH1F* PatPhotonSimpleAnalyzer::h_ebeeGap_
private

Definition at line 91 of file PatPhotonSimpleAnalyzer.cc.

◆ h_ebgap_

TH1F* PatPhotonSimpleAnalyzer::h_ebgap_
private

Definition at line 89 of file PatPhotonSimpleAnalyzer.cc.

◆ h_eeGap_

TH1F* PatPhotonSimpleAnalyzer::h_eeGap_
private

Definition at line 90 of file PatPhotonSimpleAnalyzer.cc.

◆ h_hadoverem_

TH1F* PatPhotonSimpleAnalyzer::h_hadoverem_
private

Definition at line 98 of file PatPhotonSimpleAnalyzer.cc.

◆ h_isoEcalRecHit_

TH1F* PatPhotonSimpleAnalyzer::h_isoEcalRecHit_
private

Definition at line 83 of file PatPhotonSimpleAnalyzer.cc.

◆ h_isoHcalRecHit_

TH1F* PatPhotonSimpleAnalyzer::h_isoHcalRecHit_
private

Definition at line 84 of file PatPhotonSimpleAnalyzer.cc.

◆ h_nPassingPho_

TH1F* PatPhotonSimpleAnalyzer::h_nPassingPho_
private

Definition at line 108 of file PatPhotonSimpleAnalyzer.cc.

◆ h_nPho_

TH1F* PatPhotonSimpleAnalyzer::h_nPho_
private

Definition at line 109 of file PatPhotonSimpleAnalyzer.cc.

◆ h_ntrk_hollow_

TH1F* PatPhotonSimpleAnalyzer::h_ntrk_hollow_
private

Definition at line 88 of file PatPhotonSimpleAnalyzer.cc.

◆ h_ntrk_solid_

TH1F* PatPhotonSimpleAnalyzer::h_ntrk_solid_
private

Definition at line 87 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonEt_

TH1F* PatPhotonSimpleAnalyzer::h_photonEt_
private

Definition at line 95 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonEta_

TH1F* PatPhotonSimpleAnalyzer::h_photonEta_
private

Definition at line 96 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonInAnyGap_

TH1F* PatPhotonSimpleAnalyzer::h_photonInAnyGap_
private

Definition at line 107 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonPhi_

TH1F* PatPhotonSimpleAnalyzer::h_photonPhi_
private

Definition at line 97 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonScEt_

TH1F* PatPhotonSimpleAnalyzer::h_photonScEt_
private

Definition at line 101 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonScEta_

TH1F* PatPhotonSimpleAnalyzer::h_photonScEta_
private

Definition at line 102 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonScEtaWidth_

TH1F* PatPhotonSimpleAnalyzer::h_photonScEtaWidth_
private

Definition at line 104 of file PatPhotonSimpleAnalyzer.cc.

◆ h_photonScPhi_

TH1F* PatPhotonSimpleAnalyzer::h_photonScPhi_
private

Definition at line 103 of file PatPhotonSimpleAnalyzer.cc.

◆ h_r9_

TH1F* PatPhotonSimpleAnalyzer::h_r9_
private

Definition at line 92 of file PatPhotonSimpleAnalyzer.cc.

◆ h_trk_pt_hollow_

TH1F* PatPhotonSimpleAnalyzer::h_trk_pt_hollow_
private

Definition at line 86 of file PatPhotonSimpleAnalyzer.cc.

◆ h_trk_pt_solid_

TH1F* PatPhotonSimpleAnalyzer::h_trk_pt_solid_
private

Definition at line 85 of file PatPhotonSimpleAnalyzer.cc.

◆ maxPhotonAbsEta_

double PatPhotonSimpleAnalyzer::maxPhotonAbsEta_
private

Definition at line 48 of file PatPhotonSimpleAnalyzer.cc.

◆ maxPhotonHoverE_

double PatPhotonSimpleAnalyzer::maxPhotonHoverE_
private

Definition at line 50 of file PatPhotonSimpleAnalyzer.cc.

◆ minPhotonAbsEta_

double PatPhotonSimpleAnalyzer::minPhotonAbsEta_
private

Definition at line 47 of file PatPhotonSimpleAnalyzer.cc.

◆ minPhotonEt_

double PatPhotonSimpleAnalyzer::minPhotonEt_
private

Definition at line 46 of file PatPhotonSimpleAnalyzer.cc.

◆ minPhotonR9_

double PatPhotonSimpleAnalyzer::minPhotonR9_
private

Definition at line 49 of file PatPhotonSimpleAnalyzer.cc.

◆ outputFile_

std::string PatPhotonSimpleAnalyzer::outputFile_
private

Definition at line 45 of file PatPhotonSimpleAnalyzer.cc.

◆ recPhoton

struct_recPhoton PatPhotonSimpleAnalyzer::recPhoton
private

Definition at line 75 of file PatPhotonSimpleAnalyzer.cc.

◆ rootFile_

TFile* PatPhotonSimpleAnalyzer::rootFile_
private

Definition at line 78 of file PatPhotonSimpleAnalyzer.cc.

◆ tree_PhotonAll_

TTree* PatPhotonSimpleAnalyzer::tree_PhotonAll_
private

Definition at line 112 of file PatPhotonSimpleAnalyzer.cc.

mps_fire.i
i
Definition: mps_fire.py:428
PatPhotonSimpleAnalyzer::struct_recPhoton::nTrkSolidCone
float nTrkSolidCone
Definition: PatPhotonSimpleAnalyzer.cc:61
PatPhotonSimpleAnalyzer::struct_recPhoton::et
float et
Definition: PatPhotonSimpleAnalyzer.cc:67
PatPhotonSimpleAnalyzer::h_trk_pt_solid_
TH1F * h_trk_pt_solid_
Definition: PatPhotonSimpleAnalyzer.cc:85
PatPhotonSimpleAnalyzer::minPhotonAbsEta_
double minPhotonAbsEta_
Definition: PatPhotonSimpleAnalyzer.cc:47
PatPhotonSimpleAnalyzer::struct_recPhoton::isEBEEGap
float isEBEEGap
Definition: PatPhotonSimpleAnalyzer.cc:65
PatPhotonSimpleAnalyzer::maxPhotonAbsEta_
double maxPhotonAbsEta_
Definition: PatPhotonSimpleAnalyzer.cc:48
PatPhotonSimpleAnalyzer::h_photonPhi_
TH1F * h_photonPhi_
Definition: PatPhotonSimpleAnalyzer.cc:97
pat::Photon::ecalIso
float ecalIso() const
Definition: Photon.h:114
edm
HLT enums.
Definition: AlignableModifier.h:19
pat::Photon
Analysis-level Photon class.
Definition: Photon.h:46
PatPhotonSimpleAnalyzer::h_photonScEtaWidth_
TH1F * h_photonScEtaWidth_
Definition: PatPhotonSimpleAnalyzer.cc:104
PatPhotonSimpleAnalyzer::h_photonEta_
TH1F * h_photonEta_
Definition: PatPhotonSimpleAnalyzer.cc:96
PatPhotonSimpleAnalyzer::minPhotonR9_
double minPhotonR9_
Definition: PatPhotonSimpleAnalyzer.cc:49
PatPhotonSimpleAnalyzer::struct_recPhoton::isolationHollowTrkCone
float isolationHollowTrkCone
Definition: PatPhotonSimpleAnalyzer.cc:60
reco::Photon::trkSumPtHollowConeDR04
float trkSumPtHollowConeDR04() const
Definition: Photon.h:426
edm::Handle
Definition: AssociativeIterator.h:50
PatPhotonSimpleAnalyzer::struct_recPhoton::isEBGap
float isEBGap
Definition: PatPhotonSimpleAnalyzer.cc:63
PatPhotonSimpleAnalyzer::tree_PhotonAll_
TTree * tree_PhotonAll_
Definition: PatPhotonSimpleAnalyzer.cc:112
PatPhotonSimpleAnalyzer::struct_recPhoton::isolationEcalRecHit
float isolationEcalRecHit
Definition: PatPhotonSimpleAnalyzer.cc:57
PatPhotonSimpleAnalyzer::h_photonScEt_
TH1F * h_photonScEt_
Definition: PatPhotonSimpleAnalyzer.cc:101
PatPhotonSimpleAnalyzer::struct_recPhoton::ecalIso
float ecalIso
Definition: PatPhotonSimpleAnalyzer.cc:71
PatPhotonSimpleAnalyzer::h_ntrk_hollow_
TH1F * h_ntrk_hollow_
Definition: PatPhotonSimpleAnalyzer.cc:88
PatPhotonSimpleAnalyzer::minPhotonEt_
double minPhotonEt_
Definition: PatPhotonSimpleAnalyzer.cc:46
reco::Photon::isEE
bool isEE() const
Definition: Photon.h:121
reco::Photon::nTrkSolidConeDR04
int nTrkSolidConeDR04() const
Definition: Photon.h:428
reco::Photon::nTrkHollowConeDR04
int nTrkHollowConeDR04() const
Definition: Photon.h:430
PatPhotonSimpleAnalyzer::h_isoHcalRecHit_
TH1F * h_isoHcalRecHit_
Definition: PatPhotonSimpleAnalyzer.cc:84
PatPhotonSimpleAnalyzer::struct_recPhoton::phi
float phi
Definition: PatPhotonSimpleAnalyzer.cc:69
pat::Photon::trackIso
float trackIso() const
Definition: Photon.h:111
edm::Event::getByLabel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:496
PatPhotonSimpleAnalyzer::struct_recPhoton::eta
float eta
Definition: PatPhotonSimpleAnalyzer.cc:68
PatPhotonSimpleAnalyzer::h_ebgap_
TH1F * h_ebgap_
Definition: PatPhotonSimpleAnalyzer.cc:89
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PatPhotonSimpleAnalyzer::struct_recPhoton::isEEGap
float isEEGap
Definition: PatPhotonSimpleAnalyzer.cc:64
PatPhotonSimpleAnalyzer::h_ebeeGap_
TH1F * h_ebeeGap_
Definition: PatPhotonSimpleAnalyzer.cc:91
PatPhotonSimpleAnalyzer::outputFile_
std::string outputFile_
Definition: PatPhotonSimpleAnalyzer.cc:45
edm::View
Definition: CaloClusterFwd.h:14
PatPhotonSimpleAnalyzer::struct_recPhoton::nTrkHollowCone
float nTrkHollowCone
Definition: PatPhotonSimpleAnalyzer.cc:62
PatPhotonSimpleAnalyzer::h_nPho_
TH1F * h_nPho_
Definition: PatPhotonSimpleAnalyzer.cc:109
reco::Photon::r9
float r9() const
Definition: Photon.h:240
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
PatPhotonSimpleAnalyzer::h_photonInAnyGap_
TH1F * h_photonInAnyGap_
Definition: PatPhotonSimpleAnalyzer.cc:107
reco::Photon::isEB
bool isEB() const
Definition: Photon.h:119
PatPhotonSimpleAnalyzer::maxPhotonHoverE_
double maxPhotonHoverE_
Definition: PatPhotonSimpleAnalyzer.cc:50
createfilelist.int
int
Definition: createfilelist.py:10
PatPhotonSimpleAnalyzer::struct_recPhoton::hcalIso
float hcalIso
Definition: PatPhotonSimpleAnalyzer.cc:72
reco::Photon::isEEGap
bool isEEGap() const
true if photon is in EE, and inside the boundaries in supercrystal/D
Definition: Photon.h:127
PatPhotonSimpleAnalyzer::h_nPassingPho_
TH1F * h_nPassingPho_
Definition: PatPhotonSimpleAnalyzer.cc:108
PatPhotonSimpleAnalyzer::h_photonScEta_
TH1F * h_photonScEta_
Definition: PatPhotonSimpleAnalyzer.cc:102
BPHMonitor_cfi.photons
photons
Definition: BPHMonitor_cfi.py:91
PatPhotonSimpleAnalyzer::createPhotonTTree_
bool createPhotonTTree_
Definition: PatPhotonSimpleAnalyzer.cc:51
PatPhotonSimpleAnalyzer::h_r9_
TH1F * h_r9_
Definition: PatPhotonSimpleAnalyzer.cc:92
PatPhotonSimpleAnalyzer::h_photonEt_
TH1F * h_photonEt_
Definition: PatPhotonSimpleAnalyzer.cc:95
PatPhotonSimpleAnalyzer::struct_recPhoton::isolationSolidTrkCone
float isolationSolidTrkCone
Definition: PatPhotonSimpleAnalyzer.cc:59
reco::LeafCandidate::et
double et() const final
transverse energy
Definition: LeafCandidate.h:127
PatPhotonSimpleAnalyzer::struct_recPhoton::trackIso
float trackIso
Definition: PatPhotonSimpleAnalyzer.cc:73
PatPhotonSimpleAnalyzer::recPhoton
struct_recPhoton recPhoton
Definition: PatPhotonSimpleAnalyzer.cc:75
std
Definition: JetResolutionObject.h:76
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
PatPhotonSimpleAnalyzer::struct_recPhoton::isolationHcalRecHit
float isolationHcalRecHit
Definition: PatPhotonSimpleAnalyzer.cc:58
PatPhotonSimpleAnalyzer::h_trk_pt_hollow_
TH1F * h_trk_pt_hollow_
Definition: PatPhotonSimpleAnalyzer.cc:86
reco::Photon::trkSumPtSolidConeDR04
float trkSumPtSolidConeDR04() const
Definition: Photon.h:424
PatPhotonSimpleAnalyzer::rootFile_
TFile * rootFile_
Definition: PatPhotonSimpleAnalyzer.cc:78
PatPhotonSimpleAnalyzer::h_eeGap_
TH1F * h_eeGap_
Definition: PatPhotonSimpleAnalyzer.cc:90
reco::Photon::ecalRecHitSumEtConeDR04
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:410
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Pi
const double Pi
Definition: CosmicMuonParameters.h:18
PatPhotonSimpleAnalyzer::struct_recPhoton::hadronicOverEm
float hadronicOverEm
Definition: PatPhotonSimpleAnalyzer.cc:70
reco::Photon::isEBEEGap
bool isEBEEGap() const
true if photon is in boundary between EB and EE
Definition: Photon.h:131
PatPhotonSimpleAnalyzer::h_hadoverem_
TH1F * h_hadoverem_
Definition: PatPhotonSimpleAnalyzer.cc:98
pat::Photon::hcalIso
float hcalIso() const
Definition: Photon.h:117
PatPhotonSimpleAnalyzer::h_ntrk_solid_
TH1F * h_ntrk_solid_
Definition: PatPhotonSimpleAnalyzer.cc:87
reco::Photon::hcalTowerSumEtConeDR04
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:412
PatPhotonSimpleAnalyzer::struct_recPhoton::r9
float r9
Definition: PatPhotonSimpleAnalyzer.cc:66
PatPhotonSimpleAnalyzer::h_isoEcalRecHit_
TH1F * h_isoEcalRecHit_
Definition: PatPhotonSimpleAnalyzer.cc:83
PatPhotonSimpleAnalyzer::h_photonScPhi_
TH1F * h_photonScPhi_
Definition: PatPhotonSimpleAnalyzer.cc:103
reco::Photon::isEBGap
bool isEBGap() const
true if photon is in EB, and inside the boundaries in super crystals/modules
Definition: Photon.h:123
pat::Photon::superCluster
reco::SuperClusterRef superCluster() const override
override the superCluster method from CaloJet, to access the internal storage of the supercluster