55 edm::LogWarning(
"TopDiLeptonHLTValidation") <<
"Electrons collection not found \n";
56 unsigned int nGoodE = 0;
60 if ((
e->dr03TkSumPt()+
e->dr03EcalRecHitSumEt()+
e->dr03HcalTowerSumEt())/
e->pt() >
isoElectrons_ )
continue;
62 if (nGoodE == 1)
elec1_ = &(*e);
63 if (nGoodE == 2)
elec2_ = &(*e);
68 edm::LogWarning(
"TopDiLeptonHLTValidation") <<
"Muons collection not found \n";
69 unsigned int nGoodM = 0;
71 if (!
m->isPFMuon() || (!
m->isGlobalMuon() && !
m->isTrackerMuon()))
continue;
74 if (((
m->pfIsolationR04()).sumChargedHadronPt+(
m->pfIsolationR04()).sumPhotonEt+(
m->pfIsolationR04()).sumNeutralHadronEt)/
m->pt() >
isoMuons_ )
continue;
76 if (nGoodM == 1)
mu1_ = &(*m);
77 if (nGoodM == 2)
mu2_ = &(*m);
82 edm::LogWarning(
"TopDiLeptonHLTValidation") <<
"Jets collection not found \n";
83 unsigned int nGoodJ = 0;
85 if (j->pt() <
ptJets_)
continue;
86 if (fabs(j->eta()) >
etaJets_)
continue;
96 edm::LogWarning(
"TopDiLeptonHLTValidation") <<
"Trigger collection not found \n";
98 unsigned int isInteresting = 0;
102 for (
unsigned int j=0; j<
vsPaths_.size(); j++) {
103 if (name.Contains(TString(
vsPaths_[j]), TString::kIgnoreCase)) {
175 unsigned int nPaths =
vsPaths_.size();
MonitorElement * hNumLeptonPt
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
double eta() const final
momentum pseudorapidity
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * hNumLeptonEta
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * hNumTriggerMon
const reco::GsfElectron * elec2_
bool accept() const
Has at least one path accepted the event?
edm::EDGetTokenT< edm::TriggerResults > tokTrigger_
MonitorElement * hDenLeptonPt
double pt() const final
transverse momentum
Strings const & triggerNames() const
MonitorElement * hDenTriggerMon
MonitorElement * hDenJetEta
void addDefault(ParameterSetDescription const &psetDescription)
MonitorElement * hNumJetPt
MonitorElement * hDenJetPt
MonitorElement * hDenLeptonEta
const reco::GsfElectron * elec1_
edm::EDGetTokenT< edm::View< reco::Jet > > tokJets_
MonitorElement * book1D(Args &&...args)
unsigned int minElectrons_
edm::EDGetTokenT< edm::View< reco::Muon > > tokMuons_
void setCurrentFolder(const std::string &fullpath)
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
std::vector< std::string > vsPaths_
void triggerBinLabels(const std::vector< std::string > &labels)
set configurable labels for trigger monitoring histograms
edm::EDGetTokenT< edm::View< reco::GsfElectron > > tokElectrons_
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * hNumJetEta
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override