CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
QcdPhotonsDQM Class Reference

#include <QcdPhotonsDQM.h>

Inheritance diagram for QcdPhotonsDQM:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &)
 Get the analysis. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void endRun (const edm::Run &, const edm::EventSetup &)
 
 QcdPhotonsDQM (const edm::ParameterSet &)
 Constructor. More...
 
virtual ~QcdPhotonsDQM ()
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

MonitorElementh_deltaEt_photon_jet
 
MonitorElementh_deltaPhi_jet_jet2
 
MonitorElementh_deltaPhi_photon_jet
 
MonitorElementh_deltaPhi_photon_jet2
 
MonitorElementh_deltaR_jet_jet2
 
MonitorElementh_deltaR_photon_jet2
 
MonitorElementh_jet2_eta
 
MonitorElementh_jet2_pt
 
MonitorElementh_jet2_ptOverPhotonEt
 
MonitorElementh_jet_count
 
MonitorElementh_jet_eta
 
MonitorElementh_jet_pt
 
MonitorElementh_photon_count_bar
 
MonitorElementh_photon_count_end
 
MonitorElementh_photon_et
 
MonitorElementh_photon_et_beforeCuts
 
MonitorElementh_photon_et_jetco
 
MonitorElementh_photon_et_jetcs
 
MonitorElementh_photon_et_jetfo
 
MonitorElementh_photon_et_jetfs
 
MonitorElementh_photon_et_ratio_co_cs
 
MonitorElementh_photon_et_ratio_co_fo
 
MonitorElementh_photon_et_ratio_co_fs
 
MonitorElementh_photon_et_ratio_cs_fo
 
MonitorElementh_photon_et_ratio_cs_fs
 
MonitorElementh_photon_et_ratio_fo_fs
 
MonitorElementh_photon_eta
 
MonitorElementh_triggers_passed
 
std::string logTraceName
 
int num_events_in_run
 
edm::InputTag theBarrelRecHitTag_
 
edm::EDGetTokenT
< EcalRecHitCollection
theBarrelRecHitToken_
 
edm::InputTag theEndcapRecHitTag_
 
edm::EDGetTokenT
< EcalRecHitCollection
theEndcapRecHitToken_
 
edm::InputTag theJetCollectionLabel_
 
edm::EDGetTokenT< edm::View
< reco::Jet > > 
theJetCollectionToken_
 
double theMinJetPt_
 
double theMinPhotonEt_
 
edm::EDGetTokenT
< reco::PhotonCollection
thePhotonCollectionToken_
 
double thePlotJetMaxEta_
 
double thePlotPhotonMaxEt_
 
double thePlotPhotonMaxEta_
 
std::vector< std::string > thePlotTheseTriggersToo_
 
bool theRequirePhotonFound_
 
std::string theTriggerPathToPass_
 
edm::EDGetTokenT
< reco::VertexCollection
theVertexCollectionToken_
 
edm::EDGetTokenT
< edm::TriggerResults
trigTagToken_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

DQM offline for QCD-Photons

Author
Michael B. Anderson, University of Wisconsin Madison

Definition at line 28 of file QcdPhotonsDQM.h.

Constructor & Destructor Documentation

QcdPhotonsDQM::QcdPhotonsDQM ( const edm::ParameterSet parameters)

Constructor.

Definition at line 59 of file QcdPhotonsDQM.cc.

References edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().

