9 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"Constructor SUSY_HLT_PhotonHT::SUSY_HLT_PhotonHT " << std::endl;
24 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"Destructor SUSY_HLT_PhotonHT::~SUSY_HLT_PhotonHT " << std::endl;
28 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"SUSY_HLT_PhotonHT::beginRun" << std::endl;
32 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"SUSY_HLT_PhotonHT::bookHistograms" << std::endl;
38 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"SUSY_HLT_PhotonHT::analyze" << std::endl;
45 if (!pfMETCollection.
isValid()) {
46 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid met collection" 55 if (!photonCollection.
isValid()) {
56 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid egamma collection" 65 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid collection: TriggerResults" 75 if (!triggerSummary.
isValid()) {
76 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid collection: TriggerSummary" 86 if (filterIndexPhoton < triggerSummary->sizeFilters()) {
90 float pt = triggerObjects[keys[0]].pt();
97 if (filterIndexHt < triggerSummary->sizeFilters()) {
100 float ht = triggerObjects[keys[0]].pt();
105 bool hasFired =
false, hasFiredAuxiliaryForHadronicLeg =
false;
107 unsigned int numTriggers = trigNames.
size();
108 for (
unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
110 hltresults->
accept(hltIndex))
113 hltresults->
wasrun(hltIndex) && hltresults->
accept(hltIndex))
114 hasFiredAuxiliaryForHadronicLeg =
true;
117 if (hasFiredAuxiliaryForHadronicLeg || !e.
isRealData()) {
118 float recoPhotonPt = !photonCollection->empty() ? photonCollection->begin()->et() : 0;
119 float recoHt = !pfMETCollection->empty() ? pfMETCollection->begin()->et() : 0;
124 if (!pfMETCollection->empty() && recoPhotonPt >=
ptThrOffline_)
129 if (!pfMETCollection->empty() && recoPhotonPt >=
ptThrOffline_)
135 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"SUSY_HLT_PhotonHT::endRun" << std::endl;
143 h_photonPt = ibooker_.
book1D(
"photonPt",
"Photon transverse momentum; p_{T} (GeV)", 20, 0, 500);
144 h_ht = ibooker_.
book1D(
"ht",
"Hadronic activity;H_{T} (GeV)", 20, 0, 2000);
MonitorElement * h_photonTurnOn_den
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool wasrun() const
Was at least one path run?
void bookHistos(DQMStore::IBooker &)
edm::InputTag triggerFilterHt_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
bool accept() const
Has at least one path accepted the event?
const Keys & filterKeys(trigger::size_type index) const
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::InputTag triggerFilterPhoton_
Strings::size_type size() const
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath)
const TriggerObjectCollection & getObjects() const
MonitorElement * book1D(Args &&...args)
MonitorElement * h_htTurnOn_den
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
MonitorElement * h_photonPt
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
static const char *const trigNames[]
MonitorElement * h_htTurnOn_num
~SUSY_HLT_PhotonHT() override
std::string const & triggerName(unsigned int index) const
std::vector< size_type > Keys
std::string triggerPathAuxiliaryForHadronic_
MonitorElement * h_photonTurnOn_num
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollection_
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
SUSY_HLT_PhotonHT(const edm::ParameterSet &ps)