From 8685dac96593494530b510180cc22533cd7962de Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@gmail.com> Date: Wed, 17 Nov 2021 15:32:13 +0100 Subject: [PATCH] Added cut on offline tracks pt in MinBias HLT tracking perf DQ --- .../TrigMinBiasMonitoring/CMakeLists.txt | 2 +- .../python/TrigMinBiasMonitoringMT.py | 15 +++++++++++++-- .../src/HLTEfficiencyMonitoringAlg.cxx | 5 +++-- .../src/HLTEfficiencyMonitoringAlg.h | 2 ++ .../src/HLTMinBiasTrkMonAlg.cxx | 2 +- .../src/HLTMinBiasTrkMonAlg.h | 3 ++- 6 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/CMakeLists.txt b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/CMakeLists.txt index a3f81147d4d2..12bd872c1b6b 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/CMakeLists.txt +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/CMakeLists.txt @@ -18,4 +18,4 @@ atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) atlas_add_test( ConfigTest SCRIPT python -m TrigMinBiasMonitoring.TrigMinBiasMonitoringMT - POST nopost.sh) \ No newline at end of file + POST_EXEC_SCRIPT nopost.sh) \ No newline at end of file diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/python/TrigMinBiasMonitoringMT.py b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/python/TrigMinBiasMonitoringMT.py index a5df440b96e1..0b75f05b00c5 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/python/TrigMinBiasMonitoringMT.py +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/python/TrigMinBiasMonitoringMT.py @@ -28,10 +28,21 @@ if __name__ == "__main__": from AthenaConfiguration.AllConfigFlags import ConfigFlags as flags flags.DQ.Environment = "AOD" + flags.Output.HISTFileName = 'TestMinBiasMonitorOutput.root' from AthenaConfiguration.TestDefaults import defaultTestFiles flags.Input.Files = defaultTestFiles.AOD + flags.Exec.MaxEvents = 20 + flags.fillFromArgs() flags.lock() - acc = TrigMinBias(flags) - acc.printConfig(withDetails=True, summariseProps=True) + from AthenaConfiguration.MainServicesConfig import MainServicesCfg + from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg + cfg = MainServicesCfg(flags) + cfg.merge(PoolReadCfg(flags)) + cfg.merge(TrigMinBias(flags)) + + status = cfg.run() + if status.isFailure(): + import sys + sys.exit(-1) \ No newline at end of file diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.cxx b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.cxx index 40c6ce15199f..60e5ef4e5681 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.cxx +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.cxx @@ -43,8 +43,9 @@ StatusCode HLTEfficiencyMonitoringAlg::fillHistograms(const EventContext& contex auto leadingTrackPt = Scalar<double>("leadingTrackPt"); for (const auto trk : *offlineTrkHandle) { - const double pt = std::fabs(trk->pt()) * 1e-3; // fabs used in case the charge is encoded in pt ( i.e. it is really q * pt) - if (m_trackSelectionTool->accept(*trk)) { + if (m_trackSelectionTool->accept(*trk) and std::fabs(trk->pt()) > m_minPt) { + const double pt = std::fabs(trk->pt()) * 1e-3; // fabs used in case the charge is encoded in pt ( i.e. it is really q * pt) + ++countPassing; if (pt > 2.) ++countPassing_pt2; diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.h b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.h index ad035a89a29e..8535f9a5e74a 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.h +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTEfficiencyMonitoringAlg.h @@ -40,6 +40,8 @@ private: SG::ReadHandleKey<xAOD::TrackParticleContainer> m_offlineTrkKey{this, "OfflineTrkKey", "InDetTrackParticles", "Name of Offline track counts info object produced by the HLT track counting FEX algorithm"}; ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectionTool{this, "TrackSelectionTool", "InDetTrackSelectionTool", "Tool for selecting tracks"}; + Gaudi::Property<float> m_minPt{ this, "minPt", 200.0, "Consider offline tracks only if above this threshold (in MeV)"}; + }; #endif // TRIGMINBIASMONITORING_HLTEFFICIENCYMONITORINGALG_H diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.cxx b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.cxx index dbb7ea8d24cf..2a40ee01f194 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.cxx +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.cxx @@ -110,7 +110,7 @@ StatusCode HLTMinBiasTrkMonAlg::monitorTrkCounts(const EventContext& context) co int countPassing = 0; for (const auto trk : *offlineTrkHandle) { - if (m_trackSelectionTool->accept(*trk)) + if (m_trackSelectionTool->accept(*trk) and std::fabs(trk->pt()) > m_minPt ) ++countPassing; } ATH_MSG_DEBUG("::monitorTrkCounts countPassing = " << countPassing); diff --git a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.h b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.h index 1a5ddf162fb9..379fdd14917f 100644 --- a/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.h +++ b/Trigger/TrigMonitoring/TrigMinBiasMonitoring/src/HLTMinBiasTrkMonAlg.h @@ -41,7 +41,8 @@ private: Gaudi::Property<std::vector<std::string>> m_triggerList{this, "triggerList",{}, "Add triggers to this to be monitored"}; ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectionTool {this, "TrackSelectionTool", "InDetTrackSelectionTool", "Tool for selecting tracks"}; - + Gaudi::Property<float> m_minPt{ this, "minPt", 200.0, "Consider offline tracks only if above this threshold (in MeV)"}; + StatusCode monitorPurities(const EventContext& context) const; StatusCode monitorSPCounts(const EventContext& context) const; StatusCode monitorTrkCounts(const EventContext& context) const; -- GitLab