59  {
60  // Get parameters from configuration file
61  theTriggerPathToPass_ = parameters.getParameter<string>("triggerPathToPass");
63  parameters.getParameter<vector<string> >("plotTheseTriggersToo");
64  theJetCollectionLabel_ = parameters.getParameter<InputTag>("jetCollection");
65  trigTagToken_ = consumes<edm::TriggerResults>(
66  parameters.getUntrackedParameter<edm::InputTag>("trigTag"));
67  thePhotonCollectionToken_ = consumes<reco::PhotonCollection>(
68  parameters.getParameter<InputTag>("photonCollection"));
69  theJetCollectionToken_ = consumes<edm::View<reco::Jet> >(
70  parameters.getParameter<InputTag>("jetCollection"));
71  theVertexCollectionToken_ = consumes<reco::VertexCollection>(
72  parameters.getParameter<InputTag>("vertexCollection"));
73  theMinJetPt_ = parameters.getParameter<double>("minJetPt");
74  theMinPhotonEt_ = parameters.getParameter<double>("minPhotonEt");
75  theRequirePhotonFound_ = parameters.getParameter<bool>("requirePhotonFound");
76  thePlotPhotonMaxEt_ = parameters.getParameter<double>("plotPhotonMaxEt");
77  thePlotPhotonMaxEta_ = parameters.getParameter<double>("plotPhotonMaxEta");
78  thePlotJetMaxEta_ = parameters.getParameter<double>("plotJetMaxEta");
79  theBarrelRecHitTag_ = parameters.getParameter<InputTag>("barrelRecHitTag");
80  theEndcapRecHitTag_ = parameters.getParameter<InputTag>("endcapRecHitTag");
81  theBarrelRecHitToken_ = consumes<EcalRecHitCollection>(
82  parameters.getParameter<InputTag>("barrelRecHitTag"));
83  theEndcapRecHitToken_ = consumes<EcalRecHitCollection>(
84  parameters.getParameter<InputTag>("endcapRecHitTag"));
85 
86  // coverity says...
93  h_jet2_eta = 0;
94  h_jet2_pt = 0;
96  h_jet_count = 0;
97  h_jet_eta = 0;
98  h_jet_pt = 0;
100  h_photon_count_end = 0;
101  h_photon_et = 0;
103  h_photon_et_jetco = 0;
104  h_photon_et_jetcs = 0;
105  h_photon_et_jetfo = 0;
106  h_photon_et_jetfs = 0;
113  h_photon_eta = 0;
114  h_triggers_passed = 0;
115 
116 }
edm::InputTag theBarrelRecHitTag_
Definition: QcdPhotonsDQM.h:67
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::View< reco::Jet > > theJetCollectionToken_
Definition: QcdPhotonsDQM.h:58
MonitorElement * h_photon_et
Definition: QcdPhotonsDQM.h:77
edm::InputTag theJetCollectionLabel_
Definition: QcdPhotonsDQM.h:55
double thePlotPhotonMaxEta_
Definition: QcdPhotonsDQM.h:64
MonitorElement * h_photon_eta
Definition: QcdPhotonsDQM.h:78
MonitorElement * h_photon_count_bar
Definition: QcdPhotonsDQM.h:79
edm::InputTag theEndcapRecHitTag_
Definition: QcdPhotonsDQM.h:68
edm::EDGetTokenT< edm::TriggerResults > trigTagToken_
Definition: QcdPhotonsDQM.h:56
double thePlotJetMaxEta_
Definition: QcdPhotonsDQM.h:65
MonitorElement * h_photon_et_jetco
Definition: QcdPhotonsDQM.h:95
MonitorElement * h_photon_et_ratio_co_fo
std::vector< std::string > thePlotTheseTriggersToo_
Definition: QcdPhotonsDQM.h:54
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken_
Definition: QcdPhotonsDQM.h:59
double theMinPhotonEt_
Definition: QcdPhotonsDQM.h:61
double theMinJetPt_
Definition: QcdPhotonsDQM.h:60
MonitorElement * h_deltaR_jet_jet2
Definition: QcdPhotonsDQM.h:91
MonitorElement * h_deltaR_photon_jet2
Definition: QcdPhotonsDQM.h:92
MonitorElement * h_photon_et_jetfs
Definition: QcdPhotonsDQM.h:96
MonitorElement * h_deltaEt_photon_jet
Definition: QcdPhotonsDQM.h:86
MonitorElement * h_jet_count
Definition: QcdPhotonsDQM.h:83
MonitorElement * h_photon_et_ratio_cs_fs
MonitorElement * h_photon_et_ratio_cs_fo
MonitorElement * h_jet_eta
Definition: QcdPhotonsDQM.h:82
double thePlotPhotonMaxEt_
Definition: QcdPhotonsDQM.h:63
MonitorElement * h_photon_et_jetfo
Definition: QcdPhotonsDQM.h:97
MonitorElement * h_jet2_ptOverPhotonEt
Definition: QcdPhotonsDQM.h:87
MonitorElement * h_photon_et_jetcs
Definition: QcdPhotonsDQM.h:94
MonitorElement * h_jet2_pt
Definition: QcdPhotonsDQM.h:88
MonitorElement * h_photon_et_beforeCuts
Definition: QcdPhotonsDQM.h:76
MonitorElement * h_jet_pt
Definition: QcdPhotonsDQM.h:81
MonitorElement * h_photon_et_ratio_fo_fs
edm::EDGetTokenT< EcalRecHitCollection > theBarrelRecHitToken_
Definition: QcdPhotonsDQM.h:69
bool theRequirePhotonFound_
Definition: QcdPhotonsDQM.h:62
MonitorElement * h_photon_count_end
Definition: QcdPhotonsDQM.h:80
std::string theTriggerPathToPass_
Definition: QcdPhotonsDQM.h:53
MonitorElement * h_jet2_eta
Definition: QcdPhotonsDQM.h:89
MonitorElement * h_deltaPhi_photon_jet2
Definition: QcdPhotonsDQM.h:90
MonitorElement * h_photon_et_ratio_co_fs
MonitorElement * h_triggers_passed
Definition: QcdPhotonsDQM.h:75
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollectionToken_
Definition: QcdPhotonsDQM.h:57
MonitorElement * h_deltaPhi_jet_jet2
Definition: QcdPhotonsDQM.h:85
MonitorElement * h_deltaPhi_photon_jet
Definition: QcdPhotonsDQM.h:84
edm::EDGetTokenT< EcalRecHitCollection > theEndcapRecHitToken_
Definition: QcdPhotonsDQM.h:70
MonitorElement * h_photon_et_ratio_co_cs
Definition: QcdPhotonsDQM.h:99
QcdPhotonsDQM::~QcdPhotonsDQM ( )
virtual

Destructor.

Definition at line 118 of file QcdPhotonsDQM.cc.

118 {}

Member Function Documentation

void QcdPhotonsDQM::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Get the analysis.

Implements edm::stream::EDAnalyzerBase.

Definition at line 256 of file QcdPhotonsDQM.cc.

References a, funct::abs(), b, SiPixelRawToDigiRegional_cfi::deltaPhi, deltaR(), reco::LeafCandidate::eta(), edm::Event::getByToken(), i, edm::HandleBase::isValid(), metsig::jet, LogTrace, reco::LeafCandidate::phi(), edm::Handle< T >::product(), reco::LeafCandidate::pt(), edm::TriggerNames::size(), edm::TriggerNames::triggerName(), edm::Event::triggerNames(), trigNames, and GoodVertex_cfg::vertexCollection.

