From 6de9ea2d6993f29ed448d534667184f3c3c5a0f8 Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann Date: Thu, 12 May 2022 00:29:33 +0200 Subject: [PATCH 1/6] Eta and phi histos; currently not even created --- .../python/TrigGeneralMonitorAlgorithm.py | 13 ++++- .../src/TrigHLTMonitorAlgorithm.cxx | 49 ++++++++++++------- 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index e2652ccd77c..b1c5d41d683 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -229,10 +229,21 @@ def TrigGeneralMonConfig(inputFlags): thissigname = thispair[0] #first item in the pair is the signature name log_trighlt.debug('Signature name %s',thissigname) histname = "eta,phi;"+thissigname+"RoIs" + titlename = thissigname+";#eta;#phi" thisGroup.defineHistogram(histname,type='TH2F',title=titlename, path='',xbins=64,xmin=-3.2,xmax=3.2, - ybins=64,ymin=-3.2,ymax=3.2) + ybins=64,ymin=-3.2,ymax=3.2,opt='kAlwaysCreate') + + ##eta and phi 1D histograms + histname_eta = thissigname+"_eta" + titlename = sig+";#eta;"+"Events" + thisGroup.defineHistogram(histname_eta,titlename, + path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + histname_phi = thissigname+"_phi" + titlename = sig+";#phi;"+"Events" + thisGroup.defineHistogram(histname_phi,titlename, + path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index d0478b792ec..577673dbd54 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -144,69 +144,84 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co //Loop over RoIs for (const LinkInfo& li : fvec) { if( li.isValid() ) { - auto phi = Monitored::Scalar("phi",0.0); - auto eta = Monitored::Scalar("eta",0.0); + std::string etaname=signaturename+"_eta"; + std::string phiname=signaturename+"_phi"; + auto eta = Monitored::Scalar(etaname,0.0); + auto phi = Monitored::Scalar(phiname,0.0); if(signaturename=="HLT_AllChains") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolAll, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolAll,eta); + fill(toolAll,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } //Check signatures if(signaturename=="HLT_Electrons") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolEle, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolEle,eta); + fill(toolEle,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Gamma") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolGam, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolGam,eta); + fill(toolGam,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); //-.-. } else if(signaturename=="HLT_Muons") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolMuo, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolMuo,eta); + fill(toolMuo,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_MissingET") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolMET, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolMET,eta); + fill(toolMET,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Taus") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolTau, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolTau,eta); + fill(toolTau,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Jets") { - ATH_MSG_DEBUG( "RoI: filling for " << signaturename ); + ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolJet, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - ATH_MSG_DEBUG( "RoI: eta = " << eta << ", phi = " << phi ); + fill(toolJet,eta); + fill(toolJet,phi); + ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } - }//end if(li.isValid()) else { -- GitLab From af6837c57dd0cb5c8373d07ae7f6c39a07a75701 Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann Date: Thu, 12 May 2022 15:27:16 +0200 Subject: [PATCH 2/6] Right histogram titles --- .../python/TrigGeneralMonitorAlgorithm.py | 14 +++++++++----- .../src/TrigHLTMonitorAlgorithm.cxx | 15 ++++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index b1c5d41d683..67ccca19d00 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -215,6 +215,7 @@ def TrigGeneralMonConfig(inputFlags): for trigstatus in triggerstatus: #loop over RAW/PS histname = sig+trigstatus + titlename = sig+trigstatus+";;"+"Events" log_trighlt.debug('Histname = %s', histname) hltGroup.defineHistogram(histname,title=titlename, path=sig,xbins=len(HLT_names_signature_sorted), @@ -230,20 +231,23 @@ def TrigGeneralMonConfig(inputFlags): log_trighlt.debug('Signature name %s',thissigname) histname = "eta,phi;"+thissigname+"RoIs" - titlename = thissigname+";#eta;#phi" + titlename = thissigname+"RoIs;#eta;#phi" thisGroup.defineHistogram(histname,type='TH2F',title=titlename, path='',xbins=64,xmin=-3.2,xmax=3.2, ybins=64,ymin=-3.2,ymax=3.2,opt='kAlwaysCreate') ##eta and phi 1D histograms - histname_eta = thissigname+"_eta" - titlename = sig+";#eta;"+"Events" + histname_eta = "eta" #thissigname+"_eta" + titlename = thissigname+"_eta;#eta;"+"Events" thisGroup.defineHistogram(histname_eta,titlename, path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') - histname_phi = thissigname+"_phi" - titlename = sig+";#phi;"+"Events" + log_trighlt.info('Creating histogram %s: %s', histname_eta, titlename) + + histname_phi = "phi" #thissigname+"_phi" + titlename = thissigname+"_phi;#phi;"+"Events" thisGroup.defineHistogram(histname_phi,titlename, path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + log_trighlt.info('Creating histogram %s: %s', histname_phi, titlename) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index 577673dbd54..c5505f83664 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -137,17 +137,22 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co } /// Fill RoIs histogram - ATH_MSG_DEBUG("Fill RoI histograms for chain " << chainNames[ith] ); + ATH_MSG_INFO("Fill RoI histograms for chain " << chainNames[ith] ); std::vector> fvec = m_trigDecTool->features(chainNames[ith], TrigDefs::Physics, "", TrigDefs::lastFeatureOfType, initialRoIString()); //Loop over RoIs for (const LinkInfo& li : fvec) { if( li.isValid() ) { - std::string etaname=signaturename+"_eta"; - std::string phiname=signaturename+"_phi"; - auto eta = Monitored::Scalar(etaname,0.0); - auto phi = Monitored::Scalar(phiname,0.0); + std::string etaname="eta"; //signaturename+"_eta"; + std::string phiname="phi"; //signaturename+"_phi"; + //auto eta = Monitored::Scalar(etaname,0.0); + //auto phi = Monitored::Scalar(phiname,0.0); + auto phi = Monitored::Scalar(phiname,0.0); + auto eta = Monitored::Scalar(etaname,0.0); + ATH_MSG_INFO( "RoI: eta histname " << etaname ); + ATH_MSG_INFO( "RoI: phi histname " << phiname ); + if(signaturename=="HLT_AllChains") { ATH_MSG_INFO( "RoI: filling for " << signaturename ); auto HLT_RoIs = Monitored::Group(toolAll, eta, phi); -- GitLab From 31fa86f9f360d238316f7db2379f2227b3bb97cc Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann Date: Fri, 13 May 2022 00:16:57 +0200 Subject: [PATCH 3/6] Working version with all histograms filled --- .../python/TrigGeneralMonitorAlgorithm.py | 60 +++++++++--- .../src/TrigHLTMonitorAlgorithm.cxx | 92 +++++++++++++------ 2 files changed, 109 insertions(+), 43 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index 67ccca19d00..8f1dac20d01 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -124,9 +124,12 @@ def TrigGeneralMonConfig(inputFlags): hltGroup.defineHistogram('HLTEvents', title='HLT events;HLT;Events', path='',xbins=2,xmin=0,xmax=2) - consistency_names=['SMK DB NULL','SMK BS NULL','SMK Inconsistent','HLT Prescale DB NULL','HLT Prescale BS NULL','HLT Prescale Inconsistent','No onlineKeys','No eventKeys'] + consistency_names=['SMK DB NULL','SMK BS NULL','SMK Inconsistent','HLT Prescale DB NULL', + 'HLT Prescale BS NULL','HLT Prescale Inconsistent', + 'No onlineKeys','No eventKeys'] hltGroup.defineHistogram('ConfigConsistency_HLT', title='ConfigConsistency_HLT;;Events', - path='',xbins=8,xmin=1,xmax=9,xlabels=consistency_names,opt='kAlwaysCreate') + path='',xbins=8,xmin=1,xmax=9,xlabels=consistency_names, + opt='kAlwaysCreate') ############################################################ @@ -222,6 +225,27 @@ def TrigGeneralMonConfig(inputFlags): xmin=0,xmax=Xmax, xlabels=HLT_names_signature_sorted,opt='kAlwaysCreate') + #eta and phi, 1D + histname = sig+"_eta" + titlename = histname+";#eta;"+"Events" + hltGroup.defineHistogram(histname,title=titlename, + path=sig,xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + log_trighlt.info('Creating histogram %s: %s', histname, titlename) + + histname = sig+"_phi" + titlename = histname+";#phi;"+"Events" + hltGroup.defineHistogram(histname,title=titlename, + path=sig,xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + log_trighlt.info('Creating histogram %s: %s', histname, titlename) + + #RoI count + histname = sig+"RoI_N" + titlename = histname+";Number of RoIs;"+"Events" + hltGroup.defineHistogram(histname,title=titlename, + path=sig,xbins=100,xmin=0,xmax=500,opt='kAlwaysCreate') + log_trighlt.info('.-.-.-.Creating histogram %s: %s', histname, titlename) + + ### RoIs, one per signature log_trighlt.debug('Creating RoI histograms...') @@ -236,19 +260,25 @@ def TrigGeneralMonConfig(inputFlags): path='',xbins=64,xmin=-3.2,xmax=3.2, ybins=64,ymin=-3.2,ymax=3.2,opt='kAlwaysCreate') - ##eta and phi 1D histograms - histname_eta = "eta" #thissigname+"_eta" - titlename = thissigname+"_eta;#eta;"+"Events" - thisGroup.defineHistogram(histname_eta,titlename, - path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') - log_trighlt.info('Creating histogram %s: %s', histname_eta, titlename) - - histname_phi = "phi" #thissigname+"_phi" - titlename = thissigname+"_phi;#phi;"+"Events" - thisGroup.defineHistogram(histname_phi,titlename, - path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') - log_trighlt.info('Creating histogram %s: %s', histname_phi, titlename) - + ###eta and phi 1D histograms + #histname_eta = "eta" #thissigname+"_eta" + #titlename = thissigname+"_eta;#eta;"+"Events" + #thisGroup.defineHistogram(histname_eta,titlename, + # path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + #log_trighlt.info('Creating histogram %s: %s', histname_eta, titlename) + + #histname_phi = "phi" #thissigname+"_phi" + #titlename = thissigname+"_phi;#phi;"+"Events" + #thisGroup.defineHistogram(histname_phi,titlename, + # path='',xbins=64,xmin=-3.2,xmax=3.2,opt='kAlwaysCreate') + #log_trighlt.info('Creating histogram %s: %s', histname_phi, titlename) + + ##RoI count + #histname_roiN = thissigname+"RoI_N" + #titlename = thissigname+"RoI_N;Number of RoIs;"+"Events" + #thisGroup.defineHistogram(histname_roiN,titlename, + # path='',xbins=100,xmin=0,xmax=100,opt='kAlwaysCreate') + #log_trighlt.info('.-.-.-.Creating histogram %s: %s', histname_roiN, titlename) ##################################### diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index c5505f83664..56440044eba 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -91,17 +91,40 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co streams.insert(std::make_pair("HLT_MinBias", "HLT_mb.*")); - //// Set the values of the monitored variables for the event + //// Set the values of the monitored variables for the event + + //Number of RoIs per signature + std::vector roiN; ATH_MSG_DEBUG( "Iterating over the regex map..."); std::map::const_iterator strItr; + int N_sig = 0; for (strItr=streams.begin();strItr!=streams.end(); ++strItr){ std::string signaturename = strItr->first; std::string thisregex = strItr->second; + + //RAW and PS std::string histname_raw = signaturename+"RAW"; std::string histname_ps = signaturename+"PS"; auto HLT_RAW = Monitored::Scalar(histname_raw); auto HLT_PS = Monitored::Scalar(histname_ps); + + //eta and phi + std::string histname_eta=signaturename+"_eta"; + std::string histname_phi=signaturename+"_phi"; + auto RoI_eta = Monitored::Scalar(histname_eta,0.0); + auto RoI_phi = Monitored::Scalar(histname_phi,0.0); + + ATH_MSG_INFO( ".-.-.-RoI: eta histname " << histname_eta ); + ATH_MSG_INFO( ".-.-.-RoI: phi histname " << histname_phi ); + + //Number of RoIs + roiN.push_back(0); //initialize roiN at 0 for each signature + std::string histname_roiN=signaturename+"RoI_N"; + auto RoI_N = Monitored::Scalar(histname_roiN,0); + ATH_MSG_INFO( ".-.-.-.RoI: roiN histname " << histname_roiN ); + + //Loop over HLT chains ATH_MSG_DEBUG( "Filling HLT" << signaturename << " and RoI information for " << thisregex ); std::vector< std::string > chainNames = m_trigDecTool->getChainGroup(thisregex)->getListOfTriggers(); @@ -136,22 +159,29 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co fill(tool,HLT_PS); } - /// Fill RoIs histogram + /// Fill RoIs histogram and 1D histos for eta, phi, RoI count ATH_MSG_INFO("Fill RoI histograms for chain " << chainNames[ith] ); std::vector> fvec = m_trigDecTool->features(chainNames[ith], TrigDefs::Physics, "", TrigDefs::lastFeatureOfType, initialRoIString()); - //Loop over RoIs for (const LinkInfo& li : fvec) { if( li.isValid() ) { - std::string etaname="eta"; //signaturename+"_eta"; - std::string phiname="phi"; //signaturename+"_phi"; - //auto eta = Monitored::Scalar(etaname,0.0); - //auto phi = Monitored::Scalar(phiname,0.0); - auto phi = Monitored::Scalar(phiname,0.0); - auto eta = Monitored::Scalar(etaname,0.0); - ATH_MSG_INFO( "RoI: eta histname " << etaname ); - ATH_MSG_INFO( "RoI: phi histname " << phiname ); + + //Fill the 1D histograms, not for minbias + if(signaturename!="HLT_MinBias") { + const TrigRoiDescriptor* roi = *(li.link).cptr(); + RoI_eta = roi->eta(); + RoI_phi = roi->phi(); + fill(tool,RoI_eta); + fill(tool,RoI_phi); + ATH_MSG_INFO( "RoI named: eta = " << RoI_eta << ", phi = " << RoI_phi ); + roiN[N_sig]++; + } + + + //Fill 2D RoI maps + auto phi = Monitored::Scalar("phi",0.0); + auto eta = Monitored::Scalar("eta",0.0); if(signaturename=="HLT_AllChains") { ATH_MSG_INFO( "RoI: filling for " << signaturename ); @@ -159,9 +189,15 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolAll,eta); - fill(toolAll,phi); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); + + //Fill 1D histos + //RoI_eta = roi->eta(); + ////RoI_phi = roi->phi(); + //fill(tool,RoI_eta); + //fill(tool,RoI_phi); + ATH_MSG_INFO( "RoI plain: eta = " << eta << ", phi = " << phi ); + //ATH_MSG_INFO( "RoI named: eta = " << RoI_eta << ", phi = " << RoI_phi ); + //roiN[0]++; } //Check signatures @@ -171,8 +207,8 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolEle,eta); - fill(toolEle,phi); + //fill(toolEle,eta); + //fill(toolEle,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Gamma") { @@ -181,8 +217,8 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolGam,eta); - fill(toolGam,phi); + //fill(toolGam,eta); + //fill(toolGam,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); //-.-. } else if(signaturename=="HLT_Muons") { @@ -191,8 +227,8 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolMuo,eta); - fill(toolMuo,phi); + //fill(toolMuo,eta); + //fill(toolMuo,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_MissingET") { @@ -201,8 +237,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolMET,eta); - fill(toolMET,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Taus") { @@ -211,8 +245,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolTau,eta); - fill(toolTau,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } else if(signaturename=="HLT_Jets") { @@ -221,8 +253,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co const TrigRoiDescriptor* roi = *(li.link).cptr(); eta = roi->eta(); phi = roi->phi(); - fill(toolJet,eta); - fill(toolJet,phi); ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); } @@ -237,9 +267,15 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co }// end if(m_trigDecTool->isPassed(chainNames[ith])) }// end if( chainNames[ith] != "" ) }//end for(unsigned int ith=0; ith streams; streams.insert(std::make_pair("HLT_AllChains", "HLT_.*")); streams.insert(std::make_pair("HLT_Electrons", "HLT_[0-9]*e[0-9]+.*")); streams.insert(std::make_pair("HLT_Gamma", "HLT_[0-9]*g[0-9]+.*")); streams.insert(std::make_pair("HLT_Muons", "HLT_[0-9]*mu[0-9]+.*")); - streams.insert(std::make_pair("HLT_MissingET", "HLT_(t|x)e[0-9]+.*")); streams.insert(std::make_pair("HLT_Taus", "HLT_(tau[0-9]*|trk.*Tau).*")); + streams.insert(std::make_pair("HLT_MissingET", "HLT_(t|x)e[0-9]+.*")); streams.insert(std::make_pair("HLT_Jets", "HLT_[0-9]*j[0-9]+.*")); streams.insert(std::make_pair("HLT_MinBias", "HLT_mb.*")); @@ -96,13 +96,17 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co //Number of RoIs per signature std::vector roiN; - ATH_MSG_DEBUG( "Iterating over the regex map..."); + //Iterate over the regex map... std::map::const_iterator strItr; int N_sig = 0; for (strItr=streams.begin();strItr!=streams.end(); ++strItr){ std::string signaturename = strItr->first; std::string thisregex = strItr->second; + //Open the right group + std::string toolname = "Trig"+signaturename+"Monitor"; + auto thisTool = getGroup(toolname); + //RAW and PS std::string histname_raw = signaturename+"RAW"; std::string histname_ps = signaturename+"PS"; @@ -115,14 +119,11 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co auto RoI_eta = Monitored::Scalar(histname_eta,0.0); auto RoI_phi = Monitored::Scalar(histname_phi,0.0); - ATH_MSG_INFO( ".-.-.-RoI: eta histname " << histname_eta ); - ATH_MSG_INFO( ".-.-.-RoI: phi histname " << histname_phi ); //Number of RoIs roiN.push_back(0); //initialize roiN at 0 for each signature std::string histname_roiN=signaturename+"RoI_N"; auto RoI_N = Monitored::Scalar(histname_roiN,0); - ATH_MSG_INFO( ".-.-.-.RoI: roiN histname " << histname_roiN ); //Loop over HLT chains ATH_MSG_DEBUG( "Filling HLT" << signaturename << " and RoI information for " << thisregex ); @@ -139,7 +140,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co /// Fill plain chains histogram HLT_RAW = chainNames[ith]; - ATH_MSG_DEBUG( "Fill HLT_RAW for " << signaturename << " and " << chainNames[ith]); fill(tool,HLT_RAW); //If the chain is prescaled @@ -160,103 +160,41 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co } /// Fill RoIs histogram and 1D histos for eta, phi, RoI count - ATH_MSG_INFO("Fill RoI histograms for chain " << chainNames[ith] ); std::vector> fvec = m_trigDecTool->features(chainNames[ith], TrigDefs::Physics, "", TrigDefs::lastFeatureOfType, initialRoIString()); //Loop over RoIs for (const LinkInfo& li : fvec) { if( li.isValid() ) { - //Fill the 1D histograms, not for minbias + //Fill the roi and eta, phi histograms, not for minbias if(signaturename!="HLT_MinBias") { - const TrigRoiDescriptor* roi = *(li.link).cptr(); - RoI_eta = roi->eta(); - RoI_phi = roi->phi(); - fill(tool,RoI_eta); - fill(tool,RoI_phi); - ATH_MSG_INFO( "RoI named: eta = " << RoI_eta << ", phi = " << RoI_phi ); - roiN[N_sig]++; - } - - - //Fill 2D RoI maps - auto phi = Monitored::Scalar("phi",0.0); - auto eta = Monitored::Scalar("eta",0.0); - - if(signaturename=="HLT_AllChains") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolAll, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - - //Fill 1D histos - //RoI_eta = roi->eta(); - ////RoI_phi = roi->phi(); - //fill(tool,RoI_eta); - //fill(tool,RoI_phi); - ATH_MSG_INFO( "RoI plain: eta = " << eta << ", phi = " << phi ); - //ATH_MSG_INFO( "RoI named: eta = " << RoI_eta << ", phi = " << RoI_phi ); - //roiN[0]++; - } - - //Check signatures - if(signaturename=="HLT_Electrons") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolEle, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - //fill(toolEle,eta); - //fill(toolEle,phi); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); - } - else if(signaturename=="HLT_Gamma") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolGam, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - //fill(toolGam,eta); - //fill(toolGam,phi); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); //-.-. - } - else if(signaturename=="HLT_Muons") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolMuo, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - //fill(toolMuo,eta); - //fill(toolMuo,phi); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); - } - else if(signaturename=="HLT_MissingET") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolMET, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); - } - else if(signaturename=="HLT_Taus") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolTau, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); - } - else if(signaturename=="HLT_Jets") { - ATH_MSG_INFO( "RoI: filling for " << signaturename ); - auto HLT_RoIs = Monitored::Group(toolJet, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - ATH_MSG_INFO( "RoI: eta = " << eta << ", phi = " << phi ); - } - + //Fill 1D map + const TrigRoiDescriptor* roi = *(li.link).cptr(); + if(!roi->isFullscan()) { + RoI_eta = roi->eta(); + RoI_phi = roi->phi(); + fill(tool,RoI_eta); + fill(tool,RoI_phi); + roiN[N_sig]++; + } + else { + ATH_MSG_DEBUG( "RoI is FULLSCAN, chain " << chainNames[ith]); + } + + + + //Fill 2D RoI maps + auto phi = Monitored::Scalar("phi",0.0); + auto eta = Monitored::Scalar("eta",0.0); + + if(!roi->isFullscan()) { + auto HLT_RoIs = Monitored::Group(thisTool, eta, phi); + const TrigRoiDescriptor* roi = *(li.link).cptr(); + eta = roi->eta(); + phi = roi->phi(); + } + }//end if(signaturename!="HLT_MinBias") }//end if(li.isValid()) else { @@ -270,8 +208,9 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co //Fill RoI count per stream RoI_N = roiN[N_sig]; - fill(tool,RoI_N); - ATH_MSG_INFO( ".-.-.-RoI: N_sig = " << N_sig << ", RoI_N = " << roiN[N_sig]); + if(roiN[N_sig]>0) {//only fill if we have at least one RoI for the signature + fill(tool,RoI_N); + } N_sig++; }//end loop over streams -- GitLab From 498a1c8a3bf2702abb904c5af4f7154c24d1389b Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann Date: Fri, 13 May 2022 18:48:48 +0200 Subject: [PATCH 5/6] Removing out-commented code --- .../TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index c50001c0ace..1823044b8cc 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -32,15 +32,8 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co using namespace Monitored; StatusCode sc = StatusCode::FAILURE; - //Fetch the general tools + //Fetch the general tool auto tool = getGroup("TrigHLTMonitor"); - //auto toolAll = getGroup("TrigHLT_AllChainsMonitor"); - //auto toolEle = getGroup("TrigHLT_ElectronsMonitor"); - //auto toolGam = getGroup("TrigHLT_GammaMonitor"); - //auto toolMuo = getGroup("TrigHLT_MuonsMonitor"); - //auto toolTau = getGroup("TrigHLT_TausMonitor"); - //auto toolMET = getGroup("TrigHLT_MissingETMonitor"); - //auto toolJet = getGroup("TrigHLT_JetsMonitor"); //////////////////////////////////////// -- GitLab From 910a0b5ba1267e25248cdb0615d3cdc436ea6243 Mon Sep 17 00:00:00 2001 From: Elin Bergeaas Kuutmann Date: Mon, 16 May 2022 02:33:49 +0200 Subject: [PATCH 6/6] Adding a minbias tool to fix the FATAL error in the CI test --- .../python/TrigGeneralMonitorAlgorithm.py | 18 +++---- .../src/TrigHLTMonitorAlgorithm.cxx | 54 +++++++++---------- 2 files changed, 32 insertions(+), 40 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py index ebab03cbd0c..5d2d5d04843 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/python/TrigGeneralMonitorAlgorithm.py @@ -16,7 +16,6 @@ def TrigGeneralMonConfig(inputFlags): from AthenaCommon.Logging import logging log_trighlt = logging.getLogger( 'TrigGeneralMonitorAlgorithm' ) - log_trighlt.debug('In TrigGeneralMonitorAlgorithm.py') ###Read the menu from the database from TrigConfigSvc.TriggerConfigAccess import getHLTMenuAccess @@ -187,17 +186,16 @@ def TrigGeneralMonConfig(inputFlags): ### RoIs, one per signature - #Tools for the signatures, including All as first item + #Tools for the signatures, including AllChains as first item listOfSignatureGroups =[] for signame in ListOf_signatures: - if signame!='HLT_MinBias': #sNo RoI map for minbias - thistoolname = 'Trig'+signame+'Monitor' - thisGroup = helper.addGroup( - trigHLTMonAlg, - thistoolname, - 'HLT/ResultMon/'+signame - ) - listOfSignatureGroups.append(thisGroup) + thistoolname = 'Trig'+signame+'Monitor' + thisGroup = helper.addGroup( + trigHLTMonAlg, + thistoolname, + 'HLT/ResultMon/'+signame + ) + listOfSignatureGroups.append(thisGroup) #Creating the RoI histograms diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx index 1823044b8cc..dccdec99652 100644 --- a/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/src/TrigHLTMonitorAlgorithm.cxx @@ -98,6 +98,7 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co //Open the right group std::string toolname = "Trig"+signaturename+"Monitor"; + ATH_MSG_DEBUG("Initializing tool " << toolname ); auto thisTool = getGroup(toolname); //RAW and PS @@ -144,7 +145,6 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co else { ATH_MSG_WARNING("No chain found in m_trigDecTool->ExperimentalAndExpertMethods().getChainConfigurationDetails(" << chainNames[ith] << "). Using prescale 0"); } - ATH_MSG_DEBUG( "Prescale: " << prescale ); if(prescale>1. || prescale<1.) { //NB! Right now very few chains are prescaled, so this histogram is seldom filled HLT_PS = chainNames[ith]; @@ -159,35 +159,29 @@ StatusCode TrigHLTMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co for (const LinkInfo& li : fvec) { if( li.isValid() ) { - //Fill the roi and eta, phi histograms, not for minbias - if(signaturename!="HLT_MinBias") { - - //Fill 1D map + //Fill 1D histos of roi_N, eta, phi + const TrigRoiDescriptor* roi = *(li.link).cptr(); + if(!roi->isFullscan()) { + RoI_eta = roi->eta(); + RoI_phi = roi->phi(); + fill(tool,RoI_eta); + fill(tool,RoI_phi); + roiN[N_sig]++; + } + else { + ATH_MSG_DEBUG( "RoI is FULLSCAN, chain " << chainNames[ith]); + } + + //Fill 2D RoI maps + auto phi = Monitored::Scalar("phi",0.0); + auto eta = Monitored::Scalar("eta",0.0); + + if(!roi->isFullscan()) { + auto HLT_RoIs = Monitored::Group(thisTool, eta, phi); const TrigRoiDescriptor* roi = *(li.link).cptr(); - if(!roi->isFullscan()) { - RoI_eta = roi->eta(); - RoI_phi = roi->phi(); - fill(tool,RoI_eta); - fill(tool,RoI_phi); - roiN[N_sig]++; - } - else { - ATH_MSG_DEBUG( "RoI is FULLSCAN, chain " << chainNames[ith]); - } - - - - //Fill 2D RoI maps - auto phi = Monitored::Scalar("phi",0.0); - auto eta = Monitored::Scalar("eta",0.0); - - if(!roi->isFullscan()) { - auto HLT_RoIs = Monitored::Group(thisTool, eta, phi); - const TrigRoiDescriptor* roi = *(li.link).cptr(); - eta = roi->eta(); - phi = roi->phi(); - } - }//end if(signaturename!="HLT_MinBias") + eta = roi->eta(); + phi = roi->phi(); + } }//end if(li.isValid()) else { @@ -228,7 +222,7 @@ StatusCode TrigHLTMonitorAlgorithm::fillResultAndConsistencyHistograms( const Ev StatusCode sc_hltEvents = StatusCode::FAILURE; StatusCode sc_onlineKeys = StatusCode::FAILURE; StatusCode sc_eventKeys = StatusCode::FAILURE; - ATH_MSG_DEBUG("---> Filling Result and Consistency histograms"); + ATH_MSG_DEBUG("Filling Result and Consistency histograms"); // Declare the quantities which should be monitored //NB! The variables and histograms defined here must match the ones in the py file exactly! -- GitLab