From 923e27a9487c71b42479ecb92c9ed62511238a15 Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann <elin.bergeaas.kuutmann@physics.uu.se> Date: Sun, 3 Oct 2021 20:51:10 +0200 Subject: [PATCH 1/2] Sorting HLT and L1 histo x-axes alphabetically --- .../python/TrigGeneralMonitorAlgorithm.py | 46 +++++++++++-------- .../src/TrigHLTMonitorAlgorithm.cxx | 8 ++-- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index 61fbb0165489..dde2f9adb757 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -37,10 +37,6 @@ def TrigGeneralMonConfig(inputFlags): trigHLTMonAlg.TrigConfigSvc = cfgsvc - - # Edit properties of a algorithm - # - ####### Signature names signature_names = [] @@ -53,7 +49,7 @@ def TrigGeneralMonConfig(inputFlags): signature_names.append("Jets") #6 signature_names.append("MinBias") #7 - # Add a monitoring tool per signature (a "group" in old language). + hltGroup = helper.addGroup( trigHLTMonAlg, 'TrigHLTMonitor', @@ -116,36 +112,49 @@ def TrigGeneralMonConfig(inputFlags): from AthenaConfiguration.AutoConfigFlags import GetFileMD - ### Set up counters ######################################## + ######################## ## The HLT chains - counter_i = 1 + HLT_names_AllChains = [] + log_trighlt.debug('HLT chains:') for chain_name in GetFileMD(inputFlags.Input.Files)['TriggerMenu']['HLTChains']: - counter_i = counter_i+1 - log_trighlt.debug('HLT chain_name = %s',chain_name) - max_hlt_chains = counter_i-1 + log_trighlt.debug('HLT chain_name = %s',chain_name) + HLT_names_AllChains.append(chain_name) + max_hlt_chains = len(HLT_names_AllChains) log_trighlt.debug('max_hlt_chains = %i', max_hlt_chains) + #Sort HLT names alphabetically, to make the HLT histograms have the same + #x axes for different runs and reprocessings + HLT_names_AllChains_sorted = sorted(HLT_names_AllChains) + + + + ######################### ## The L1 items - counter_L1 = 1 + L1_names =[] for item_name in GetFileMD(inputFlags.Input.Files)['TriggerMenu']['L1Items']: - counter_L1 = counter_L1+1 log_trighlt.debug('L1 item_name = %s',item_name) - max_L1_items = counter_L1-1 + L1_names.append(item_name) + max_L1_items = len(L1_names) log_trighlt.debug('max_L1_items = %i', max_L1_items) + #Sort L1 names alphabetically, to make the L1 histograms have the same + #x axes for different runs and reprocessings + L1_names_sorted = sorted(L1_names) ##### L1 summary histogram ################################ hltGroup.defineHistogram('L1Events',title='Events per Item at L1;;Events', - path='',xbins=max_L1_items,xmin=1,xmax=max_L1_items+1) - + path='',xbins=len(L1_names_sorted), xmin=0, + xmax=len(L1_names_sorted), xlabels=L1_names_sorted) #### HLT summary histograms for the signatures ############# triggerstatus = ['RAW','PS'] #all chains or prescaled chains - for sig in signature_names: #loop over signatures + + for i in range(len(signature_names)): #loop over signatures + sig = signature_names[i] log_trighlt.debug("Signature %s",sig) ### Events @@ -154,8 +163,9 @@ def TrigGeneralMonConfig(inputFlags): histname = "HLT_"+sig+trigstatus log_trighlt.debug('Histname = %s', histname) hltGroup.defineHistogram(histname,title=titlename, - path=sig,xbins=max_hlt_chains+1, - xmin=1,xmax=max_hlt_chains+1) + path=sig,xbins=len(HLT_names_AllChains_sorted), + xmin=0,xmax=len(HLT_names_AllChains_sorted), + xlabels=HLT_names_AllChains_sorted) ### RoIs, one per signature diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index 557387c5c6fc..df9ab8204440 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -239,8 +239,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillResultAndConsistencyHistograms( const Ev auto HLTEvents = Monitored::Scalar<int>("HLTEvents",0); auto ConfigConsistency_HLT = Monitored::Scalar<int>("ConfigConsistency_HLT",0); - //SG::ReadHandle<HLT::HLTResultMT> resultHandle = SG::makeHandle( m_hltResultReadKey, ctx ); - SG::ReadHandle<xAOD::TrigConfKeys> onlineKeys(m_onlineKey, ctx); SG::ReadHandle<xAOD::TrigConfKeys> eventKeys(m_eventKey, ctx); @@ -248,7 +246,7 @@ StatusCode TrigHLTMonitorAlgorithm::fillResultAndConsistencyHistograms( const Ev if( onlineKeys.isValid() ) { sc_onlineKeys = StatusCode::SUCCESS; - ATH_MSG_DEBUG("onlineKeys are valid"); //extra debug + ATH_MSG_DEBUG("onlineKeys are valid"); } else { ATH_MSG_ERROR("TrigConfKeysOnline not available"); @@ -327,7 +325,9 @@ StatusCode TrigHLTMonitorAlgorithm::fillResultAndConsistencyHistograms( const Ev - //Fill HLTResult histogram + //Fill HLTEvent histogram + //this was called HLTResult in Run1-2, + //but HLTResult has a slightly different meaning now HLTEvents = (int)sc_hltEvents.isSuccess(); fill(tool,HLTEvents); //Always fill, for every event -- GitLab From 8f649208c59487770bba0fada03538d951953266 Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann <elin.bergeaas.kuutmann@physics.uu.se> Date: Mon, 4 Oct 2021 14:14:20 +0200 Subject: [PATCH 2/2] Simplify for loop --- .../TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index dde2f9adb757..2801f5d57412 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -153,8 +153,7 @@ def TrigGeneralMonConfig(inputFlags): triggerstatus = ['RAW','PS'] #all chains or prescaled chains - for i in range(len(signature_names)): #loop over signatures - sig = signature_names[i] + for sig in signature_names: #loop over signatures log_trighlt.debug("Signature %s",sig) ### Events -- GitLab