256  {
258 
259  LogTrace(logTraceName) << "Analysis of event # ";
260 
262  // Did event pass HLT paths?
263  Handle<TriggerResults> HLTresults;
264  iEvent.getByToken(trigTagToken_, HLTresults);
265  if (!HLTresults.isValid()) {
266  // LogWarning("") << ">>> TRIGGER collection does not exist !!!";
267  return;
268  }
269  const edm::TriggerNames& trigNames = iEvent.triggerNames(*HLTresults);
270 
271  bool passed_HLT = false;
272 
273  // See if event passed trigger paths
274  // increment that bin in the trigger plot
275  for (unsigned int i = 0; i < thePlotTheseTriggersToo_.size(); i++) {
276  passed_HLT = false;
277  for (unsigned int ti = 0; (ti < trigNames.size()) && !passed_HLT; ++ti) {
278  size_t pos = trigNames.triggerName(ti).find(thePlotTheseTriggersToo_[i]);
279  if (pos == 0) passed_HLT = HLTresults->accept(ti);
280  }
281  if (passed_HLT) h_triggers_passed->Fill(i);
282  }
283 
284  // grab photons
285  Handle<PhotonCollection> photonCollection;
286  iEvent.getByToken(thePhotonCollectionToken_, photonCollection);
287 
288  // If photon collection is empty, exit
289  if (!photonCollection.isValid()) return;
290 
291  // Quit if the event did not pass the HLT path we care about
292  passed_HLT = false;
293  {
294  // bool found=false;
295  for (unsigned int ti = 0; ti < trigNames.size(); ++ti) {
296  size_t pos = trigNames.triggerName(ti).find(theTriggerPathToPass_);
297  if (pos == 0) {
298  passed_HLT = HLTresults->accept(ti);
299  // found=true;
300  break;
301  }
302  }
303 
304  // Assumption: reco photons are ordered by Et
305  for (PhotonCollection::const_iterator recoPhoton =
306  photonCollection->begin();
307  recoPhoton != photonCollection->end(); recoPhoton++) {
308  // stop looping over photons once we get to too low Et
309  if (recoPhoton->et() < theMinPhotonEt_) break;
310 
311  h_photon_et_beforeCuts->Fill(recoPhoton->et());
312  break; // leading photon only
313  }
314 
315  if (!passed_HLT) {
316  return;
317  }
318  }
319 
321 
322  // std::cout << "\tpassed main trigger (" << theTriggerPathToPass_ << ")" <<
323  // std::endl;
324 
326  // Does event have valid vertex?
327  // Get the primary event vertex
328  Handle<VertexCollection> vertexHandle;
329  iEvent.getByToken(theVertexCollectionToken_, vertexHandle);
330  VertexCollection vertexCollection = *(vertexHandle.product());
331  // double vtx_ndof = -1.0;
332  // double vtx_z = 0.0;
333  // bool vtx_isFake = true;
334  // if (vertexCollection.size()>0) {
335  // vtx_ndof = vertexCollection.begin()->ndof();
336  // vtx_z = vertexCollection.begin()->z();
337  // vtx_isFake = false;
338  //}
339  // if (vtx_isFake || fabs(vtx_z)>15 || vtx_ndof<4) return;
340 
341  int nvvertex = 0;
342  for (unsigned int i = 0; i < vertexCollection.size(); ++i) {
343  if (vertexCollection[i].isValid()) nvvertex++;
344  }
345  if (nvvertex == 0) return;
346 
348 
349  // std::cout << "\tpassed vertex selection" << std::endl;
350 
352  // Did the event pass certain L1 Technical Trigger bits?
353  // It's probably beam halo
354  // TODO: ADD code
356 
357  // For finding spikes
358  Handle<EcalRecHitCollection> EBReducedRecHits;
359  iEvent.getByToken(theBarrelRecHitToken_, EBReducedRecHits);
360  Handle<EcalRecHitCollection> EEReducedRecHits;
361  iEvent.getByToken(theEndcapRecHitToken_, EEReducedRecHits);
362  EcalClusterLazyTools lazyTool(iEvent, iSetup, theBarrelRecHitToken_,
364 
365  // Find the highest et "decent" photon
366  float photon_et = -9.0;
367  float photon_eta = -9.0;
368  float photon_phi = -9.0;
369  bool photon_passPhotonID = false;
370  bool found_lead_pho = false;
371  int photon_count_bar = 0;
372  int photon_count_end = 0;
373  // False Assumption: reco photons are ordered by Et
374  // find the photon with highest et
375  auto pho_maxet = std::max_element(
376  photonCollection->begin(), photonCollection->end(),
378  const PhotonCollection::value_type& b) { return a.et() < b.et(); });
379  if (pho_maxet != photonCollection->end() &&
380  pho_maxet->et() >= theMinPhotonEt_) {
381  /*
382  // Ignore ECAL Spikes
383  const reco::CaloClusterPtr seed = pho_maxet->superCluster()->seed();
384  DetId id = lazyTool.getMaximum(*seed).first; // Cluster shape variables
385  // float time = -999., outOfTimeChi2 = -999., chi2 = -999.; // UNUSED
386  int flags=-1, severity = -1;
387  const EcalRecHitCollection & rechits = ( pho_maxet->isEB() ?
388  *EBReducedRecHits : *EEReducedRecHits);
389  EcalRecHitCollection::const_iterator it = rechits.find( id );
390  if( it != rechits.end() ) {
391  // time = it->time(); // UNUSED
392  // outOfTimeChi2 = it->outOfTimeChi2(); // UNUSED
393  // chi2 = it->chi2(); // UNUSED
394  flags = it->recoFlag();
395 
396  edm::ESHandle<EcalSeverityLevelAlgo> sevlv;
397  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
398  severity = sevlv->severityLevel( id, rechits);
399  }
400  bool isNotSpike = ((pho_maxet->isEB() && (severity!=3 && severity!=4 ) &&
401  (flags != 2) ) || pho_maxet->isEE());
402  if (!isNotSpike) continue; // move on to next photon
403  // END of determining ECAL Spikes
404  */
405 
406  bool pho_current_passPhotonID = false;
407  bool pho_current_isEB = pho_maxet->isEB();
408  bool pho_current_isEE = pho_maxet->isEE();
409 
410  if (pho_current_isEB && (pho_maxet->sigmaIetaIeta() < 0.01 ||
411  pho_maxet->hadronicOverEm() < 0.05)) {
412  // Photon object in barrel passes photon ID
413  pho_current_passPhotonID = true;
414  photon_count_bar++;
415  } else if (pho_current_isEE && (pho_maxet->hadronicOverEm() < 0.05)) {
416  // Photon object in endcap passes photon ID
417  pho_current_passPhotonID = true;
418  photon_count_end++;
419  }
420 
421  if (!found_lead_pho) {
422  found_lead_pho = true;
423  photon_passPhotonID = pho_current_passPhotonID;
424  photon_et = pho_maxet->et();
425  photon_eta = pho_maxet->eta();
426  photon_phi = pho_maxet->phi();
427  }
428  }
429 
430  // If user requires a photon to be found, but none is, return.
431  // theRequirePhotonFound should pretty much always be set to 'True'
432  // except when running on qcd monte carlo just to see the jets.
434  (!photon_passPhotonID || photon_et < theMinPhotonEt_))
435  return;
436 
438  // Find the highest et jet
439  Handle<View<Jet> > jetCollection;
440  iEvent.getByToken(theJetCollectionToken_, jetCollection);
441  if (!jetCollection.isValid()) return;
442 
443  float jet_pt = -8.0;
444  float jet_eta = -8.0;
445  float jet_phi = -8.0;
446  int jet_count = 0;
447  float jet2_pt = -9.0;
448  float jet2_eta = -9.0;
449  float jet2_phi = -9.0;
450  // Assumption: jets are ordered by Et
451  for (unsigned int i_jet = 0; i_jet < jetCollection->size(); i_jet++) {
452  const Jet* jet = &jetCollection->at(i_jet);
453 
454  float jet_current_pt = jet->pt();
455 
456  // don't care about jets that overlap with the lead photon
457  if (deltaR(jet->eta(), jet->phi(), photon_eta, photon_phi) < 0.5) continue;
458  // stop looping over jets once we get to too low Et
459  if (jet_current_pt < theMinJetPt_) break;
460 
461  jet_count++;
462  if (jet_current_pt > jet_pt) {
463  jet2_pt = jet_pt; // 2nd highest jet get's et from current highest
464  jet2_eta = jet_eta;
465  jet2_phi = jet_phi;
466  jet_pt =
467  jet_current_pt; // current highest jet gets et from the new highest
468  jet_eta = jet->eta();
469  jet_phi = jet->phi();
470  } else if (jet_current_pt > jet2_pt) {
471  jet2_pt = jet_current_pt;
472  jet2_eta = jet->eta();
473  jet2_phi = jet->phi();
474  }
475  }
477 
479  // Fill histograms if a jet found
480  // NOTE: if a photon was required to be found, but wasn't
481  // we wouldn't have made it to this point in the code
482  if (jet_pt > 0.0) {
483 
484  // Photon Plots
485  h_photon_et->Fill(photon_et);
486  h_photon_eta->Fill(photon_eta);
487  h_photon_count_bar->Fill(photon_count_bar);
488  h_photon_count_end->Fill(photon_count_end);
489 
490  // Photon Et hists for different orientations to the jet
491  if (fabs(photon_eta) < 1.45 &&
492  photon_passPhotonID) { // Lead photon is in barrel
493  if (fabs(jet_eta) < 1.45) { // jet is in barrel
494  if (photon_eta * jet_eta > 0) {
495  h_photon_et_jetcs->Fill(photon_et);
496  } else {
497  h_photon_et_jetco->Fill(photon_et);
498  }
499  } else if (jet_eta > 1.55 && jet_eta < 2.5) { // jet is in endcap
500  if (photon_eta * jet_eta > 0) {
501  h_photon_et_jetfs->Fill(photon_et);
502  } else {
503  h_photon_et_jetfo->Fill(photon_et);
504  }
505  }
506  } // END of Lead Photon is in Barrel
507 
508  // Jet Plots
509  h_jet_pt->Fill(jet_pt);
510  h_jet_eta->Fill(jet_eta);
511  h_jet_count->Fill(jet_count);
512  h_deltaPhi_photon_jet->Fill(abs(deltaPhi(photon_phi, jet_phi)));
513  if (abs(deltaPhi(photon_phi, jet_phi)) > 2.8)
514  h_deltaEt_photon_jet->Fill((photon_et - jet_pt) / photon_et);
515 
516  // 2nd Highest Jet Plots
517  if (jet2_pt > 0.0) {
518  h_jet2_pt->Fill(jet2_pt);
519  h_jet2_eta->Fill(jet2_eta);
520  h_jet2_ptOverPhotonEt->Fill(jet2_pt / photon_et);
521  h_deltaPhi_photon_jet2->Fill(abs(deltaPhi(photon_phi, jet2_phi)));
522  h_deltaPhi_jet_jet2->Fill(abs(deltaPhi(jet_phi, jet2_phi)));
523  h_deltaR_jet_jet2->Fill(deltaR(jet_eta, jet_phi, jet2_eta, jet2_phi));
525  deltaR(photon_eta, photon_phi, jet2_eta, jet2_phi));
526  }
527  }
528  // End of Filling histograms
530 }
edm::EDGetTokenT< edm::View< reco::Jet > > theJetCollectionToken_
Definition: QcdPhotonsDQM.h:58
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:199
MonitorElement * h_photon_et
Definition: QcdPhotonsDQM.h:77
virtual float pt() const
transverse momentum
MonitorElement * h_photon_eta
Definition: QcdPhotonsDQM.h:78
MonitorElement * h_photon_count_bar
Definition: QcdPhotonsDQM.h:79
edm::EDGetTokenT< edm::TriggerResults > trigTagToken_
Definition: QcdPhotonsDQM.h:56
MonitorElement * h_photon_et_jetco
Definition: QcdPhotonsDQM.h:95
std::vector< std::string > thePlotTheseTriggersToo_
Definition: QcdPhotonsDQM.h:54
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:446
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken_
Definition: QcdPhotonsDQM.h:59
double theMinPhotonEt_
Definition: QcdPhotonsDQM.h:61
double theMinJetPt_
Definition: QcdPhotonsDQM.h:60
MonitorElement * h_deltaR_jet_jet2
Definition: QcdPhotonsDQM.h:91
virtual float phi() const
momentum azimuthal angle
Base class for all types of Jets.
Definition: Jet.h:20
std::string logTraceName
Definition: QcdPhotonsDQM.h:50
MonitorElement * h_deltaR_photon_jet2
Definition: QcdPhotonsDQM.h:92
MonitorElement * h_photon_et_jetfs
Definition: QcdPhotonsDQM.h:96
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
MonitorElement * h_deltaEt_photon_jet
Definition: QcdPhotonsDQM.h:86
Strings::size_type size() const
Definition: TriggerNames.cc:39
MonitorElement * h_jet_count
Definition: QcdPhotonsDQM.h:83
MonitorElement * h_jet_eta
Definition: QcdPhotonsDQM.h:82
tuple vertexCollection
void Fill(long long x)
MonitorElement * h_photon_et_jetfo
Definition: QcdPhotonsDQM.h:97
MonitorElement * h_jet2_ptOverPhotonEt
Definition: QcdPhotonsDQM.h:87
MonitorElement * h_photon_et_jetcs
Definition: QcdPhotonsDQM.h:94
MonitorElement * h_jet2_pt
Definition: QcdPhotonsDQM.h:88
MonitorElement * h_photon_et_beforeCuts
Definition: QcdPhotonsDQM.h:76
virtual float eta() const
momentum pseudorapidity
MonitorElement * h_jet_pt
Definition: QcdPhotonsDQM.h:81
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetTokenT< EcalRecHitCollection > theBarrelRecHitToken_
Definition: QcdPhotonsDQM.h:69
bool isValid() const
Definition: HandleBase.h:76
Container::value_type value_type
#define LogTrace(id)
bool theRequirePhotonFound_
Definition: QcdPhotonsDQM.h:62
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
MonitorElement * h_photon_count_end
Definition: QcdPhotonsDQM.h:80
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:74
std::string theTriggerPathToPass_
Definition: QcdPhotonsDQM.h:53
MonitorElement * h_jet2_eta
Definition: QcdPhotonsDQM.h:89
MonitorElement * h_deltaPhi_photon_jet2
Definition: QcdPhotonsDQM.h:90
T const * product() const
Definition: Handle.h:81
std::string const & triggerName(unsigned int index) const
Definition: TriggerNames.cc:27
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
MonitorElement * h_triggers_passed
Definition: QcdPhotonsDQM.h:75
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollectionToken_
Definition: QcdPhotonsDQM.h:57
MonitorElement * h_deltaPhi_jet_jet2
Definition: QcdPhotonsDQM.h:85
MonitorElement * h_deltaPhi_photon_jet
Definition: QcdPhotonsDQM.h:84
edm::EDGetTokenT< EcalRecHitCollection > theEndcapRecHitToken_
Definition: QcdPhotonsDQM.h:70
void QcdPhotonsDQM::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 121 of file QcdPhotonsDQM.cc.

