diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7222ea624d3e081fa11ad96d632358d134fb937a..4adc3538dd31b4427ab19ea2c6f7e260a4801eb3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 stages:
 - build-hepwlbuilder
 - test-hepwlbuilder
+- test-parsers
 - build-hepwl
       
 # Build the hep-workload-builder image (which is used to build and test WLs using docker)
@@ -220,3 +221,20 @@ job_build-lhcb-gen-sim:
     #- common/bmk-driver.sh
     #- common/Dockerfile.template
   <<: *build-hepwl-anchor
+
+###
+### Template for all the build jobs of hep-workloads containers
+###
+job_test-parsers:
+  image: $CI_REGISTRY_IMAGE/hep-workload-builder:latest
+  stage: test-parsers
+  script:
+   - aline=`printf '=%.0s' {1..100}`; 
+   - for aparser in `find . -name "test_parser.sh"`; do echo -e "$aline\nRunning $aparser\n$aline"; jobdir=$(dirname $(readlink -f $aparser))/jobs; $aparser || (tar -cvzf archive.tgz $jobdir; exit 1); done
+#  after_script:
+#   - tar -cvzf archive.tgz .
+  artifacts:
+    paths:
+      - $CI_PROJECT_DIR/archive.tgz
+    expire_in: 1 week
+    when: on_failure
diff --git a/alice/gen-sim/alice-gen-sim/jobs/bad_1/alice-gen-sim_summary.json b/alice/gen-sim/alice-gen-sim/jobs/bad_1/alice-gen-sim_summary.json
index 0d36ce6561fd971290acb710994e916b7265bc20..1e66c884453482231e039171842652b5cfa51563 100644
--- a/alice/gen-sim/alice-gen-sim/jobs/bad_1/alice-gen-sim_summary.json
+++ b/alice/gen-sim/alice-gen-sim/jobs/bad_1/alice-gen-sim_summary.json
@@ -1 +1 @@
-{"copies":2 , "threads_per_copy":1 , "events_per_thread" : 1 , "CPU_score": "" , "log": "[ERROR] There is at least one job not finished properly", "app":  }
+{"copies":2 , "threads_per_copy":1 , "events_per_thread" : 1 , "CPU_score": "" , "log": "[ERROR] There is at least one job not finished properly", "app": {"version":"v0.15","description":"ALICE pp GEN-SIM","cvmfs_checksum":"9986a9a83745b416a510788e1f35d807","bmkdata_checksum":"b94489e16c0a77f2a0a9aaf333260a96","bmk_checksum":"6c5c2fd1379388c9b1cbd3888e5ecbd3"} }
diff --git a/alice/gen-sim/alice-gen-sim/jobs/bad_1/version.json b/alice/gen-sim/alice-gen-sim/jobs/bad_1/version.json
new file mode 100644
index 0000000000000000000000000000000000000000..e8dc1b0d62cc2606ee997b574ffc8082a8cd3e9a
--- /dev/null
+++ b/alice/gen-sim/alice-gen-sim/jobs/bad_1/version.json
@@ -0,0 +1 @@
+{"version":"v0.15","description":"ALICE pp GEN-SIM","cvmfs_checksum":"9986a9a83745b416a510788e1f35d807","bmkdata_checksum":"b94489e16c0a77f2a0a9aaf333260a96","bmk_checksum":"6c5c2fd1379388c9b1cbd3888e5ecbd3"}
diff --git a/atlas/gen/atlas-gen/jobs/good_1/atlas-gen_summary.json b/atlas/gen/atlas-gen/jobs/good_1/atlas-gen_summary.json
index 63ee89b13906d2f85625a7244fb738d96cc8fbf8..cccff46f6cb39b78924a50397d71219fe0d88e2e 100644
--- a/atlas/gen/atlas-gen/jobs/good_1/atlas-gen_summary.json
+++ b/atlas/gen/atlas-gen/jobs/good_1/atlas-gen_summary.json
@@ -1 +1 @@
-{"copies":4 , "threads_per_copy": 1 , "events_per_thread" : 5 , "CPU_score": {"score": 89.2575, "avg": 22.3144, "median": 22.3242, "min": 21.8818, "max": 22.7273} , "log": "ok", "app":{"version":"v0.15","description":"ATLAS Event Generation based on athena version 19.2.5.5","cvmfs_checksum":"512aae44a881c0d4f9bc690488653241","bmkdata_checksum":"9a62d4782b086a9c74ab6edd38dc0ee3","bmk_checksum":"e93678ff532a3233f94f3e3890a8f39c"} }
+{"copies":4 , "threads_per_copy": 1 , "events_per_thread" : 5 , "wl-scores": {"sim": 89.2575} , "wl-stats": {"score": 89.2575, "avg": 22.3144, "median": 22.3242, "min": 21.8818, "max": 22.7273} , "log": "ok", "app":{"version":"v0.15","description":"ATLAS Event Generation based on athena version 19.2.5.5","cvmfs_checksum":"512aae44a881c0d4f9bc690488653241","bmkdata_checksum":"9a62d4782b086a9c74ab6edd38dc0ee3","bmk_checksum":"e93678ff532a3233f94f3e3890a8f39c"} }
diff --git a/atlas/gen/atlas-gen/parseResults.sh b/atlas/gen/atlas-gen/parseResults.sh
index bd38240b86348525dd06dfef9a920076dde2cdba..8d093a7a590799e7301ebff1812f97e08f8b6e2c 100644
--- a/atlas/gen/atlas-gen/parseResults.sh
+++ b/atlas/gen/atlas-gen/parseResults.sh
@@ -1,7 +1,7 @@
 parseResultsDir=$(cd $(dirname ${BASH_SOURCE}); pwd) # needed to locate parseResults.py
 
 function generateSummary(){
-  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\": $NTHREADS , \"events_per_thread\" : $NEVENTS_THREAD , \"CPU_score\": $resJSON , \"log\": \"${s_msg}\", \"app\":`cat $BMKDIR/version.json` }" > ${APP}_summary.json
+  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\": $NTHREADS , \"events_per_thread\" : $NEVENTS_THREAD , $resJSON , \"log\": \"${s_msg}\", \"app\":`cat $BMKDIR/version.json` }" > ${APP}_summary.json
   cat ${APP}_summary.json
 }
 
