|
|
#include <QcdPhotonsDQM.h>
DQM offline for QCD-Photons
- Author
- Michael B. Anderson, University of Wisconsin Madison
Definition at line 26 of file QcdPhotonsDQM.h.
◆ QcdPhotonsDQM()
◆ ~QcdPhotonsDQM()
QcdPhotonsDQM::~QcdPhotonsDQM |
( |
| ) |
|
|
override |
◆ analyze()
Get the analysis.
Reimplemented from DQMEDAnalyzer.
Definition at line 235 of file QcdPhotonsDQM.cc.
248 bool passed_HLT =
false;
254 for (
unsigned int ti = 0; (ti <
trigNames.size()) && !passed_HLT; ++ti) {
257 passed_HLT = HLTresults->
accept(ti);
275 for (
unsigned int ti = 0; ti <
trigNames.size(); ++ti) {
278 passed_HLT = HLTresults->
accept(ti);
347 float photon_et = -9.0;
348 float photon_eta = -9.0;
349 float photon_phi = -9.0;
350 bool photon_passPhotonID =
false;
351 bool found_lead_pho =
false;
352 int photon_count_bar = 0;
353 int photon_count_end = 0;
356 auto pho_maxet = std::max_element(
386 bool pho_current_passPhotonID =
false;
387 bool pho_current_isEB = pho_maxet->isEB();
388 bool pho_current_isEE = pho_maxet->isEE();
390 if (pho_current_isEB && (pho_maxet->sigmaIetaIeta() < 0.01 || pho_maxet->hadronicOverEm() < 0.05)) {
392 pho_current_passPhotonID =
true;
394 }
else if (pho_current_isEE && (pho_maxet->hadronicOverEm() < 0.05)) {
396 pho_current_passPhotonID =
true;
400 if (!found_lead_pho) {
401 found_lead_pho =
true;
402 photon_passPhotonID = pho_current_passPhotonID;
403 photon_et = pho_maxet->et();
404 photon_eta = pho_maxet->eta();
405 photon_phi = pho_maxet->phi();
423 float jet_eta = -8.0;
424 float jet_phi = -8.0;
426 float jet2_pt = -9.0;
427 float jet2_eta = -9.0;
428 float jet2_phi = -9.0;
430 for (
unsigned int i_jet = 0; i_jet <
jetCollection->size(); i_jet++) {
433 float jet_current_pt =
jet->pt();
436 if (
deltaR(
jet->eta(),
jet->phi(), photon_eta, photon_phi) < 0.5)
443 if (jet_current_pt > jet_pt) {
447 jet_pt = jet_current_pt;
448 jet_eta =
jet->eta();
449 jet_phi =
jet->phi();
450 }
else if (jet_current_pt > jet2_pt) {
451 jet2_pt = jet_current_pt;
452 jet2_eta =
jet->eta();
453 jet2_phi =
jet->phi();
470 if (fabs(photon_eta) < 1.45 && photon_passPhotonID) {
471 if (fabs(jet_eta) < 1.45) {
472 if (photon_eta * jet_eta > 0) {
477 }
else if (jet_eta > 1.55 && jet_eta < 2.5) {
478 if (photon_eta * jet_eta > 0) {
References a, funct::abs(), edm::HLTGlobalStatus::accept(), b, SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, mps_fire::i, iEvent, edm::HandleBase::isValid(), metsig::jet, jetfilter_cfi::jetCollection, LogTrace, ExoticaDQM_cfi::photonCollection, edm::Handle< T >::product(), trigNames, and spclusmultinvestigator_cfi::vertexCollection.
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 104 of file QcdPhotonsDQM.cc.
109 ibooker.setCurrentFolder(
"Physics/QcdPhotons");
111 std::stringstream aStringStream;
114 aString = aStringStream.str();
119 "triggers_passed",
"Events passing these trigger paths", numOfTriggersToMonitor, 0, numOfTriggersToMonitor);
120 for (
int i = 0;
i < numOfTriggersToMonitor;
i++) {
126 "photon_et_beforeCuts",
"#gamma with highest E_{T};E_{T}(#gamma) (GeV)", 20, 0.,
thePlotPhotonMaxEt_);
128 ibooker.book1D(
"photon_et",
"#gamma with highest E_{T};E_{T}(#gamma) (GeV)", 20, 0.,
thePlotPhotonMaxEt_);
132 "photon_count_bar",
"Number of #gamma's passing selection (Barrel);Number of #gamma's", 8, -0.5, 7.5);
134 "photon_count_end",
"Number of #gamma's passing selection (Endcap);Number of #gamma's", 8, -0.5, 7.5);
136 ibooker.book1D(
"jet_pt",
147 ibooker.book1D(
"deltaPhi_photon_jet",
148 "#Delta#phi between Highest E_{T} #gamma and jet;#Delta#phi(#gamma,1^{st} jet)",
153 "#Delta#phi between Highest E_{T} jet and 2^{nd} "
154 "jet;#Delta#phi(1^{st} jet,2^{nd} jet)",
159 "(E_{T}(#gamma)-p_{T}(jet))/E_{T}(#gamma) when #Delta#phi(#gamma,1^{st} "
160 "jet) > 2.8;#DeltaE_{T}(#gamma,1^{st} jet)/E_{T}(#gamma)",
165 ibooker.book1D(
"jet_count",
177 ibooker.book1D(
"jet2_eta",
183 "jet2_ptOverPhotonEt",
"p_{T}(2^{nd} highest jet) / E_{T}(#gamma);p_{T}(2^{nd} Jet)/E_{T}(#gamma)", 20, 0.0, 4.0);
185 "#Delta#phi between Highest E_{T} #gamma and 2^{nd} "
186 "highest jet;#Delta#phi(#gamma,2^{nd} jet)",
191 "deltaR_jet_jet2",
"#DeltaR between Highest Jet and 2^{nd} Highest;#DeltaR(1^{st} jet,2^{nd} jet)", 30, 0, 6.0);
193 "#DeltaR between Highest E_{T} #gamma and 2^{nd} "
194 "jet;#DeltaR(#gamma, 2^{nd} jet)",
200 Float_t bins_et[] = {15, 20, 30, 50, 80};
203 "#gamma with highest E_{T} (#eta(jet)<1.45, "
204 "#eta(#gamma)#eta(jet)>0);E_{T}(#gamma) (GeV)",
208 "#gamma with highest E_{T} (#eta(jet)<1.45, "
209 "#eta(#gamma)#eta(jet)<0);E_{T}(#gamma) (GeV)",
213 "#gamma with highest E_{T} (1.55<#eta(jet)<2.5, "
214 "#eta(#gamma)#eta(jet)>0);E_{T}(#gamma) (GeV)",
218 "#gamma with highest E_{T} (1.55<#eta(jet)<2.5, "
219 "#eta(#gamma)#eta(jet)<0);E_{T}(#gamma) (GeV)",
224 if (
me->getTH1F()->GetSumw2N() == 0) {
References dqm::implementation::IBooker::book1D(), mps_fire::i, LogTrace, hlt_dqm_clientPB-live_cfg::me, dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.
◆ h_deltaEt_photon_jet
◆ h_deltaPhi_jet_jet2
◆ h_deltaPhi_photon_jet
◆ h_deltaPhi_photon_jet2
◆ h_deltaR_jet_jet2
◆ h_deltaR_photon_jet2
◆ h_jet2_eta
◆ h_jet2_pt
◆ h_jet2_ptOverPhotonEt
◆ h_jet_count
◆ h_jet_eta
◆ h_jet_pt
◆ h_photon_count_bar
◆ h_photon_count_end
◆ h_photon_et
◆ h_photon_et_beforeCuts
◆ h_photon_et_jetco
◆ h_photon_et_jetcs
◆ h_photon_et_jetfo
◆ h_photon_et_jetfs
◆ h_photon_eta
◆ h_triggers_passed
◆ logTraceName
std::string QcdPhotonsDQM::logTraceName |
|
private |
◆ theBarrelRecHitTag_
◆ theBarrelRecHitToken_
◆ theEndcapRecHitTag_
◆ theEndcapRecHitToken_
◆ theJetCollectionLabel_
◆ theJetCollectionToken_
◆ theMinJetPt_
double QcdPhotonsDQM::theMinJetPt_ |
|
private |
◆ theMinPhotonEt_
double QcdPhotonsDQM::theMinPhotonEt_ |
|
private |
◆ thePhotonCollectionToken_
◆ thePlotJetMaxEta_
double QcdPhotonsDQM::thePlotJetMaxEta_ |
|
private |
◆ thePlotPhotonMaxEt_
double QcdPhotonsDQM::thePlotPhotonMaxEt_ |
|
private |
◆ thePlotPhotonMaxEta_
double QcdPhotonsDQM::thePlotPhotonMaxEta_ |
|
private |
◆ thePlotTheseTriggersToo_
std::vector<std::string> QcdPhotonsDQM::thePlotTheseTriggersToo_ |
|
private |
◆ theRequirePhotonFound_
bool QcdPhotonsDQM::theRequirePhotonFound_ |
|
private |
◆ theTriggerPathToPass_
std::string QcdPhotonsDQM::theTriggerPathToPass_ |
|
private |
◆ theVertexCollectionToken_
◆ trigTagToken_
edm::EDGetTokenT< EcalRecHitCollection > theBarrelRecHitToken_
edm::InputTag theEndcapRecHitTag_
MonitorElement * h_photon_et_jetfo
T const * product() const
static const char *const trigNames[]
edm::EDGetTokenT< reco::VertexCollection > theVertexCollectionToken_
MonitorElement * h_deltaR_photon_jet2
MonitorElement * h_photon_et
MonitorElement * h_photon_count_bar
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::EDGetTokenT< edm::View< reco::Jet > > theJetCollectionToken_
MonitorElement * h_jet2_eta
MonitorElement * h_photon_et_jetco
MonitorElement * h_photon_eta
MonitorElement * h_deltaR_jet_jet2
MonitorElement * h_jet2_ptOverPhotonEt
MonitorElement * h_photon_et_jetfs
std::string theTriggerPathToPass_
MonitorElement * h_deltaPhi_photon_jet2
MonitorElement * h_deltaEt_photon_jet
MonitorElement * h_photon_et_jetcs
MonitorElement * h_photon_count_end
edm::InputTag theJetCollectionLabel_
MonitorElement * h_jet_pt
double thePlotPhotonMaxEt_
MonitorElement * h_triggers_passed
MonitorElement * h_jet_count
virtual 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)
Container::value_type value_type
double thePlotPhotonMaxEta_
edm::EDGetTokenT< EcalRecHitCollection > theEndcapRecHitToken_
bool accept() const
Has at least one path accepted the event?
Abs< T >::type abs(const T &t)
edm::InputTag theBarrelRecHitTag_
std::vector< std::string > thePlotTheseTriggersToo_
MonitorElement * h_deltaPhi_jet_jet2
MonitorElement * h_photon_et_beforeCuts
bool theRequirePhotonFound_
MonitorElement * h_deltaPhi_photon_jet
MonitorElement * h_jet2_pt
edm::EDGetTokenT< edm::TriggerResults > trigTagToken_
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollectionToken_
MonitorElement * h_jet_eta