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::bookHistograms" << std::endl;
34 edm::LogInfo(
"SUSY_HLT_PhotonHT") <<
"SUSY_HLT_PhotonHT::analyze" << std::endl;
41 if (!pfMETCollection.
isValid()) {
42 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid met collection"
51 if (!photonCollection.
isValid()) {
52 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid egamma collection"
61 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid collection: TriggerResults"
71 if (!triggerSummary.
isValid()) {
72 edm::LogError(
"SUSY_HLT_PhotonHT") <<
"invalid collection: TriggerSummary"
82 if (filterIndexPhoton < triggerSummary->sizeFilters()) {
86 float pt = triggerObjects[keys[0]].pt();
93 if (filterIndexHt < triggerSummary->sizeFilters()) {
96 float ht = triggerObjects[keys[0]].pt();
101 bool hasFired =
false, hasFiredAuxiliaryForHadronicLeg =
false;
103 unsigned int numTriggers = trigNames.
size();
104 for (
unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
106 hltresults->accept(hltIndex))
109 hltresults->wasrun(hltIndex) && hltresults->accept(hltIndex))
110 hasFiredAuxiliaryForHadronicLeg =
true;
113 if (hasFiredAuxiliaryForHadronicLeg || !e.
isRealData()) {
114 float recoPhotonPt = !photonCollection->empty() ? photonCollection->begin()->et() : 0;
115 float recoHt = !pfMETCollection->empty() ? pfMETCollection->begin()->et() : 0;
120 if (!pfMETCollection->empty() && recoPhotonPt >=
ptThrOffline_)
125 if (!pfMETCollection->empty() && recoPhotonPt >=
ptThrOffline_)
135 h_photonPt = ibooker_.
book1D(
"photonPt",
"Photon transverse momentum; p_{T} (GeV)", 20, 0, 500);
136 h_ht = ibooker_.
book1D(
"ht",
"Hadronic activity;H_{T} (GeV)", 20, 0, 2000);
MonitorElement * h_photonTurnOn_den
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
T getUntrackedParameter(std::string const &, T const &) const
void bookHistos(DQMStore::IBooker &)
edm::InputTag triggerFilterHt_
virtual void setCurrentFolder(std::string const &fullpath)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::InputTag triggerFilterPhoton_
Log< level::Error, false > LogError
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
MonitorElement * h_htTurnOn_den
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)
Log< level::Info, false > LogInfo
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_
T getParameter(std::string const &) const
MonitorElement * h_photonTurnOn_num
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollection_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
SUSY_HLT_PhotonHT(const edm::ParameterSet &ps)