@@ -26,11 +26,11 @@ function parseResults(){
   #-----------------------
   # Parse results (python)
   #-----------------------
-  echo "[parseResults] python parser starting"
+  #echo "[parseResults] python parser starting"
   export BASE_WDIR=`pwd`
-  python ${parseResultsDir}/parseResults.py # same directory as parseResults.sh
+  #python ${parseResultsDir}/parseResults.py # same directory as parseResults.sh
   pystatus=$?
-  echo "[parseResults] python parser completed (status=$pystatus)"
+  #echo "[parseResults] python parser completed (status=$pystatus)"
   #-----------------------
   # Parse results (bash)
   #-----------------------
@@ -45,8 +45,9 @@ function parseResults(){
         median=a[(n + 1) / 2];
       } else {
         median=(a[(n / 2)] + a[(n / 2) + 1]) / 2.0;
-      }; printf "{\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum/count, median, amin, amax
-    }' || (echo "\"[ERROR] Something went wrong in parsing the CPU score\""; exit 1)`
+      }; 
+printf "\"wl-scores\": {\"sim\": %.4f} , \"wl-stats\": {\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum, sum/count, median, amin, amax
+    }' || (echo "\"wl-scores\":{}"; exit 1)`
   shstatus=$?
   [ "$shstatus" != "0" ] && s_msg="ERROR"
   #-----------------------
