From 8d98510e357e7519cfb43c0b79c74ed5ee178223 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Mon, 13 May 2019 14:48:18 +0200
Subject: [PATCH] Add flag to enable/disable Trigger navigation slimming

Add a flag to enable/disable the trigger navigation slimming. This
should help for MT jobs to disable the use of the TrigDecisionTool
(ATR-18627).
---
 .../TriggerJobOpts/python/HLTTriggerResultGetter.py       | 7 +++----
 .../TriggerCommon/TriggerJobOpts/python/TriggerFlags.py   | 8 ++++++++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
index a73acaaa262..48b18ac1f38 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from TriggerJobOpts.TriggerFlags import TriggerFlags
 from AthenaCommon.Logging import logging
@@ -441,14 +441,13 @@ class HLTTriggerResultGetter(Configured):
         from AthenaCommon.AppMgr import ServiceMgr as svcMgr
         from AthenaServices.Configurables import ThinningSvc, createThinningSvc
         
-        _doSlimming = True
-        if _doSlimming and rec.readRDO() and rec.doWriteAOD():
+        if TriggerFlags.doNavigationSlimming() and rec.readRDO() and rec.doWriteAOD():
             if not hasattr(svcMgr, 'ThinningSvc'): # if the default is there it is configured for AODs
                 svcMgr += ThinningSvc(name='ThinningSvc', Streams=['StreamAOD'])             
             _addSlimming('StreamAOD', svcMgr.ThinningSvc, _TriggerESDList ) #Use ESD item list also for AOD!
             log.info("configured navigation slimming for AOD output")
             
-        if _doSlimming and rec.readRDO() and rec.doWriteESD(): #rec.doWriteESD() and not rec.readESD(): 
+        if TriggerFlags.doNavigationSlimming() and rec.readRDO() and rec.doWriteESD():
             if not  hasattr(svcMgr, 'ESDThinningSvc'):
                 svcMgr += ThinningSvc(name='ESDThinningSvc', Streams=['StreamESD']) # the default is configured for AODs
             _addSlimming('StreamESD', svcMgr.ESDThinningSvc, _TriggerESDList )                
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index adff0f8300b..5a783fbce8c 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -365,6 +365,14 @@ class ESDEDMSet(JobProperty):
 
 _flags.append(ESDEDMSet)
 
+class doNavigationSlimming(JobProperty):
+    """Enable the trigger navigation slimming"""
+    statusOn=True
+    allowedType=['bool']
+    StoredValue=True
+
+_flags.append(doNavigationSlimming)
+
 class OnlineCondTag(JobProperty):
     """ Default (online) HLT conditions tag """
     statusOn=True
-- 
GitLab