From c1dab7a8643045d29ddaec0eb07dbd2bb2f4db7b Mon Sep 17 00:00:00 2001 From: Martin Grunewald Date: Fri, 13 Mar 2015 15:43:53 +0100 Subject: [PATCH 1/2] MultiThreading of HLTcore plugins --- HLTrigger/Configuration/test/examLogs.csh | 2 +- HLTrigger/HLTcore/BuildFile.xml | 1 + .../HLTcore/interface/HLTEventAnalyzerAOD.h | 4 +- .../HLTcore/interface/HLTEventAnalyzerRAW.h | 4 +- .../interface/TriggerSummaryAnalyzerAOD.h | 4 +- .../interface/TriggerSummaryAnalyzerRAW.h | 4 +- .../interface/TriggerSummaryProducerAOD.h | 35 +++++-- .../HLTcore/plugins/HLTEventAnalyzerAOD.cc | 33 +++---- .../HLTcore/plugins/HLTEventAnalyzerRAW.cc | 91 ++++++++++--------- .../plugins/TriggerSummaryAnalyzerAOD.cc | 33 +++---- .../plugins/TriggerSummaryAnalyzerRAW.cc | 83 ++++++++--------- .../plugins/TriggerSummaryProducerAOD.cc | 44 +++++---- 12 files changed, 188 insertions(+), 150 deletions(-) diff --git a/HLTrigger/Configuration/test/examLogs.csh b/HLTrigger/Configuration/test/examLogs.csh index f6ecd1579b7ad..9f1fdf77dd183 100755 --- a/HLTrigger/Configuration/test/examLogs.csh +++ b/HLTrigger/Configuration/test/examLogs.csh @@ -7,7 +7,7 @@ foreach gtag ( MC DATA ) echo echo $gtag - foreach table ( FULL Fake GRun HIon PIon ) + foreach table ( Fake GRun HIon PIon 50nsGRun ) echo set name = ${table}_${gtag} diff --git a/HLTrigger/HLTcore/BuildFile.xml b/HLTrigger/HLTcore/BuildFile.xml index 12a29db242fb0..bd02dce85ab03 100644 --- a/HLTrigger/HLTcore/BuildFile.xml +++ b/HLTrigger/HLTcore/BuildFile.xml @@ -1,3 +1,4 @@ + diff --git a/HLTrigger/HLTcore/interface/HLTEventAnalyzerAOD.h b/HLTrigger/HLTcore/interface/HLTEventAnalyzerAOD.h index 89e0b81b77022..e6f3fa349cfd8 100644 --- a/HLTrigger/HLTcore/interface/HLTEventAnalyzerAOD.h +++ b/HLTrigger/HLTcore/interface/HLTEventAnalyzerAOD.h @@ -12,7 +12,7 @@ */ #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/stream/EDAnalyzer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" #include "DataFormats/Common/interface/TriggerResults.h" @@ -24,7 +24,7 @@ namespace edm { // // class declaration // -class HLTEventAnalyzerAOD : public edm::one::EDAnalyzer { +class HLTEventAnalyzerAOD : public edm::stream::EDAnalyzer< > { public: explicit HLTEventAnalyzerAOD(const edm::ParameterSet&); diff --git a/HLTrigger/HLTcore/interface/HLTEventAnalyzerRAW.h b/HLTrigger/HLTcore/interface/HLTEventAnalyzerRAW.h index 7fe846342cc8a..0aa4995cef45b 100644 --- a/HLTrigger/HLTcore/interface/HLTEventAnalyzerRAW.h +++ b/HLTrigger/HLTcore/interface/HLTEventAnalyzerRAW.h @@ -12,7 +12,7 @@ */ #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/stream/EDAnalyzer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" #include "DataFormats/Common/interface/TriggerResults.h" @@ -24,7 +24,7 @@ namespace edm { // // class declaration // -class HLTEventAnalyzerRAW : public edm::one::EDAnalyzer { +class HLTEventAnalyzerRAW : public edm::stream::EDAnalyzer< > { public: explicit HLTEventAnalyzerRAW(const edm::ParameterSet&); diff --git a/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h b/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h index 2599b4a65c733..6b5e6dae1b5d8 100644 --- a/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h +++ b/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h @@ -13,7 +13,7 @@ #include "DataFormats/HLTReco/interface/TriggerEvent.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/stream/EDAnalyzer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" namespace edm { class ConfigurationDescriptions; @@ -22,7 +22,7 @@ namespace edm { // // class declaration // -class TriggerSummaryAnalyzerAOD : public edm::one::EDAnalyzer<> { +class TriggerSummaryAnalyzerAOD : public edm::stream::EDAnalyzer<> { public: explicit TriggerSummaryAnalyzerAOD(const edm::ParameterSet&); diff --git a/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerRAW.h b/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerRAW.h index 9c2cf6f0e95c9..c5de98d08a64a 100644 --- a/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerRAW.h +++ b/HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerRAW.h @@ -13,7 +13,7 @@ #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/stream/EDAnalyzer.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" namespace edm { class ConfigurationDescriptions; @@ -22,7 +22,7 @@ namespace edm { // // class declaration // -class TriggerSummaryAnalyzerRAW : public edm::one::EDAnalyzer<> { +class TriggerSummaryAnalyzerRAW : public edm::stream::EDAnalyzer<> { public: explicit TriggerSummaryAnalyzerRAW(const edm::ParameterSet&); diff --git a/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h b/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h index 23f00108bc977..cd765e850a16f 100644 --- a/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h +++ b/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h @@ -12,7 +12,7 @@ */ #include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/stream/EDProducer.h" #include "FWCore/Framework/interface/GetterOfProducts.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/Utilities/interface/InputTag.h" @@ -49,6 +49,9 @@ #include #include +#include +#include "tbb/concurrent_unordered_set.h" + namespace edm { class EventSetup; } @@ -61,16 +64,34 @@ namespace edm { // class declaration // -class TriggerSummaryProducerAOD : public edm::EDProducer { +/// GlobalCache +struct InputTagHash { + std::size_t operator()(const edm::InputTag& inputTag) const { + std::hash Hash; + return Hash(inputTag.encode()); + } +}; + +struct GlobalTags { + GlobalTags(): filterTagsGlobal_(),collectionTagsGlobal_(){ } + mutable tbb::concurrent_unordered_set filterTagsGlobal_; + mutable tbb::concurrent_unordered_set collectionTagsGlobal_; +}; + +class TriggerSummaryProducerAOD : public edm::stream::EDProducer> { public: - explicit TriggerSummaryProducerAOD(const edm::ParameterSet&); + explicit TriggerSummaryProducerAOD(const edm::ParameterSet&, const GlobalTags *); ~TriggerSummaryProducerAOD(); static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); - virtual void produce(edm::Event&, const edm::EventSetup&); - virtual void endJob(); + virtual void produce(edm::Event&, const edm::EventSetup&) override; + virtual void endStream() override; + static void globalEndJob(const GlobalTags *); // additional + static std::unique_ptr initializeGlobalCache(edm::ParameterSet const&) { + return std::unique_ptr (new GlobalTags()); + }; template void fillTriggerObjectCollections(const edm::Event&, edm::GetterOfProducts& ); @@ -118,11 +139,11 @@ class TriggerSummaryProducerAOD : public edm::EDProducer { /// list of L3 filter tags InputTagSet filterTagsEvent_; - InputTagSet filterTagsGlobal_; + InputTagSet filterTagsStream_; /// list of L3 collection tags InputTagSet collectionTagsEvent_; - InputTagSet collectionTagsGlobal_; + InputTagSet collectionTagsStream_; /// trigger object collection trigger::TriggerObjectCollection toc_; diff --git a/HLTrigger/HLTcore/plugins/HLTEventAnalyzerAOD.cc b/HLTrigger/HLTcore/plugins/HLTEventAnalyzerAOD.cc index 015dd7b7d1b3e..41745f5f8a498 100644 --- a/HLTrigger/HLTcore/plugins/HLTEventAnalyzerAOD.cc +++ b/HLTrigger/HLTcore/plugins/HLTEventAnalyzerAOD.cc @@ -11,6 +11,7 @@ #include "FWCore/Common/interface/TriggerResultsByName.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "HLTrigger/HLTcore/interface/HLTEventAnalyzerAOD.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include // @@ -27,7 +28,7 @@ HLTEventAnalyzerAOD::HLTEventAnalyzerAOD(const edm::ParameterSet& ps) : using namespace std; using namespace edm; - cout << "HLTEventAnalyzerAOD configuration: " << endl + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD configuration: " << endl << " ProcessName = " << processName_ << endl << " TriggerName = " << triggerName_ << endl << " TriggerResultsTag = " << triggerResultsTag_.encode() << endl @@ -69,10 +70,10 @@ HLTEventAnalyzerAOD::beginRun(edm::Run const & iRun, edm::EventSetup const& iSet const unsigned int n(hltConfig_.size()); const unsigned int triggerIndex(hltConfig_.triggerIndex(triggerName_)); if (triggerIndex>=n) { - cout << "HLTEventAnalyzerAOD::analyze:" + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyze:" << " TriggerName " << triggerName_ << " not available in (new) config!" << endl; - cout << "Available TriggerNames are: " << endl; + LogVerbatim("HLTEventAnalyzerAOD") << "Available TriggerNames are: " << endl; hltConfig_.dump("Triggers"); } } @@ -85,7 +86,7 @@ HLTEventAnalyzerAOD::beginRun(edm::Run const & iRun, edm::EventSetup const& iSet hltConfig_.dump("ProcessPSet"); } } else { - cout << "HLTEventAnalyzerAOD::analyze:" + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyze:" << " config extraction failure with process name " << processName_ << endl; } @@ -98,17 +99,17 @@ HLTEventAnalyzerAOD::analyze(const edm::Event& iEvent, const edm::EventSetup& iS using namespace std; using namespace edm; - cout << endl; + LogVerbatim("HLTEventAnalyzerAOD") << endl; // get event products iEvent.getByToken(triggerResultsToken_,triggerResultsHandle_); if (!triggerResultsHandle_.isValid()) { - cout << "HLTEventAnalyzerAOD::analyze: Error in getting TriggerResults product from Event!" << endl; + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyze: Error in getting TriggerResults product from Event!" << endl; return; } iEvent.getByToken(triggerEventToken_,triggerEventHandle_); if (!triggerEventHandle_.isValid()) { - cout << "HLTEventAnalyzerAOD::analyze: Error in getting TriggerEvent product from Event!" << endl; + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyze: Error in getting TriggerEvent product from Event!" << endl; return; } // sanity check @@ -135,7 +136,7 @@ void HLTEventAnalyzerAOD::analyzeTrigger(const edm::Event& iEvent, const edm::Ev using namespace reco; using namespace trigger; - cout << endl; + LogVerbatim("HLTEventAnalyzerAOD") << endl; const unsigned int n(hltConfig_.size()); const unsigned int triggerIndex(hltConfig_.triggerIndex(triggerName)); @@ -143,13 +144,13 @@ void HLTEventAnalyzerAOD::analyzeTrigger(const edm::Event& iEvent, const edm::Ev // abort on invalid trigger name if (triggerIndex>=n) { - cout << "HLTEventAnalyzerAOD::analyzeTrigger: path " + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyzeTrigger: path " << triggerName << " - not found!" << endl; return; } const std::pair prescales(hltConfig_.prescaleValues(iEvent,iSetup,triggerName)); - cout << "HLTEventAnalyzerAOD::analyzeTrigger: path " + LogVerbatim("HLTEventAnalyzerAOD") << "HLTEventAnalyzerAOD::analyzeTrigger: path " << triggerName << " [" << triggerIndex << "] " << "prescales L1T,HLT: " << prescales.first << "," << prescales.second << endl; @@ -158,7 +159,7 @@ void HLTEventAnalyzerAOD::analyzeTrigger(const edm::Event& iEvent, const edm::Ev for (unsigned int i=0; i& moduleLabels(hltConfig_.moduleLabels(triggerIndex)); // Results from TriggerResults product - cout << " Trigger path status:" + LogVerbatim("HLTEventAnalyzerAOD") << " Trigger path status:" << " WasRun=" << triggerResultsHandle_->wasrun(triggerIndex) << " Accept=" << triggerResultsHandle_->accept(triggerIndex) << " Error =" << triggerResultsHandle_->error(triggerIndex) << endl; const unsigned int moduleIndex(triggerResultsHandle_->index(triggerIndex)); - cout << " Last active module - label/type: " + LogVerbatim("HLTEventAnalyzerAOD") << " Last active module - label/type: " << moduleLabels[moduleIndex] << "/" << hltConfig_.moduleType(moduleLabels[moduleIndex]) << " [" << moduleIndex << " out of 0-" << (m-1) << " on this path]" << endl; @@ -191,18 +192,18 @@ void HLTEventAnalyzerAOD::analyzeTrigger(const edm::Event& iEvent, const edm::Ev // check whether the module is packed up in TriggerEvent product const unsigned int filterIndex(triggerEventHandle_->filterIndex(InputTag(moduleLabel,"",processName_))); if (filterIndexsizeFilters()) { - cout << " 'L3' filter in slot " << j << " - label/type " << moduleLabel << "/" << moduleType << endl; + LogVerbatim("HLTEventAnalyzerAOD") << " 'L3' filter in slot " << j << " - label/type " << moduleLabel << "/" << moduleType << endl; const Vids& VIDS (triggerEventHandle_->filterIds(filterIndex)); const Keys& KEYS(triggerEventHandle_->filterKeys(filterIndex)); const size_type nI(VIDS.size()); const size_type nK(KEYS.size()); assert(nI==nK); const size_type n(max(nI,nK)); - cout << " " << n << " accepted 'L3' objects found: " << endl; + LogVerbatim("HLTEventAnalyzerAOD") << " " << n << " accepted 'L3' objects found: " << endl; const TriggerObjectCollection& TOC(triggerEventHandle_->getObjects()); for (size_type i=0; i!=n; ++i) { const TriggerObject& TO(TOC[KEYS[i]]); - cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": " + LogVerbatim("HLTEventAnalyzerAOD") << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": " << TO.id() << " " << TO.pt() << " " << TO.eta() << " " << TO.phi() << " " << TO.mass() << endl; } diff --git a/HLTrigger/HLTcore/plugins/HLTEventAnalyzerRAW.cc b/HLTrigger/HLTcore/plugins/HLTEventAnalyzerRAW.cc index 3acd5e1b4ccb0..f3f7670d73219 100644 --- a/HLTrigger/HLTcore/plugins/HLTEventAnalyzerRAW.cc +++ b/HLTrigger/HLTcore/plugins/HLTEventAnalyzerRAW.cc @@ -11,6 +11,7 @@ #include "FWCore/Common/interface/TriggerResultsByName.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" #include "HLTrigger/HLTcore/interface/HLTEventAnalyzerRAW.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" // need access to class objects being referenced to get their content! #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h" @@ -45,7 +46,7 @@ HLTEventAnalyzerRAW::HLTEventAnalyzerRAW(const edm::ParameterSet& ps) : using namespace std; using namespace edm; - cout << "HLTEventAnalyzerRAW configuration: " << endl + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW configuration: " << endl << " ProcessName = " << processName_ << endl << " TriggerName = " << triggerName_ << endl << " TriggerResultsTag = " << triggerResultsTag_.encode() << endl @@ -87,16 +88,16 @@ HLTEventAnalyzerRAW::beginRun(edm::Run const & iRun, edm::EventSetup const& iSet const unsigned int n(hltConfig_.size()); const unsigned int triggerIndex(hltConfig_.triggerIndex(triggerName_)); if (triggerIndex>=n) { - cout << "HLTEventAnalyzerRAW::analyze:" + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyze:" << " TriggerName " << triggerName_ << " not available in (new) config!" << endl; - cout << "Available TriggerNames are: " << endl; + LogVerbatim("HLTEventAnalyzerRAW") << "Available TriggerNames are: " << endl; hltConfig_.dump("Triggers"); } } } } else { - cout << "HLTEventAnalyzerRAW::analyze:" + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyze:" << " config extraction failure with process name " << processName_ << endl; } @@ -110,17 +111,17 @@ HLTEventAnalyzerRAW::analyze(const edm::Event& iEvent, const edm::EventSetup& iS using namespace std; using namespace edm; - cout << endl; + LogVerbatim("HLTEventAnalyzerRAW") << endl; // get event products iEvent.getByToken(triggerResultsToken_,triggerResultsHandle_); if (!triggerResultsHandle_.isValid()) { - cout << "HLTEventAnalyzerRAW::analyze: Error in getting TriggerResults product from Event!" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyze: Error in getting TriggerResults product from Event!" << endl; return; } iEvent.getByToken(triggerEventWithRefsToken_,triggerEventWithRefsHandle_); if (!triggerEventWithRefsHandle_.isValid()) { - cout << "HLTEventAnalyzerRAW::analyze: Error in getting TriggerEventWithRefs product from Event!" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyze: Error in getting TriggerEventWithRefs product from Event!" << endl; return; } // sanity check @@ -147,7 +148,7 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev using namespace reco; using namespace trigger; - cout << endl; + LogVerbatim("HLTEventAnalyzerRAW") << endl; const unsigned int n(hltConfig_.size()); const unsigned int triggerIndex(hltConfig_.triggerIndex(triggerName)); @@ -155,25 +156,25 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev // abort on invalid trigger name if (triggerIndex>=n) { - cout << "HLTEventAnalyzerRAW::analyzeTrigger: path " + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyzeTrigger: path " << triggerName << " - not found!" << endl; return; } - cout << "HLTEventAnalyzerRAW::analyzeTrigger: path " + LogVerbatim("HLTEventAnalyzerRAW") << "HLTEventAnalyzerRAW::analyzeTrigger: path " << triggerName << " [" << triggerIndex << "]" << endl; // modules on this trigger path const unsigned int m(hltConfig_.size(triggerIndex)); const vector& moduleLabels(hltConfig_.moduleLabels(triggerIndex)); // Results from TriggerResults product - cout << " Trigger path status:" + LogVerbatim("HLTEventAnalyzerRAW") << " Trigger path status:" << " WasRun=" << triggerResultsHandle_->wasrun(triggerIndex) << " Accept=" << triggerResultsHandle_->accept(triggerIndex) << " Error =" << triggerResultsHandle_->error(triggerIndex) << endl; const unsigned int moduleIndex(triggerResultsHandle_->index(triggerIndex)); - cout << " Last active module - label/type: " + LogVerbatim("HLTEventAnalyzerRAW") << " Last active module - label/type: " << moduleLabels[moduleIndex] << "/" << hltConfig_.moduleType(moduleLabels[moduleIndex]) << " [" << moduleIndex << " out of 0-" << (m-1) << " on this path]" << endl; @@ -219,16 +220,16 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev // check whether the module is packed up in TriggerEventWithRef product const unsigned int filterIndex(triggerEventWithRefsHandle_->filterIndex(InputTag(moduleLabel,"",processName_))); if (filterIndexsize()) { - cout << " Filter in slot " << j << " - label/type " << moduleLabel << "/" << moduleType << endl; - cout << " Filter packed up at: " << filterIndex << endl; - cout << " Accepted objects:" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Filter in slot " << j << " - label/type " << moduleLabel << "/" << moduleType << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Filter packed up at: " << filterIndex << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Accepted objects:" << endl; triggerEventWithRefsHandle_->getObjects(filterIndex,photonIds_,photonRefs_); const unsigned int nPhotons(photonIds_.size()); if (nPhotons>0) { - cout << " Photons: " << nPhotons << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Photons: " << nPhotons << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nPhotons; ++i) { - cout << " " << i << " " << photonIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << photonIds_[i] << " " << photonRefs_[i]->pt() << endl; } @@ -237,9 +238,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,electronIds_,electronRefs_); const unsigned int nElectrons(electronIds_.size()); if (nElectrons>0) { - cout << " Electrons: " << nElectrons << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Electrons: " << nElectrons << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nElectrons; ++i) { - cout << " " << i << " " << electronIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << electronIds_[i] << " " << electronRefs_[i]->pt() << endl; } @@ -248,9 +249,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,muonIds_,muonRefs_); const unsigned int nMuons(muonIds_.size()); if (nMuons>0) { - cout << " Muons: " << nMuons << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Muons: " << nMuons << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nMuons; ++i) { - cout << " " << i << " " << muonIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << muonIds_[i] << " " << muonRefs_[i]->pt() << endl; } @@ -259,9 +260,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,jetIds_,jetRefs_); const unsigned int nJets(jetIds_.size()); if (nJets>0) { - cout << " Jets: " << nJets << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Jets: " << nJets << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nJets; ++i) { - cout << " " << i << " " << jetIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << jetIds_[i] << " " << jetRefs_[i]->pt() << endl; } @@ -270,9 +271,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,compositeIds_,compositeRefs_); const unsigned int nComposites(compositeIds_.size()); if (nComposites>0) { - cout << " Composites: " << nComposites << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " Composites: " << nComposites << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nComposites; ++i) { - cout << " " << i << " " << compositeIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << compositeIds_[i] << " " << compositeRefs_[i]->pt() << endl; } @@ -281,9 +282,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,basemetIds_,basemetRefs_); const unsigned int nBaseMETs(basemetIds_.size()); if (nBaseMETs>0) { - cout << " BaseMETs: " << nBaseMETs << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " BaseMETs: " << nBaseMETs << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nBaseMETs; ++i) { - cout << " " << i << " " << basemetIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << basemetIds_[i] << " " << basemetRefs_[i]->pt() << endl; } @@ -292,9 +293,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,calometIds_,calometRefs_); const unsigned int nCaloMETs(calometIds_.size()); if (nCaloMETs>0) { - cout << " CaloMETs: " << nCaloMETs << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " CaloMETs: " << nCaloMETs << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nCaloMETs; ++i) { - cout << " " << i << " " << calometIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << calometIds_[i] << " " << calometRefs_[i]->pt() << endl; } @@ -303,9 +304,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,pixtrackIds_,pixtrackRefs_); const unsigned int nPixTracks(pixtrackIds_.size()); if (nPixTracks>0) { - cout << " PixTracks: " << nPixTracks << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " PixTracks: " << nPixTracks << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nPixTracks; ++i) { - cout << " " << i << " " << pixtrackIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << pixtrackIds_[i] << " " << pixtrackRefs_[i]->pt() << endl; } @@ -314,9 +315,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,l1emIds_,l1emRefs_); const unsigned int nL1EM(l1emIds_.size()); if (nL1EM>0) { - cout << " L1EM: " << nL1EM << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " L1EM: " << nL1EM << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nL1EM; ++i) { - cout << " " << i << " " << l1emIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << l1emIds_[i] << " " << l1emRefs_[i]->pt() << endl; } @@ -325,9 +326,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,l1muonIds_,l1muonRefs_); const unsigned int nL1Muon(l1muonIds_.size()); if (nL1Muon>0) { - cout << " L1Muon: " << nL1Muon << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " L1Muon: " << nL1Muon << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nL1Muon; ++i) { - cout << " " << i << " " << l1muonIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << l1muonIds_[i] << " " << l1muonRefs_[i]->pt() << endl; } @@ -336,9 +337,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,l1jetIds_,l1jetRefs_); const unsigned int nL1Jet(l1jetIds_.size()); if (nL1Jet>0) { - cout << " L1Jet: " << nL1Jet << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " L1Jet: " << nL1Jet << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nL1Jet; ++i) { - cout << " " << i << " " << l1jetIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << l1jetIds_[i] << " " << l1jetRefs_[i]->pt() << endl; } @@ -347,9 +348,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,l1etmissIds_,l1etmissRefs_); const unsigned int nL1EtMiss(l1etmissIds_.size()); if (nL1EtMiss>0) { - cout << " L1EtMiss: " << nL1EtMiss << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " L1EtMiss: " << nL1EtMiss << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nL1EtMiss; ++i) { - cout << " " << i << " " << l1etmissIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << l1etmissIds_[i] << " " << l1etmissRefs_[i]->pt() << endl; } @@ -358,9 +359,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,l1hfringsIds_,l1hfringsRefs_); const unsigned int nL1HfRings(l1hfringsIds_.size()); if (nL1HfRings>0) { - cout << " L1HfRings: " << nL1HfRings << " - the objects: # id 4 4" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " L1HfRings: " << nL1HfRings << " - the objects: # id 4 4" << endl; for (unsigned int i=0; i!=nL1HfRings; ++i) { - cout << " " << i << " " << l1hfringsIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << l1hfringsIds_[i] << " " << l1hfringsRefs_[i]->hfEtSum(l1extra::L1HFRings::kRing1PosEta) << " " << l1hfringsRefs_[i]->hfEtSum(l1extra::L1HFRings::kRing1NegEta) << " " << l1hfringsRefs_[i]->hfEtSum(l1extra::L1HFRings::kRing2PosEta) @@ -376,9 +377,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,pfjetIds_,pfjetRefs_); const unsigned int nPFJets(pfjetIds_.size()); if (nPFJets>0) { - cout << " PFJets: " << nPFJets << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " PFJets: " << nPFJets << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nPFJets; ++i) { - cout << " " << i << " " << pfjetIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << pfjetIds_[i] << " " << pfjetRefs_[i]->pt() << endl; } @@ -387,9 +388,9 @@ void HLTEventAnalyzerRAW::analyzeTrigger(const edm::Event& iEvent, const edm::Ev triggerEventWithRefsHandle_->getObjects(filterIndex,pftauIds_,pftauRefs_); const unsigned int nPFTaus(pftauIds_.size()); if (nPFTaus>0) { - cout << " PFTaus: " << nPFTaus << " - the objects: # id pt" << endl; + LogVerbatim("HLTEventAnalyzerRAW") << " PFTaus: " << nPFTaus << " - the objects: # id pt" << endl; for (unsigned int i=0; i!=nPFTaus; ++i) { - cout << " " << i << " " << pftauIds_[i] + LogVerbatim("HLTEventAnalyzerRAW") << " " << i << " " << pftauIds_[i] << " " << pftauRefs_[i]->pt() << endl; } diff --git a/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerAOD.cc b/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerAOD.cc index 7abcb697402d1..0a52407f182cb 100644 --- a/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerAOD.cc +++ b/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerAOD.cc @@ -9,6 +9,7 @@ #include "HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" // // constructors and destructor @@ -42,51 +43,51 @@ TriggerSummaryAnalyzerAOD::analyze(const edm::Event& iEvent, const edm::EventSet using namespace trigger; - cout << endl; - cout << "TriggerSummaryAnalyzerAOD: content of TriggerEvent: " << inputTag_.encode() << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "TriggerSummaryAnalyzerAOD: content of TriggerEvent: " << inputTag_.encode() << endl; Handle handle; iEvent.getByToken(inputToken_,handle); if (handle.isValid()) { - cout << "Used Processname: " << handle->usedProcessName() << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "Used Processname: " << handle->usedProcessName() << endl; const size_type nC(handle->sizeCollections()); - cout << "Number of packed Collections: " << nC << endl; - cout << "The Collections: #, tag, 1-past-end index" << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "Number of packed Collections: " << nC << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "The Collections: #, tag, 1-past-end index" << endl; for (size_type iC=0; iC!=nC; ++iC) { - cout << iC << " " + LogVerbatim("TriggerSummaryAnalyzerAOD") << iC << " " << handle->collectionTag(iC).encode() << " " << handle->collectionKey(iC) << endl; } const size_type nO(handle->sizeObjects()); - cout << "Number of TriggerObjects: " << nO << endl; - cout << "The TriggerObjects: #, id, pt, eta, phi, mass" << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "Number of TriggerObjects: " << nO << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "The TriggerObjects: #, id, pt, eta, phi, mass" << endl; const TriggerObjectCollection& TOC(handle->getObjects()); for (size_type iO=0; iO!=nO; ++iO) { const TriggerObject& TO(TOC[iO]); - cout << iO << " " << TO.id() << " " << TO.pt() << " " << TO.eta() << " " << TO.phi() << " " << TO.mass() << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << iO << " " << TO.id() << " " << TO.pt() << " " << TO.eta() << " " << TO.phi() << " " << TO.mass() << endl; } const size_type nF(handle->sizeFilters()); - cout << "Number of TriggerFilters: " << nF << endl; - cout << "The Filters: #, tag, #ids/#keys, the id/key pairs" << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "Number of TriggerFilters: " << nF << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "The Filters: #, tag, #ids/#keys, the id/key pairs" << endl; for (size_type iF=0; iF!=nF; ++iF) { const Vids& VIDS (handle->filterIds(iF)); const Keys& KEYS(handle->filterKeys(iF)); const size_type nI(VIDS.size()); const size_type nK(KEYS.size()); - cout << iF << " " << handle->filterTag(iF).encode() + LogVerbatim("TriggerSummaryAnalyzerAOD") << iF << " " << handle->filterTag(iF).encode() << " " << nI << "/" << nK << " the pairs: "; const size_type n(max(nI,nK)); for (size_type i=0; i!=n; ++i) { - cout << " " << VIDS[i] << "/" << KEYS[i]; + LogVerbatim("TriggerSummaryAnalyzerAOD") << " " << VIDS[i] << "/" << KEYS[i]; } - cout << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << endl; assert (nI==nK); } } else { - cout << "Handle invalid! Check InputTag provided." << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << "Handle invalid! Check InputTag provided." << endl; } - cout << endl; + LogVerbatim("TriggerSummaryAnalyzerAOD") << endl; return; } diff --git a/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerRAW.cc b/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerRAW.cc index 4faecbb88f308..f1368612e51be 100644 --- a/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerRAW.cc +++ b/HLTrigger/HLTcore/plugins/TriggerSummaryAnalyzerRAW.cc @@ -9,6 +9,7 @@ #include "HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerRAW.h" #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" // // constructors and destructor @@ -42,102 +43,102 @@ TriggerSummaryAnalyzerRAW::analyze(const edm::Event& iEvent, const edm::EventSet using namespace l1extra; using namespace trigger; - cout << endl; - cout << "TriggerSummaryAnalyzerRAW: content of TriggerEventWithRefs: " << inputTag_.encode(); + LogVerbatim("TriggerSummaryAnalyzerRAW") << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "TriggerSummaryAnalyzerRAW: content of TriggerEventWithRefs: " << inputTag_.encode(); Handle handle; iEvent.getByToken(inputToken_,handle); if (handle.isValid()) { - cout << "Used Processname: " << handle->usedProcessName() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "Used Processname: " << handle->usedProcessName() << endl; const size_type nFO(handle->size()); - cout << "Number of TriggerFilterObjects: " << nFO << endl; - cout << "The TriggerFilterObjects: #, tag" << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "Number of TriggerFilterObjects: " << nFO << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "The TriggerFilterObjects: #, tag" << endl; for (size_type iFO=0; iFO!=nFO; ++iFO) { - cout << iFO << " " << handle->filterTag(iFO).encode() << endl; - cout << " # of objects:"; + LogVerbatim("TriggerSummaryAnalyzerRAW") << iFO << " " << handle->filterTag(iFO).encode() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " # of objects:"; const unsigned int nPhotons(handle->photonSlice(iFO).second- handle->photonSlice(iFO).first); - if (nPhotons>0) cout << " Photons: " << nPhotons; + if (nPhotons>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " Photons: " << nPhotons; const unsigned int nElectrons(handle->electronSlice(iFO).second- handle->electronSlice(iFO).first); - if (nElectrons>0) cout << " Electrons: " << nElectrons; + if (nElectrons>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " Electrons: " << nElectrons; const unsigned int nMuons(handle->muonSlice(iFO).second- handle->muonSlice(iFO).first); - if (nMuons>0) cout << " Muons: " << nMuons; + if (nMuons>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " Muons: " << nMuons; const unsigned int nJets(handle->jetSlice(iFO).second- handle->jetSlice(iFO).first); - if (nJets>0) cout << " Jets: " << nJets; + if (nJets>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " Jets: " << nJets; const unsigned int nComposites(handle->compositeSlice(iFO).second- handle->compositeSlice(iFO).first); - if (nComposites>0) cout << " Composites: " << nComposites; + if (nComposites>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " Composites: " << nComposites; const unsigned int nBaseMETs(handle->basemetSlice(iFO).second- handle->basemetSlice(iFO).first); - if (nBaseMETs>0) cout << " BaseMETs: " << nBaseMETs; + if (nBaseMETs>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " BaseMETs: " << nBaseMETs; const unsigned int nCaloMETs(handle->calometSlice(iFO).second- handle->calometSlice(iFO).first); - if (nCaloMETs>0) cout << " CaloMETs: " << nCaloMETs; + if (nCaloMETs>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " CaloMETs: " << nCaloMETs; const unsigned int nPixTracks(handle->pixtrackSlice(iFO).second- handle->pixtrackSlice(iFO).first); - if (nPixTracks>0) cout << " PixTracks: " << nPixTracks; + if (nPixTracks>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " PixTracks: " << nPixTracks; const unsigned int nL1EM(handle->l1emSlice(iFO).second- handle->l1emSlice(iFO).first); - if (nL1EM>0) cout << " L1EM: " << nL1EM; + if (nL1EM>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1EM: " << nL1EM; const unsigned int nL1Muon(handle->l1muonSlice(iFO).second- handle->l1muonSlice(iFO).first); - if (nL1Muon>0) cout << " L1Muon: " << nL1Muon; + if (nL1Muon>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1Muon: " << nL1Muon; const unsigned int nL1Jet(handle->l1jetSlice(iFO).second- handle->l1jetSlice(iFO).first); - if (nL1Jet>0) cout << " L1Jet: " << nL1Jet; + if (nL1Jet>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1Jet: " << nL1Jet; const unsigned int nL1EtMiss(handle->l1etmissSlice(iFO).second- handle->l1etmissSlice(iFO).first); - if (nL1EtMiss>0) cout << " L1EtMiss: " << nL1EtMiss; + if (nL1EtMiss>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1EtMiss: " << nL1EtMiss; const unsigned int nL1HfRings(handle->l1hfringsSlice(iFO).second- handle->l1hfringsSlice(iFO).first); - if (nL1HfRings>0) cout << " L1HfRings: " << nL1HfRings; + if (nL1HfRings>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1HfRings: " << nL1HfRings; const unsigned int nPFJets(handle->pfjetSlice(iFO).second- handle->pfjetSlice(iFO).first); - if (nPFJets>0) cout << " PFJets: " << nPFJets; + if (nPFJets>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " PFJets: " << nPFJets; const unsigned int nPFTaus(handle->pftauSlice(iFO).second- handle->pftauSlice(iFO).first); - if (nPFTaus>0) cout << " PFTaus: " << nPFTaus; + if (nPFTaus>0) LogVerbatim("TriggerSummaryAnalyzerRAW") << " PFTaus: " << nPFTaus; - cout << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << endl; } - cout << "Elements in linearised collections of Refs: " << endl; - cout << " Photons: " << handle->photonSize() << endl; - cout << " Electrons: " << handle->electronSize() << endl; - cout << " Muons: " << handle->muonSize() << endl; - cout << " Jets: " << handle->jetSize() << endl; - cout << " Composites: " << handle->compositeSize() << endl; - cout << " BaseMETs: " << handle->basemetSize() << endl; - cout << " CaloMETs: " << handle->calometSize() << endl; - cout << " Pixtracks: " << handle->pixtrackSize() << endl; - cout << " L1EM: " << handle->l1emSize() << endl; - cout << " L1Muon: " << handle->l1muonSize() << endl; - cout << " L1Jet: " << handle->l1jetSize() << endl; - cout << " L1EtMiss: " << handle->l1etmissSize() << endl; - cout << " L1HfRings: " << handle->l1hfringsSize() << endl; - cout << " PFJets: " << handle->pfjetSize() << endl; - cout << " PFTaus: " << handle->pftauSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "Elements in linearised collections of Refs: " << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Photons: " << handle->photonSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Electrons: " << handle->electronSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Muons: " << handle->muonSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Jets: " << handle->jetSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Composites: " << handle->compositeSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " BaseMETs: " << handle->basemetSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " CaloMETs: " << handle->calometSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " Pixtracks: " << handle->pixtrackSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1EM: " << handle->l1emSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1Muon: " << handle->l1muonSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1Jet: " << handle->l1jetSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1EtMiss: " << handle->l1etmissSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " L1HfRings: " << handle->l1hfringsSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " PFJets: " << handle->pfjetSize() << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << " PFTaus: " << handle->pftauSize() << endl; } else { - cout << "Handle invalid! Check InputTag provided." << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << "Handle invalid! Check InputTag provided." << endl; } - cout << endl; + LogVerbatim("TriggerSummaryAnalyzerRAW") << endl; return; } diff --git a/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc b/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc index b88d63ef53253..44d210ca649e8 100644 --- a/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc +++ b/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc @@ -47,12 +47,12 @@ // // constructors and destructor // -TriggerSummaryProducerAOD::TriggerSummaryProducerAOD(const edm::ParameterSet& ps) : +TriggerSummaryProducerAOD::TriggerSummaryProducerAOD(const edm::ParameterSet& ps, const GlobalTags * gt) : pn_(ps.getParameter("processName")), filterTagsEvent_(pn_!="*"), - filterTagsGlobal_(pn_!="*"), + filterTagsStream_(pn_!="*"), collectionTagsEvent_(pn_!="*"), - collectionTagsGlobal_(pn_!="*"), + collectionTagsStream_(pn_!="*"), toc_(), tags_(), offset_(), @@ -70,14 +70,14 @@ TriggerSummaryProducerAOD::TriggerSummaryProducerAOD(const edm::ParameterSet& ps } filterTagsEvent_ =InputTagSet(pn_!="*"); - filterTagsGlobal_ =InputTagSet(pn_!="*"); + filterTagsStream_ =InputTagSet(pn_!="*"); collectionTagsEvent_ =InputTagSet(pn_!="*"); - collectionTagsGlobal_=InputTagSet(pn_!="*"); + collectionTagsStream_=InputTagSet(pn_!="*"); } LogDebug("TriggerSummaryProducerAOD") << "Using process name: '" << pn_ <<"'"; - filterTagsGlobal_.clear(); - collectionTagsGlobal_.clear(); + filterTagsStream_.clear(); + collectionTagsStream_.clear(); produces(); @@ -214,8 +214,8 @@ TriggerSummaryProducerAOD::produce(edm::Event& iEvent, const edm::EventSetup& iS } /// accumulate for endJob printout - collectionTagsGlobal_.insert(collectionTagsEvent_.begin(),collectionTagsEvent_.end()); - filterTagsGlobal_.insert(filterTagsEvent_.begin(),filterTagsEvent_.end()); + collectionTagsStream_.insert(collectionTagsEvent_.begin(),collectionTagsEvent_.end()); + filterTagsStream_.insert(filterTagsEvent_.begin(),filterTagsEvent_.end()); /// debug printout if (isDebugEnabled()) { @@ -538,7 +538,13 @@ void TriggerSummaryProducerAOD::fillFilterObjectMember(const int& offset, const return; } -void TriggerSummaryProducerAOD::endJob() { +void TriggerSummaryProducerAOD::endStream() { + globalCache()->collectionTagsGlobal_.insert(collectionTagsStream_.begin(),collectionTagsStream_.end()); + globalCache()->filterTagsGlobal_.insert(filterTagsStream_.begin(),filterTagsStream_.end()); + return; +} + +void TriggerSummaryProducerAOD::globalEndJob(const GlobalTags * globalTags) { using namespace std; using namespace edm; @@ -547,21 +553,27 @@ void TriggerSummaryProducerAOD::endJob() { LogVerbatim("TriggerSummaryProducerAOD") << endl; LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob - accumulated tags:" << endl; - const unsigned int nc(collectionTagsGlobal_.size()); - const unsigned int nf(filterTagsGlobal_.size()); + InputTagSet filterTags(false); + InputTagSet collectionTags(false); + + filterTags.insert(globalTags->filterTagsGlobal_.begin(),globalTags->filterTagsGlobal_.end()); + collectionTags.insert(globalTags->collectionTagsGlobal_.begin(),globalTags->collectionTagsGlobal_.end()); + + const unsigned int nc(collectionTags.size()); + const unsigned int nf(filterTags.size()); LogVerbatim("TriggerSummaryProducerAOD") << " Overall number of Collections/Filters: " << nc << "/" << nf << endl; LogVerbatim("TriggerSummaryProducerAOD") << " The collections: " << nc << endl; - const InputTagSet::const_iterator cb(collectionTagsGlobal_.begin()); - const InputTagSet::const_iterator ce(collectionTagsGlobal_.end()); + const InputTagSet::const_iterator cb(collectionTags.begin()); + const InputTagSet::const_iterator ce(collectionTags.end()); for ( InputTagSet::const_iterator ci=cb; ci!=ce; ++ci) { LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(cb,ci) << " " << ci->encode() << endl; } LogVerbatim("TriggerSummaryProducerAOD") << " The filters:" << nf << endl; - const InputTagSet::const_iterator fb(filterTagsGlobal_.begin()); - const InputTagSet::const_iterator fe(filterTagsGlobal_.end()); + const InputTagSet::const_iterator fb(filterTags.begin()); + const InputTagSet::const_iterator fe(filterTags.end()); for ( InputTagSet::const_iterator fi=fb; fi!=fe; ++fi) { LogVerbatim("TriggerSummaryProducerAOD") << " " << distance(fb,fi) << " " << fi->encode() << endl; } From ceeb3126bc6f85fbce8a9ab6230fdf38d23c7808 Mon Sep 17 00:00:00 2001 From: Martin Grunewald Date: Fri, 13 Mar 2015 16:33:59 +0100 Subject: [PATCH 2/2] Fixes according to Andrea Bocci and Chris Jones --- .../interface/TriggerSummaryProducerAOD.h | 18 +++++++++--------- .../plugins/TriggerSummaryProducerAOD.cc | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h b/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h index cd765e850a16f..93c0fb3d1e8bd 100644 --- a/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h +++ b/HLTrigger/HLTcore/interface/TriggerSummaryProducerAOD.h @@ -68,29 +68,29 @@ namespace edm { struct InputTagHash { std::size_t operator()(const edm::InputTag& inputTag) const { std::hash Hash; - return Hash(inputTag.encode()); + // bit-wise xor + return Hash(inputTag.label()) ^ Hash(inputTag.instance()) ^ Hash(inputTag.process()); } }; - -struct GlobalTags { - GlobalTags(): filterTagsGlobal_(),collectionTagsGlobal_(){ } +struct GlobalInputTags { + GlobalInputTags(): filterTagsGlobal_(),collectionTagsGlobal_(){ } mutable tbb::concurrent_unordered_set filterTagsGlobal_; mutable tbb::concurrent_unordered_set collectionTagsGlobal_; }; -class TriggerSummaryProducerAOD : public edm::stream::EDProducer> { +class TriggerSummaryProducerAOD : public edm::stream::EDProducer> { public: - explicit TriggerSummaryProducerAOD(const edm::ParameterSet&, const GlobalTags *); + explicit TriggerSummaryProducerAOD(const edm::ParameterSet&, const GlobalInputTags *); ~TriggerSummaryProducerAOD(); static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); virtual void produce(edm::Event&, const edm::EventSetup&) override; virtual void endStream() override; - static void globalEndJob(const GlobalTags *); + static void globalEndJob(const GlobalInputTags *); // additional - static std::unique_ptr initializeGlobalCache(edm::ParameterSet const&) { - return std::unique_ptr (new GlobalTags()); + static std::unique_ptr initializeGlobalCache(edm::ParameterSet const&) { + return std::unique_ptr (new GlobalInputTags()); }; template diff --git a/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc b/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc index 44d210ca649e8..fe1fd5140a72d 100644 --- a/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc +++ b/HLTrigger/HLTcore/plugins/TriggerSummaryProducerAOD.cc @@ -47,7 +47,7 @@ // // constructors and destructor // -TriggerSummaryProducerAOD::TriggerSummaryProducerAOD(const edm::ParameterSet& ps, const GlobalTags * gt) : +TriggerSummaryProducerAOD::TriggerSummaryProducerAOD(const edm::ParameterSet& ps, const GlobalInputTags * gt) : pn_(ps.getParameter("processName")), filterTagsEvent_(pn_!="*"), filterTagsStream_(pn_!="*"), @@ -544,20 +544,20 @@ void TriggerSummaryProducerAOD::endStream() { return; } -void TriggerSummaryProducerAOD::globalEndJob(const GlobalTags * globalTags) { +void TriggerSummaryProducerAOD::globalEndJob(const GlobalInputTags * globalInputTags) { using namespace std; using namespace edm; using namespace trigger; LogVerbatim("TriggerSummaryProducerAOD") << endl; - LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::endJob - accumulated tags:" << endl; + LogVerbatim("TriggerSummaryProducerAOD") << "TriggerSummaryProducerAOD::globalEndJob - accumulated tags:" << endl; InputTagSet filterTags(false); InputTagSet collectionTags(false); - filterTags.insert(globalTags->filterTagsGlobal_.begin(),globalTags->filterTagsGlobal_.end()); - collectionTags.insert(globalTags->collectionTagsGlobal_.begin(),globalTags->collectionTagsGlobal_.end()); + filterTags.insert(globalInputTags->filterTagsGlobal_.begin(),globalInputTags->filterTagsGlobal_.end()); + collectionTags.insert(globalInputTags->collectionTagsGlobal_.begin(),globalInputTags->collectionTagsGlobal_.end()); const unsigned int nc(collectionTags.size()); const unsigned int nf(filterTags.size());