diff --git a/atlas/kv/atlas-kv/jobs/good_1/atlas-kv_summary.json b/atlas/kv/atlas-kv/jobs/good_1/atlas-kv_summary.json
index 11f9015a125a0f454ac6f73c29fbec6fa0aeede6..4f909d5f5a7bf25483dfce934c77bb2fcfe4ca12 100644
--- a/atlas/kv/atlas-kv/jobs/good_1/atlas-kv_summary.json
+++ b/atlas/kv/atlas-kv/jobs/good_1/atlas-kv_summary.json
@@ -1 +1 @@
-{"copies":1 , "threads_per_copy":1 , "events_per_thread" : 100 , "wl-scores": {"sim": 1.3514} , "CPU_score": {"score": 1.3514, "avg": 1.3514, "median": 1.3514, "min": 1.3514, "max": 1.3514} , "app": "KV_17.8.0.9_SingleMuon"}
+{"copies":1 , "threads_per_copy":1 , "events_per_thread" : 100 , "wl-scores": {"sim": 1.2723} , "wl-stats": {"score": 1.2723, "avg": 1.2723, "median": 1.2723, "min": 1.2723, "max": 1.2723} , "app":{"version":"ci1.1","description":"ATLAS KV: GEANT4 simulation of 100 single muon events, based on Athena version v17.8.0.9","cvmfs_checksum":"512aae44a881c0d4f9bc690488653241","bmkdata_checksum":"9a62d4782b086a9c74ab6edd38dc0ee3","bmk_checksum":"d441df8a450c4adeda688924bcd64e17"}}
diff --git a/atlas/kv/atlas-kv/parseResults.sh b/atlas/kv/atlas-kv/parseResults.sh
index 2bc5b4db4903bd9c4c4a08fe77cf7900e0c78a4e..3a501dcb3116c59922d47e78fa7d6a72434aaa3d 100644
--- a/atlas/kv/atlas-kv/parseResults.sh
+++ b/atlas/kv/atlas-kv/parseResults.sh
@@ -21,15 +21,15 @@ function parseResults(){
   echo "[parseResults] parsing results from" proc_*/out_*.log
   local STATUS=0
   # Parse 'Event Throughput: xxxx ev/s'
-  res=`grep -A1 "INFO Statistics for 'evt'" proc_*/AtlasG4_trf.log | grep "<cpu>" | sed -e "s@[^(]*([[:blank:]]*\([ 0-9\.]*\) +/-.*@\1@" | awk 'BEGIN{amin=1000000;amax=0;count=0;}
+  res=`grep -A2 "INFO Statistics for 'evt'" proc_*/AtlasG4_trf.log | grep "<real>" | sed -e "s@[^(]*([[:blank:]]*\([ 0-9\.]*\) +/-.*@\1@" | awk 'BEGIN{amin=1000000;amax=0;count=0;}
 { val=1./(int($1)/1000.); a[count]=val; count+=1; sum+=val; if(amax<val) amax=val; if(amin>val) amin=val}
 END{sep=sprintf("%*s", 120, "");gsub(/ /, "*", sep);
 n = asort(a); if (n % 2) {
        median=a[(n + 1) / 2];
     } else {
         median=(a[(n / 2)] + a[(n / 2) + 1]) / 2.0;};
-printf "\"wl-scores\": {\"sim\": %.4f} , \"CPU_score\": {\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum, sum/count, median, amin, amax
-}' || (STATUS=1; echo "\"[ERROR] Something went wrong in parsing the CPU score\"")`
+printf "\"wl-scores\": {\"sim\": %.4f} , \"wl-stats\": {\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum, sum/count, median, amin, amax
+}' || (STATUS=1; echo "\"wl-scores\": {}")`
   #-----------------------
   # Generate json summary
   #-----------------------
@@ -38,7 +38,6 @@ printf "\"wl-scores\": {\"sim\": %.4f} , \"CPU_score\": {\"score\": %.4f, \"avg\
   local OUTPUT=${APP}_summary.json
   echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\":1 , \"events_per_thread\" : $NEVENTS_THREAD , $res , \"app\":`cat $BMKDIR/version.json`}" > $OUTPUT
   cat $OUTPUT
