diff --git a/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py b/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
index 1fd3b01f98b8c847fd256571011517946be7e292..25982834248be21804790ba5281ec2b3f55d9df2 100755
--- a/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
+++ b/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
@@ -1,4 +1,5 @@
 #!/bin/sh
+# -*- mode: python -*-
 #
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 #
@@ -71,7 +72,6 @@ def arg_eval(s):
    """Argument handler for pyton types (list, dict, ...)"""
    return ast.literal_eval(s)
 
-
 def update_pcommands(args, cdict):
    """Apply modifications to pre/postcommands"""
 
@@ -107,7 +107,6 @@ def update_run_params(args):
          dmask = hex(dmask)
       args.detector_mask = arg_detector_mask(dmask)
 
-
 def update_nested_dict(d, u):
    """Update nested dictionary (https://stackoverflow.com/q/3232943)"""
    for k, v in u.iteritems():
@@ -117,6 +116,13 @@ def update_nested_dict(d, u):
          d[k] = v
    return d
 
+def set_athena_flags(args):
+   """Set athena flags based on command line args"""
+
+   from AthenaCommon.ConcurrencyFlags import jobproperties as jp
+   jp.ConcurrencyFlags.NumThreads = args.threads
+   jp.ConcurrencyFlags.NumConcurrentEvents = args.concurrent_events
+   jp.ConcurrencyFlags.NumProcs = args.nprocs
 
 def HLTMPPy_cfgdict(args):
    """
@@ -133,7 +139,7 @@ def HLTMPPy_cfgdict(args):
       'module' : 'HLTMPPU',
       'num_forks' : args.nprocs,
       'num_threads' : args.threads,
-      'num_slots' : args.threads,
+      'num_slots' : args.concurrent_events,
       'partition_name' : args.partition,
       'hard_timeout' : args.timeout,
       'soft_timeout_fraction' : 0.9
@@ -141,7 +147,7 @@ def HLTMPPy_cfgdict(args):
 
    cdict['datasource'] = {
       'module': 'dffileds',
-      'dslibrary': 'DFFileBackend',
+      'dslibrary': 'DFDcmEmuBackend',
       'compressionFormat': 'ZLIB',
       'compressionLevel': 2,
       'file': args.file,
@@ -257,6 +263,7 @@ def main():
    g.add_argument('--skip-events', '-k', metavar='N', default=0, help='skip N first events')
    g.add_argument('--threads', metavar='N', type=int, default=1, help='number of threads')
    g.add_argument('--nprocs', metavar='N', type=int, default=1, help='number of children to fork')
+   g.add_argument('--concurrent-events', metavar='N', type=int, help='number of concurrent events if different from --threads')
    g.add_argument('--log-level', '-l', metavar='LVL', type=arg_log_level, default='INFO,ERROR', help='OutputLevel of athena,POOL')
    g.add_argument('--precommand', '-c', metavar='CMD', action='append', default=[],
                   help='Python commands executed before job options or database configuration')
@@ -329,8 +336,13 @@ def main():
    from AthenaCommon.Include import include
    include.setShowIncludes( args.show_includes )
 
-   # update parameters based on SOR
+   # consistency checks for arguments
+   if not args.concurrent_events:
+      args.concurrent_events = args.threads
+
+   # Update args and set athena flags
    update_run_params(args)
+   set_athena_flags(args)
 
    # get HLTMPPY config dictionary
    cdict = HLTMPPy_cfgdict(args)