References DQMStore::IBooker::book1D(), MonitorElement::getTH1F(), i, LogTrace, MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

122  {
123 
124  logTraceName = "QcdPhotonAnalyzer";
125 
126  LogTrace(logTraceName) << "Parameters initialization";
127 
128  ibooker.setCurrentFolder("Physics/QcdPhotons"); // Use folder with name of PAG
129 
130  std::stringstream aStringStream;
131  std::string aString;
132  aStringStream << theMinJetPt_;
133  aString = aStringStream.str();
134 
135  // Monitor of triggers passed
136  int numOfTriggersToMonitor = thePlotTheseTriggersToo_.size();
137  h_triggers_passed = ibooker.book1D("triggers_passed",
138  "Events passing these trigger paths", numOfTriggersToMonitor,
139  0, numOfTriggersToMonitor);
140  for (int i = 0; i < numOfTriggersToMonitor; i++) {
142  }
143 
144  // Keep the number of plots and number of bins to a minimum!
145  h_photon_et_beforeCuts = ibooker.book1D("photon_et_beforeCuts",
146  "#gamma with highest E_{T};E_{T}(#gamma) (GeV)", 20, 0., thePlotPhotonMaxEt_);
147  h_photon_et = ibooker.book1D("photon_et",
148  "#gamma with highest E_{T};E_{T}(#gamma) (GeV)", 20, 0., thePlotPhotonMaxEt_);
149  h_photon_eta = ibooker.book1D("photon_eta",
150  "#gamma with highest E_{T};#eta(#gamma)", 40,
152  h_photon_count_bar = ibooker.book1D("photon_count_bar",
153  "Number of #gamma's passing selection (Barrel);Number of #gamma's", 8,
154  -0.5, 7.5);
155  h_photon_count_end = ibooker.book1D("photon_count_end",
156  "Number of #gamma's passing selection (Endcap);Number of #gamma's", 8,
157  -0.5, 7.5);
158  h_jet_pt = ibooker.book1D("jet_pt",
159  "Jet with highest p_{T} (from " + theJetCollectionLabel_.label() +
160  ");p_{T}(1^{st} jet) (GeV)", 20, 0., thePlotPhotonMaxEt_);
161  h_jet_eta = ibooker.book1D("jet_eta",
162  "Jet with highest p_{T} (from " + theJetCollectionLabel_.label() +
163  ");#eta(1^{st} jet)", 20, -thePlotJetMaxEta_, thePlotJetMaxEta_);
164  h_deltaPhi_photon_jet = ibooker.book1D("deltaPhi_photon_jet",
165  "#Delta#phi between Highest E_{T} #gamma and jet;#Delta#phi(#gamma,1^{st} jet)",
166  20, 0, 3.1415926);
167  h_deltaPhi_jet_jet2 = ibooker.book1D("deltaPhi_jet_jet2",
168  "#Delta#phi between Highest E_{T} jet and 2^{nd} "
169  "jet;#Delta#phi(1^{st} jet,2^{nd} jet)",
170  20, 0, 3.1415926);
171  h_deltaEt_photon_jet = ibooker.book1D("deltaEt_photon_jet",
172  "(E_{T}(#gamma)-p_{T}(jet))/E_{T}(#gamma) when #Delta#phi(#gamma,1^{st} "
173  "jet) > 2.8;#DeltaE_{T}(#gamma,1^{st} jet)/E_{T}(#gamma)",
174  20, -1.0, 1.0);
175  h_jet_count = ibooker.book1D("jet_count",
176  "Number of " + theJetCollectionLabel_.label() + " (p_{T} > " + aString +
177  " GeV);Number of Jets", 8, -0.5, 7.5);
178  h_jet2_pt = ibooker.book1D("jet2_pt",
179  "Jet with 2^{nd} highest p_{T} (from " + theJetCollectionLabel_.label() +
180  ");p_{T}(2^{nd} jet) (GeV)", 20, 0., thePlotPhotonMaxEt_);
181  h_jet2_eta = ibooker.book1D("jet2_eta",
182  "Jet with 2^{nd} highest p_{T} (from " + theJetCollectionLabel_.label() +
183  ");#eta(2^{nd} jet)", 20, -thePlotJetMaxEta_, thePlotJetMaxEta_);
184  h_jet2_ptOverPhotonEt = ibooker.book1D("jet2_ptOverPhotonEt",
185  "p_{T}(2^{nd} highest jet) / E_{T}(#gamma);p_{T}(2^{nd} Jet)/E_{T}(#gamma)",
186  20, 0.0, 4.0);
187  h_deltaPhi_photon_jet2 = ibooker.book1D("deltaPhi_photon_jet2",
188  "#Delta#phi between Highest E_{T} #gamma and 2^{nd} "
189  "highest jet;#Delta#phi(#gamma,2^{nd} jet)", 20, 0, 3.1415926);
190  h_deltaR_jet_jet2 = ibooker.book1D("deltaR_jet_jet2",
191  "#DeltaR between Highest Jet and 2^{nd} Highest;#DeltaR(1^{st} jet,2^{nd} jet)",
192  30, 0, 6.0);
193  h_deltaR_photon_jet2 = ibooker.book1D("deltaR_photon_jet2",
194  "#DeltaR between Highest E_{T} #gamma and 2^{nd} "
195  "jet;#DeltaR(#gamma, 2^{nd} jet)", 30, 0, 6.0);
196 
197  // Photon Et for different jet configurations
198  Float_t bins_et[] = {15, 20, 30, 50, 80};
199  int num_bins_et = 4;
200  h_photon_et_jetcs = ibooker.book1D("photon_et_jetcs",
201  "#gamma with highest E_{T} (#eta(jet)<1.45, "
202  "#eta(#gamma)#eta(jet)>0);E_{T}(#gamma) (GeV)", num_bins_et, bins_et);
203  h_photon_et_jetco = ibooker.book1D("photon_et_jetco",
204  "#gamma with highest E_{T} (#eta(jet)<1.45, "
205  "#eta(#gamma)#eta(jet)<0);E_{T}(#gamma) (GeV)", num_bins_et, bins_et);
206  h_photon_et_jetfs = ibooker.book1D("photon_et_jetfs",
207  "#gamma with highest E_{T} (1.55<#eta(jet)<2.5, "
208  "#eta(#gamma)#eta(jet)>0);E_{T}(#gamma) (GeV)", num_bins_et, bins_et);
209  h_photon_et_jetfo = ibooker.book1D("photon_et_jetfo",
210  "#gamma with highest E_{T} (1.55<#eta(jet)<2.5, "
211  "#eta(#gamma)#eta(jet)<0);E_{T}(#gamma) (GeV)", num_bins_et, bins_et);
212 
213  auto setSumw2 = [](MonitorElement* me) {
214  if (me->getTH1F()->GetSumw2N() == 0) {
215  me->getTH1F()->Sumw2();
216  }
217  };
218 
219  setSumw2(h_photon_et_jetcs);
220  setSumw2(h_photon_et_jetco);
221  setSumw2(h_photon_et_jetfs);
222  setSumw2(h_photon_et_jetfo);
223 
224  // Ratio of the above Photon Et distributions
225  h_photon_et_ratio_co_cs = ibooker.book1D("photon_et_ratio_00_co_cs",
226  "D(|#eta(jet)|<1.45, #eta(jet)*#eta(#gamma)<0) / D(|#eta(jet)|<1.45, "
227  "#eta(jet)*#eta(#gamma)>0);E_{T}(#gamma) (GeV); ratio", num_bins_et, bins_et);
228  h_photon_et_ratio_fo_fs = ibooker.book1D("photon_et_ratio_01_fo_fs",
229  "D(1.55<|#eta(jet)|<2.6, #eta(jet)*#eta(#gamma)<0) / "
230  "D(1.55<|#eta(jet)|<2.6, #eta(jet)*#eta(#gamma)>0);E_{T}(#gamma) (GeV); ratio",
231  num_bins_et, bins_et);
232  h_photon_et_ratio_cs_fs = ibooker.book1D("photon_et_ratio_02_cs_fs",
233  "D(|#eta(jet)|<1.45, #eta(jet)*#eta(#gamma)>0) / D(1.55<|#eta(jet)|<2.6, "
234  "#eta(jet)*#eta(#gamma)>0);E_{T}(#gamma) (GeV); ratio",
235  num_bins_et, bins_et);
236  h_photon_et_ratio_co_fs = ibooker.book1D("photon_et_ratio_03_co_fs",
237  "D(|#eta(jet)|<1.45, #eta(jet)*#eta(#gamma)<0) / D(1.55<|#eta(jet)|<2.6, "
238  "#eta(jet)*#eta(#gamma)>0);E_{T}(#gamma) (GeV); ratio",
239  num_bins_et, bins_et);
240  h_photon_et_ratio_cs_fo = ibooker.book1D("photon_et_ratio_04_cs_fo",
241  "D(|#eta(jet)|<1.45, #eta(jet)*#eta(#gamma)>0) / D(1.55<|#eta(jet)|<2.6, "
242  "#eta(jet)*#eta(#gamma)<0);E_{T}(#gamma) (GeV); ratio",
243  num_bins_et, bins_et);
244  h_photon_et_ratio_co_fo = ibooker.book1D("photon_et_ratio_05_co_fo",
245  "D(|#eta(jet)|<1.45, #eta(jet)*#eta(#gamma)<0) / D(1.55<|#eta(jet)|<2.6, "
246  "#eta(jet)*#eta(#gamma)<0);E_{T}(#gamma) (GeV); ratio",
247  num_bins_et, bins_et);
248  setSumw2(h_photon_et_ratio_co_cs);
249  setSumw2(h_photon_et_ratio_fo_fs);
250  setSumw2(h_photon_et_ratio_cs_fs);
251  setSumw2(h_photon_et_ratio_co_fs);
252  setSumw2(h_photon_et_ratio_cs_fo);
253  setSumw2(h_photon_et_ratio_co_fo);
254 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * h_photon_et
Definition: QcdPhotonsDQM.h:77
edm::InputTag theJetCollectionLabel_
Definition: QcdPhotonsDQM.h:55
double thePlotPhotonMaxEta_
Definition: QcdPhotonsDQM.h:64
MonitorElement * h_photon_eta
Definition: QcdPhotonsDQM.h:78
MonitorElement * h_photon_count_bar
Definition: QcdPhotonsDQM.h:79
double thePlotJetMaxEta_
Definition: QcdPhotonsDQM.h:65
MonitorElement * h_photon_et_jetco
Definition: QcdPhotonsDQM.h:95
MonitorElement * h_photon_et_ratio_co_fo
std::vector< std::string > thePlotTheseTriggersToo_
Definition: QcdPhotonsDQM.h:54
double theMinJetPt_
Definition: QcdPhotonsDQM.h:60
MonitorElement * h_deltaR_jet_jet2
Definition: QcdPhotonsDQM.h:91
std::string logTraceName
Definition: QcdPhotonsDQM.h:50
MonitorElement * h_deltaR_photon_jet2
Definition: QcdPhotonsDQM.h:92
MonitorElement * h_photon_et_jetfs
Definition: QcdPhotonsDQM.h:96
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * h_deltaEt_photon_jet
Definition: QcdPhotonsDQM.h:86
MonitorElement * h_jet_count
Definition: QcdPhotonsDQM.h:83
MonitorElement * h_photon_et_ratio_cs_fs
MonitorElement * h_photon_et_ratio_cs_fo
MonitorElement * h_jet_eta
Definition: QcdPhotonsDQM.h:82
double thePlotPhotonMaxEt_
Definition: QcdPhotonsDQM.h:63
MonitorElement * h_photon_et_jetfo
Definition: QcdPhotonsDQM.h:97
MonitorElement * h_jet2_ptOverPhotonEt
Definition: QcdPhotonsDQM.h:87
MonitorElement * h_photon_et_jetcs
Definition: QcdPhotonsDQM.h:94
MonitorElement * h_jet2_pt
Definition: QcdPhotonsDQM.h:88
MonitorElement * h_photon_et_beforeCuts
Definition: QcdPhotonsDQM.h:76
MonitorElement * h_jet_pt
Definition: QcdPhotonsDQM.h:81
MonitorElement * h_photon_et_ratio_fo_fs
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
#define LogTrace(id)
MonitorElement * h_photon_count_end
Definition: QcdPhotonsDQM.h:80
MonitorElement * h_jet2_eta
Definition: QcdPhotonsDQM.h:89
MonitorElement * h_deltaPhi_photon_jet2
Definition: QcdPhotonsDQM.h:90
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
TH1F * getTH1F(void) const
std::string const & label() const
Definition: InputTag.h:42
MonitorElement * h_photon_et_ratio_co_fs
MonitorElement * h_triggers_passed
Definition: QcdPhotonsDQM.h:75
MonitorElement * h_deltaPhi_jet_jet2
Definition: QcdPhotonsDQM.h:85
MonitorElement * h_deltaPhi_photon_jet
Definition: QcdPhotonsDQM.h:84
MonitorElement * h_photon_et_ratio_co_cs
Definition: QcdPhotonsDQM.h:99
void QcdPhotonsDQM::endRun ( const edm::Run run,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 532 of file QcdPhotonsDQM.cc.

532  {
533  if (num_events_in_run > 0) {
535  }
548 }
MonitorElement * h_photon_et_jetco
Definition: QcdPhotonsDQM.h:95
MonitorElement * h_photon_et_ratio_co_fo
MonitorElement * h_photon_et_jetfs
Definition: QcdPhotonsDQM.h:96
MonitorElement * h_photon_et_ratio_cs_fs
MonitorElement * h_photon_et_ratio_cs_fo
MonitorElement * h_photon_et_jetfo
Definition: QcdPhotonsDQM.h:97
MonitorElement * h_photon_et_jetcs
Definition: QcdPhotonsDQM.h:94
MonitorElement * h_photon_et_ratio_fo_fs
TH1F * getTH1F(void) const
MonitorElement * h_photon_et_ratio_co_fs
MonitorElement * h_triggers_passed
Definition: QcdPhotonsDQM.h:75
MonitorElement * h_photon_et_ratio_co_cs
Definition: QcdPhotonsDQM.h:99

Member Data Documentation

MonitorElement* QcdPhotonsDQM::h_deltaEt_photon_jet
private

Definition at line 86 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_deltaPhi_jet_jet2
private

Definition at line 85 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_deltaPhi_photon_jet
private

Definition at line 84 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_deltaPhi_photon_jet2
private

Definition at line 90 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_deltaR_jet_jet2
private

Definition at line 91 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_deltaR_photon_jet2
private

Definition at line 92 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet2_eta
private

Definition at line 89 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet2_pt
private

Definition at line 88 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet2_ptOverPhotonEt
private

Definition at line 87 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet_count
private

Definition at line 83 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet_eta
private

Definition at line 82 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_jet_pt
private

Definition at line 81 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_count_bar
private

Definition at line 79 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_count_end
private

Definition at line 80 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et
private

Definition at line 77 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_beforeCuts
private

Definition at line 76 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_jetco
private

Definition at line 95 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_jetcs
private

Definition at line 94 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_jetfo
private

Definition at line 97 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_jetfs
private

Definition at line 96 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_co_cs
private

Definition at line 99 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_co_fo
private

Definition at line 104 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_co_fs
private

Definition at line 102 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_cs_fo
private

Definition at line 103 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_cs_fs
private

Definition at line 101 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_et_ratio_fo_fs
private

Definition at line 100 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_photon_eta
private

Definition at line 78 of file QcdPhotonsDQM.h.

MonitorElement* QcdPhotonsDQM::h_triggers_passed
private

Definition at line 75 of file QcdPhotonsDQM.h.

std::string QcdPhotonsDQM::logTraceName
private

Definition at line 50 of file QcdPhotonsDQM.h.

int QcdPhotonsDQM::num_events_in_run
private

Definition at line 72 of file QcdPhotonsDQM.h.

edm::InputTag QcdPhotonsDQM::theBarrelRecHitTag_
private

Definition at line 67 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<EcalRecHitCollection> QcdPhotonsDQM::theBarrelRecHitToken_
private

Definition at line 69 of file QcdPhotonsDQM.h.

edm::InputTag QcdPhotonsDQM::theEndcapRecHitTag_
private

Definition at line 68 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<EcalRecHitCollection> QcdPhotonsDQM::theEndcapRecHitToken_
private

Definition at line 70 of file QcdPhotonsDQM.h.

edm::InputTag QcdPhotonsDQM::theJetCollectionLabel_
private

Definition at line 55 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<edm::View<reco::Jet> > QcdPhotonsDQM::theJetCollectionToken_
private

Definition at line 58 of file QcdPhotonsDQM.h.

double QcdPhotonsDQM::theMinJetPt_
private

Definition at line 60 of file QcdPhotonsDQM.h.

double QcdPhotonsDQM::theMinPhotonEt_
private

Definition at line 61 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<reco::PhotonCollection> QcdPhotonsDQM::thePhotonCollectionToken_
private

Definition at line 57 of file QcdPhotonsDQM.h.

double QcdPhotonsDQM::thePlotJetMaxEta_
private

Definition at line 65 of file QcdPhotonsDQM.h.

double QcdPhotonsDQM::thePlotPhotonMaxEt_
private

Definition at line 63 of file QcdPhotonsDQM.h.

double QcdPhotonsDQM::thePlotPhotonMaxEta_
private

Definition at line 64 of file QcdPhotonsDQM.h.

std::vector<std::string> QcdPhotonsDQM::thePlotTheseTriggersToo_
private

Definition at line 54 of file QcdPhotonsDQM.h.

bool QcdPhotonsDQM::theRequirePhotonFound_
private

Definition at line 62 of file QcdPhotonsDQM.h.

std::string QcdPhotonsDQM::theTriggerPathToPass_
private

Definition at line 53 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<reco::VertexCollection> QcdPhotonsDQM::theVertexCollectionToken_
private

Definition at line 59 of file QcdPhotonsDQM.h.

edm::EDGetTokenT<edm::TriggerResults> QcdPhotonsDQM::trigTagToken_
private

Definition at line 56 of file QcdPhotonsDQM.h.