-  ln -s $OUTPUT report.json
   #-----------------------
   # Return status
   #-----------------------
diff --git a/atlas/sim/atlas-sim/jobs/bad_1/atlas-sim_summary.json b/atlas/sim/atlas-sim/jobs/bad_1/atlas-sim_summary.json
index ed5d07a54b7ba647a852824091c69e5cf8aac385..c43ce90646f8186ceaca009bfd48ae00e717120c 100644
--- a/atlas/sim/atlas-sim/jobs/bad_1/atlas-sim_summary.json
+++ b/atlas/sim/atlas-sim/jobs/bad_1/atlas-sim_summary.json
@@ -1 +1 @@
-{"copies":2 , "threads_per_copy":2 , "events_per_thread" : 3 , "CPU_score": "[ERROR] Something went wrong in parsing the CPU score" , "log": "ok", "app":{"version":"v0.11","description":"ATLAS Sim (GEANT4) based on athena version 21.0.15","checksum":"7d9492ceadf490c1933f491ba610b610"} }
+{"copies":2 , "threads_per_copy":2 , "events_per_thread" : 3 , "wl-scores":{} , "log": "ERROR in parsing", "app":{"version":"v0.11","description":"ATLAS Sim (GEANT4) based on athena version 21.0.15","checksum":"7d9492ceadf490c1933f491ba610b610"} }
diff --git a/atlas/sim/atlas-sim/jobs/good_1/atlas-sim_summary.json b/atlas/sim/atlas-sim/jobs/good_1/atlas-sim_summary.json
index 4e1433636d061671d3e4d691dbec3fcda19195db..2d358f6d4861e2107f72b15368dea9234b3fa0bf 100644
--- a/atlas/sim/atlas-sim/jobs/good_1/atlas-sim_summary.json
+++ b/atlas/sim/atlas-sim/jobs/good_1/atlas-sim_summary.json
@@ -1 +1 @@
-{"copies":2 , "threads_per_copy":2 , "events_per_thread" : 3 , "CPU_score": {"score": 0.0114, "avg": 0.0029, "median": 0.0029, "min": 0.0025, "max": 0.0032, "count": 4} , "log": "ok", "app":{"version":"v0.18","description":"ATLAS Sim (GEANT4) based on athena version 21.0.15","cvmfs_checksum":"5a371565e9f5abf81686a551c91703ba","bmkdata_checksum":"b94489e16c0a77f2a0a9aaf333260a96","bmk_checksum":"97142ce8dcd5ebf2dfe5f1d578c4decb"} }
+{"copies":2 , "threads_per_copy":2 , "events_per_thread" : 3 , "wl-scores": {"sim": 0.0114} , "wl-stats": {"score": 0.0114, "avg": 0.0029, "median": 0.0029, "min": 0.0025, "max": 0.0032} , "log": "ok", "app":{"version":"v0.18","description":"ATLAS Sim (GEANT4) based on athena version 21.0.15","cvmfs_checksum":"5a371565e9f5abf81686a551c91703ba","bmkdata_checksum":"b94489e16c0a77f2a0a9aaf333260a96","bmk_checksum":"97142ce8dcd5ebf2dfe5f1d578c4decb"} }
diff --git a/atlas/sim/atlas-sim/parseResults.sh b/atlas/sim/atlas-sim/parseResults.sh
index 63756e69b34d899ee8cb280d61c9da8c2a6adde0..1cf651ee7f2f07d8dd264de037cc6c25b8e0738a 100644
--- a/atlas/sim/atlas-sim/parseResults.sh
+++ b/atlas/sim/atlas-sim/parseResults.sh
@@ -1,7 +1,7 @@
 parseResultsDir=$(cd $(dirname ${BASH_SOURCE}); pwd) # needed to locate parseResults.py
 
 function generateSummary(){
-  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\":$NTHREADS , \"events_per_thread\" : $NEVENTS_THREAD , \"CPU_score\": $resJSON , \"log\": \"${s_msg}\", \"app\":`cat $BMKDIR/version.json` }" > ${APP}_summary.json
+  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\":$NTHREADS , \"events_per_thread\" : $NEVENTS_THREAD , $resJSON , \"log\": \"${s_msg}\", \"app\":`cat $BMKDIR/version.json` }" > ${APP}_summary.json
   cat ${APP}_summary.json
 }
 
