diff --git a/Trigger/TrigValidation/TrigValTools/bin/chainDump.py b/Trigger/TrigValidation/TrigValTools/bin/chainDump.py
index caa7de377bb94c069c33bf001897723d53b32afa..74ed67ad979d6d91183ddbf543f08419b2a11723 100755
--- a/Trigger/TrigValidation/TrigValTools/bin/chainDump.py
+++ b/Trigger/TrigValidation/TrigValTools/bin/chainDump.py
@@ -9,6 +9,7 @@ import sys
 import argparse
 import logging
 import json
+import yaml
 import ROOT
 from collections import OrderedDict
 
@@ -43,6 +44,12 @@ def get_parser():
                         nargs='?',
                         const='chainDump.json',
                         help='Save outputs also to a json file with the given name or %(const)s if no name is given')
+    parser.add_argument('--yaml',
+                        metavar='PATH',
+                        nargs='?',
+                        const='chainDump.yml',
+                        help='Produce a small yaml file including condensed counts information for test file only '
+                             '(no ref) with the given name or %(const)s if no name is given')
     parser.add_argument('--fracTolerance',
                         metavar='FRAC',
                         type=float,
@@ -60,6 +67,7 @@ def get_parser():
                         nargs='+',
                         default=[
                             'HLTFramework/TrigSignatureMoniMT/SignatureAcceptance',
+                            'HLTFramework/../HLTFramework/TrigSignatureMoniMT/SignatureAcceptance',
                             'TrigSteer_HLT/ChainAcceptance',
                             'TrigSteer_HLT/NumberOfActiveTEs',
                             'HLTFramework/TrigSignatureMoniMT/DecisionCount',
@@ -80,6 +88,7 @@ def get_parser():
                         nargs='+',
                         default=[
                             'HLTFramework/TrigSignatureMoniMT/SignatureAcceptance:HLTChain',
+                            'HLTFramework/../HLTFramework/TrigSignatureMoniMT/SignatureAcceptance:HLTStep',
                             'TrigSteer_HLT/ChainAcceptance:HLTChain',
                             'TrigSteer_HLT/NumberOfActiveTEs:HLTTE',
                             'HLTFramework/TrigSignatureMoniMT/DecisionCount:HLTDecision',
@@ -313,6 +322,44 @@ def write_txt_output(json_dict, diff_only=False):
                     outfile.write(line+'\n')
 
 
+def make_light_dict(full_dict):
+    light_dict = dict()
+    for chain in full_dict['HLTChain']['counts'].items():
+        chain_name = chain[0]
+
+        # Leave only chain counts and skip total / groups / streams
+        skip = [True for s in ['All', 'grp_', 'str_'] if chain_name.startswith(s)]
+        if skip:
+            continue
+
+        light_dict[chain_name] = dict()
+        chain_tot_count = chain[1]['count']
+        light_dict[chain_name]['eventCount'] = chain_tot_count
+
+        def extract_steps(in_name, out_name):
+            step_counts = [o for o in full_dict[in_name]['counts'].items() if o[0].startswith(chain_name)]
+            step_dict = dict()
+            for step in step_counts:
+                step_count = step[1]['count']
+                if step_count == 0:
+                    continue
+                step_name = step[0]
+                step_number = int(step_name[step_name.find("_Step")+5:])
+                step_dict[step_number] = step_count
+            if len(step_dict) == 0:
+                return
+            if out_name not in light_dict[chain_name]:
+                light_dict[chain_name][out_name] = dict()
+            # Change step numbers to enumeration
+            for step_index, step_info in enumerate(sorted(step_dict.items())):
+                light_dict[chain_name][out_name][step_index] = step_info[1]
+
+        extract_steps('HLTStep', 'stepCounts')
+        extract_steps('HLTDecision', 'stepFeatures')
+
+    return light_dict
+
+
 def main():
     args = get_parser().parse_args()
     logging.basicConfig(stream=sys.stdout,
@@ -393,11 +440,11 @@ def main():
                 'results would be overwritten. Use --countHists and ',
                 '--histDict options to avoid duplicates. Exiting.')
 
-        counts = get_2D_counts(hist) if text_name == 'HLTDecision' else get_counts(hist)
+        counts = get_2D_counts(hist) if text_name in ['HLTStep', 'HLTDecision'] else get_counts(hist)
         ref_counts = {}
         if ref_hists:
             ref_hist = ref_hists[hist_name]
-            ref_counts = get_2D_counts(ref_hist) if text_name == 'HLTDecision' else get_counts(ref_hist)
+            ref_counts = get_2D_counts(ref_hist) if text_name in ['HLTStep', 'HLTDecision'] else get_counts(ref_hist)
         d = make_counts_json_dict(counts, ref_counts)
 
         json_dict[text_name] = OrderedDict()
@@ -425,6 +472,12 @@ def main():
         with open(args.json, 'w') as outfile:
             json.dump(json_dict, outfile, sort_keys=True)
 
+    if args.yaml:
+        logging.info('Writing results extract to %s', args.yaml)
+        light_dict = make_light_dict(json_dict)
+        with open(args.yaml, 'w') as outfile:
+            yaml.dump(light_dict, outfile, sort_keys=True)
+
     return retcode
 
 
diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
index 02b2a8137303e2300a5933fc0e1a72854abb3a60..7d1aa4b3bac8b738e14eff018a05f98e6fa9305c 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
@@ -468,7 +468,7 @@ class ChainDumpStep(InputDependentStep):
         super(ChainDumpStep, self).__init__(name)
         self.input_file = 'expert-monitoring.root'
         self.executable = 'chainDump.py'
-        self.args = '--json'
+        self.args = '--json --yaml'
 
     def configure(self, test):
         self.args += ' -f '+self.input_file