From c8fe5e1f98aaba5683c5f2989e1163b934e9d2d0 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <Frank.Winklmeier@cern.ch> Date: Tue, 31 Jan 2017 15:53:20 +0100 Subject: [PATCH] std::sort bin labels instead of using ROOT (ATR-15742) (TrigSteerMonitor-01-05-14) * src/TrigSignatureMoni.cxx: std::sort bin labels instead of using ROOT (ATR-15742) * TrigSteerMonitor-01-05-14 2017-01-28 scott snyder <snyder@bnl.gov> * Tagging TrigSteerMonitor-01-05-13. * gcc7 warning: potential snprintf truncation. --- .../TrigSteerMonitor/src/TrigCorMoni.cxx | 4 ++-- .../TrigSteerMonitor/src/TrigSignatureMoni.cxx | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigCorMoni.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigCorMoni.cxx index c3e8edd9b7c..e16ae118aa6 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigCorMoni.cxx +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigCorMoni.cxx @@ -154,9 +154,9 @@ StatusCode TrigCorMoni::bookHists() // //default binning - char ctpid[11]; + char ctpid[20]; for (int ibin=1;ibin<=m_rejectL1->GetXaxis()->GetNbins(); ibin++) { - sprintf(ctpid,"CTPID-%d",ibin); + snprintf(ctpid,sizeof(ctpid),"CTPID-%d",ibin); m_rejectL1->GetXaxis()->SetBinLabel(ibin, ctpid); m_streamL1->GetXaxis()->SetBinLabel(ibin, ctpid); m_acceptL1->GetXaxis()->SetBinLabel(ibin, ctpid); diff --git a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoni.cxx b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoni.cxx index 2b8e4e35855..783b82b9df3 100644 --- a/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoni.cxx +++ b/Trigger/TrigMonitoring/TrigSteerMonitor/src/TrigSignatureMoni.cxx @@ -192,7 +192,8 @@ TrigSignatureMoni::~TrigSignatureMoni() BinBlock::PrepareToBook(); } -void findChainsInStreams(std::map<std::string, TH1I*>& histograms, const std::vector<const HLT::SteeringChain*>& config, const std::string& level) +void findChainsInStreams(std::map<std::string, TH1I*>& histograms, + const std::vector<const HLT::SteeringChain*>& config, const std::string& level) { std::map<std::string, std::vector<std::string> > stream_to_chains; @@ -201,12 +202,12 @@ void findChainsInStreams(std::map<std::string, TH1I*>& histograms, const std::ve stream_to_chains[stream.getStream()].push_back(chain->getChainName()); } } - std::map<std::string, std::vector<std::string> >::const_iterator p; - for ( p = stream_to_chains.begin(); p != stream_to_chains.end(); ++p ) { + for ( auto& p : stream_to_chains ) { - TH1I* h = histograms[p->first] = new TH1I(("ChainsInStream_"+p->first).c_str(), ("Chains in " +level + "stream "+p->first).c_str(), p->second.size(), 0, p->second.size()); + TH1I* h = histograms[p.first] = new TH1I(("ChainsInStream_"+p.first).c_str(), ("Chains in " +level + "stream "+p.first).c_str(), p.second.size(), 0, p.second.size()); int bin = 1; - for ( const std::string& label : p->second) { + std::sort(p.second.begin(), p.second.end()); // sort alphabetically + for ( const std::string& label : p.second) { h->GetXaxis()->SetBinLabel(bin, label.c_str()); ++bin; } @@ -403,7 +404,6 @@ StatusCode TrigSignatureMoni::bookHistograms( bool/* isNewEventsBlock*/, bool /* findChainsInStreams(m_chainsInStream, configuredChains, m_trigLvl); for ( const auto& s : m_chainsInStream ) { // (string,TH1I*) - s.second->GetXaxis()->LabelsOption("a"); if ( expertHistograms.regHist(s.second).isFailure()) { ATH_MSG_WARNING("Failed to book stream histogram"); } -- GitLab