@@ -32,11 +32,11 @@ function parseResults(){
     #-----------------------
     # Parse results (python)
     #-----------------------
-    echo "[parseResults] python parser starting"
+    #echo "[parseResults] python parser starting"
     export BASE_WDIR=`pwd`
-    python ${parseResultsDir}/parseResults.py # same directory as parseResults.sh
+    #python ${parseResultsDir}/parseResults.py # same directory as parseResults.sh
     pystatus=$?
-    echo "[parseResults] python parser completed (status=$pystatus)"
+    #echo "[parseResults] python parser completed (status=$pystatus)"
     #-----------------------
     # Parse results (bash)
     #-----------------------
@@ -51,8 +51,9 @@ function parseResults(){
           median=a[(n + 1) / 2];
         } else {
           median=(a[(n / 2)] + a[(n / 2) + 1]) / 2.0;
-        }; printf "{\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f, \"count\": %d}", sum, sum/count, median, amin, amax , count
-      }' || (echo "\"[ERROR] Something went wrong in parsing the CPU score\""; exit 1)`
+        }; 
+printf "\"wl-scores\": {\"sim\": %.4f} , \"wl-stats\": {\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum, sum/count, median, amin, amax
+       }' || (echo "\"wl-scores\":{}"; exit 1)`
     shstatus=$?
     [ "$shstatus" != "0" ] && s_msg="ERROR in parsing"
     echo "[parseResults] bash parser completed (status=$shstatus)"
diff --git a/build-executor/image/Dockerfile b/build-executor/image/Dockerfile
index b0adc70d2c87b3c45228a4b44c71d28941c58d39..644c8ade209298723fe70d4d9df26dcf1e198b5b 100644
--- a/build-executor/image/Dockerfile
+++ b/build-executor/image/Dockerfile
@@ -24,7 +24,7 @@ RUN yum install -y docker-ce \
     ShellCheck \
     http://ecsft.cern.ch/dist/cvmfs/cvmfs-2.6.0/cvmfs-shrinkwrap-2.6.0-1.el7.x86_64.rpm \
     http://ecsft.cern.ch/dist/cvmfs/cvmfs-2.6.0/cvmfs-2.6.0-1.el7.x86_64.rpm \
-    python-pip \
+    python-pip numpy \
     && yum clean all
 
 RUN sed -e 's@inet_interfaces = localhost@#inet_interfaces = localhost@' -e 's@inet_protocols = all@inet_protocols = ipv4@' -i /etc/postfix/main.cf
