9 edm::LogInfo(
"HotlineDQM") <<
"Constructor HotlineDQM::HotlineDQM " << std::endl;
30 edm::LogInfo(
"HotlineDQM") <<
"HotlineDQM::bookHistograms" << std::endl;
36 h_MuPt = ibooker_.
book1D(
"MuPt",
"Muon Pt; GeV", 20, 0.0, 2000.0);
38 h_HT = ibooker_.
book1D(
"HT",
"HT; GeV", 20, 0.0, 6000.0);
39 h_MetPt = ibooker_.
book1D(
"MetPt",
"Calo MET; GeV", 20, 0.0, 2000);
57 edm::LogInfo(
"HotlineDQM") <<
"HotlineDQM::analyze" << std::endl;
105 edm::LogError(
"HotlineDQM") <<
"invalid collection: Photons " 116 edm::LogError(
"HotlineDQM") <<
"invalid collection: TriggerResults" 123 edm::LogError(
"HotlineDQM") <<
"invalid collection: TriggerSummary" 128 bool hasFired =
false;
130 unsigned int numTriggers =
trigNames.size();
131 for (
unsigned int hltIndex = 0; hltIndex < numTriggers; ++hltIndex) {
139 float ptMuon = -1, ptPhoton = -1,
met = -1,
pfMet = -1, ht = 0;
144 for (
unsigned short key :
keys) {
146 if (
useMuons && fabs(foundObject.
id()) == 13) {
147 if (foundObject.
pt() > ptMuon)
148 ptMuon = foundObject.
pt();
150 if (foundObject.
pt() > ptPhoton)
151 ptPhoton = foundObject.
pt();
152 }
else if (
useMet && fabs(foundObject.
id()) == 0) {
153 met = foundObject.
pt();
154 }
else if (
usePFMet && fabs(foundObject.
id()) == 0) {
156 }
else if (
useHT && fabs(foundObject.
id()) == 89) {
157 ht = foundObject.
pt();
177 float maxMuPt = -1.0;
179 if (
mu.pt() > maxMuPt)
187 float maxPhoPt = -1.0;
189 if (pho.pt() > maxPhoPt)
198 if (i_calojet.pt() < 40)
200 if (fabs(i_calojet.eta()) > 3.0)
202 caloHT += i_calojet.pt();
223 desc.add<
std::string>(
"triggerPath",
"HLT_HT2000_v")->setComment(
"trigger path name");
225 ->setComment(
"name of the last filter in the path");
226 desc.add<
bool>(
"useMuons",
false);
227 desc.add<
bool>(
"usePhotons",
false);
228 desc.add<
bool>(
"useMet",
false);
229 desc.add<
bool>(
"usePFMet",
false);
230 desc.add<
bool>(
"useHT",
false);
231 descriptions.
add(
"HotlineDQM",
desc);
edm::EDGetTokenT< reco::PhotonCollection > thePhotonCollection_
T getParameter(std::string const &) const
MonitorElement * h_PhotonPt
edm::EDGetTokenT< reco::MuonCollection > theMuonCollection_
virtual void setCurrentFolder(std::string const &fullpath)
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollection_
HotlineDQM(const edm::ParameterSet &ps)
MonitorElement * h_OnlinePhotonPt
Log< level::Error, false > LogError
std::vector< Muon > MuonCollection
collection of Muon objects
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Single trigger physics object (e.g., an isolated muon)
edm::EDGetTokenT< edm::TriggerResults > triggerResults_
MonitorElement * h_OnlineMuPt
MonitorElement * h_OnlineHT
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollection_
key
prepare the HTCondor submission files and eventually submit them
#define DEFINE_FWK_MODULE(type)
MonitorElement * h_OnlineMetPt
edm::InputTag triggerFilter_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Log< level::Info, false > LogInfo
MonitorElement * h_OnlinePFMetPt
static const char *const trigNames[]
edm::EDGetTokenT< trigger::TriggerEvent > theTrigSummary_
std::vector< size_type > Keys
std::vector< Photon > PhotonCollection
collectin of Photon objects
edm::EDGetTokenT< reco::CaloMETCollection > theMETCollection_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * h_PFMetPt
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override