diff --git a/cms/reco/cms-reco/jobs/bad_1/cms-reco_summary.json b/cms/reco/cms-reco/jobs/bad_1/cms-reco_summary.json
index 5dc5b0568ba2b8db01bdecddbb8b1e0f69c123cd..af366b3d205e20c35ef75ec08a9437278f1e3f91 100644
--- a/cms/reco/cms-reco/jobs/bad_1/cms-reco_summary.json
+++ b/cms/reco/cms-reco/jobs/bad_1/cms-reco_summary.json
@@ -1 +1 @@
-{"copies":1 , "threads_per_copy":4 , "events_per_thread" : 3 , "throughput_score": "[ERROR] Something went wrong in parsing the Event Throughput" , "CPU_score": "[ERROR] Something went wrong in parsing the CPU score" , "log": "ERROR", "app":  }
+{"copies":1 , "threads_per_copy":4 , "events_per_thread" : 3 , "throughput_score": "[ERROR] Something went wrong in parsing the Event Throughput" , "CPU_score": "[ERROR] Something went wrong in parsing the CPU score" , "log": "ERROR", "app": {"version":"v0.11","description":"CMS RECO of ttbar events, based on CMSSW_10_2_9","cvmfs_checksum":"7709cc1dd71cc16f1e82ed0bef0002a2","bmkdata_checksum":"85537134eef4c02127b3b638bd6f766d","bmk_checksum":"ff2071f17349425463b4e8e59e23f846"}  }
diff --git a/cms/reco/cms-reco/jobs/bad_1/version.json b/cms/reco/cms-reco/jobs/bad_1/version.json
new file mode 100644
index 0000000000000000000000000000000000000000..059018395e4a551ee1476ec760c876a53b587ddf
--- /dev/null
+++ b/cms/reco/cms-reco/jobs/bad_1/version.json
@@ -0,0 +1 @@
+{"version":"v0.11","description":"CMS RECO of ttbar events, based on CMSSW_10_2_9","cvmfs_checksum":"7709cc1dd71cc16f1e82ed0bef0002a2","bmkdata_checksum":"85537134eef4c02127b3b638bd6f766d","bmk_checksum":"ff2071f17349425463b4e8e59e23f846"}
diff --git a/common/json-differ.py b/common/json-differ.py
index 4905facc316faf3bb0e975864dd1e7770e0213f3..5c049f61d6a29a39dd73098f3d54721283c7c46d 100755
--- a/common/json-differ.py
+++ b/common/json-differ.py
@@ -4,10 +4,13 @@ import sys
 import json
 from dictdiffer import diff
 
-json_a = json.load(open(sys.argv[1]))
-json_b = json.load(open(sys.argv[2]))
+json_list = []
+for ajson in sys.argv[1:3]:
+    print("Reading file %s" % ajson)
+    json_list.append( json.load(open(ajson)) )
+        
 
-result = list(diff(json_a, json_b))
+result = list(diff(json_list[0], json_list[1]))
 
 for entry in result:
     if len(entry[2]) == 1:
diff --git a/common/parsertest.sh b/common/parsertest.sh
index 121cba2540e780c9a9a6f04fc2695bbc7f912c79..98d69a868cba000578c7e6a05be2148e95ae6205 100755
--- a/common/parsertest.sh
+++ b/common/parsertest.sh
@@ -105,7 +105,7 @@ for job in $jobs; do
   done
 
   # Clean up and dump test results
-  \rm -f *TEST*json
+  #\rm -f *TEST*json
   echo -e "\nParser test completed for '$job' (parse exit code=$status1; test exit code=$status2)"
 
 done
diff --git a/lhcb/gen-sim/lhcb-gen-sim/jobs/good_1/lhcb-gen-sim_summary_old.json b/lhcb/gen-sim/lhcb-gen-sim/jobs/good_1/lhcb-gen-sim_summary_old.json
index 746835f2a304c4882364d515934577b231e76fb3..7af0ce14e7e0ad7ce30b54e1b5500c1f5921c889 100644
--- a/lhcb/gen-sim/lhcb-gen-sim/jobs/good_1/lhcb-gen-sim_summary_old.json
+++ b/lhcb/gen-sim/lhcb-gen-sim/jobs/good_1/lhcb-gen-sim_summary_old.json
@@ -1 +1 @@
-{"copies":4 , "threads_per_copy":1 , "events_per_thread" : 5 , "throughput_score": {"score": 18.8494, "avg": 4.7124, "median": 4.7115, "min": 4.6994, "max": 4.7271} , "log": "ok", "app":{"version":"v0.12","description":"LHCb GEN-SIM benchmark","cvmfs_checksum":"dc9fea953411cf41c03f9086f355e5fc","bmkdata_checksum":"199a9d5cb218c303eafd74076bb7a3c0","bmk_checksum":"8b45d0b7de247fea287383312204f5d8"} }
+{"copies":4 , "threads_per_copy":1 , "events_per_thread" : 5 , "wl-scores": {"sim": 18.8494} , "wl-stats": {"score": 18.8494, "avg": 4.7124, "median": 4.7115, "min": 4.6994, "max": 4.7271} , "log": "ok", "app":{"version":"v0.12","description":"LHCb GEN-SIM benchmark","cvmfs_checksum":"dc9fea953411cf41c03f9086f355e5fc","bmkdata_checksum":"199a9d5cb218c303eafd74076bb7a3c0","bmk_checksum":"8b45d0b7de247fea287383312204f5d8"} }
diff --git a/lhcb/gen-sim/lhcb-gen-sim/parseResults.sh b/lhcb/gen-sim/lhcb-gen-sim/parseResults.sh
index b1033c88b93e4444e8bd8778178327ddd98e7bd8..12f328b4c30fd5ad0e84334060637b22ca2a1572 100644
--- a/lhcb/gen-sim/lhcb-gen-sim/parseResults.sh
+++ b/lhcb/gen-sim/lhcb-gen-sim/parseResults.sh
@@ -26,8 +26,9 @@ function parseResults(){
   local resJSON=`grep "EVENT LOOP" proc_*/out_*.log  | \
                    awk -F"|" 'BEGIN{amin=1000000;amax=0;count=0;}  \
                               { val=1000.*$5/$6; a[count]=val; count+=1; sum+=val; if(amax<val) amax=val; if(amin>val) amin=val} \
-                             END{n = asort(a); if (n % 2) {   median=a[(n + 1) / 2]; } else {median=(a[(n / 2)] + a[(n / 2) + 1])/ 2.0;}; printf "{\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum/count, median, amin, amax
-}' || (echo "\"[ERROR] Something went wrong in parsing the Event Throughput score\""; exit 1)`
+                             END{n = asort(a); if (n % 2) {   median=a[(n + 1) / 2]; } else {median=(a[(n / 2)] + a[(n / 2) + 1])/ 2.0;}; 
+printf "\"wl-scores\": {\"sim\": %.4f} , \"wl-stats\": {\"score\": %.4f, \"avg\": %.4f, \"median\": %.4f, \"min\": %.4f, \"max\": %.4f}", sum, sum, sum/count, median, amin, amax
+}' || (echo "\"wl-scores\":{}"; exit 1)`
   shstatus=$?
   [ "$shstatus" != "0" ] && s_msg="ERROR in bash parsing"
   echo $resJSON
@@ -40,14 +41,14 @@ function parseResults(){
   local app="\"UNKNOWN\""
   if [ -f $BMKDIR/version.json ]; then app=$(cat $BMKDIR/version.json); fi
   local OUTPUT=${APP}_summary_old.json
-  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\":1 , \"events_per_thread\" : $NEVENTS_THREAD , \"throughput_score\": $resJSON , \"log\": \"${s_msg}\", \"app\":${app} }" > $OUTPUT
+  echo -e "{\"copies\":$NCOPIES , \"threads_per_copy\":1 , \"events_per_thread\" : $NEVENTS_THREAD , $resJSON , \"log\": \"${s_msg}\", \"app\":${app} }" > $OUTPUT
   cat $OUTPUT
   #-----------------------
   # Parse results (python)
   #-----------------------
   echo -e "\n[parseResults] python parser starting using $(python3 -V &> /dev/stdout)"
   local resJSON2 # declare 'local' separately to avoid masking $? (https://stackoverflow.com/a/4421282)
-  resJSON2=$(PYTHONPATH=${parseResultsDir} python3 -c "from parseResults import *; parseBmkDir('.')") # same directory as parseResults.sh
+  resJSON2=$(PYTHONPATH=${parseResultsDir} python -c "from parseResults import *; parseBmkDir('.')") # same directory as parseResults.sh
   pystatus=$?
   [ "$pystatus" != "0" ] && s_msg="ERROR in python parsing"
   echo $resJSON2