diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ea63771b8884cfe23e6ba093956f911a299a7ffe..c7e9382679309b073100fd751406b7988b462637 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -107,14 +107,14 @@ common:setup:
       - runner_system_failure
 
 include:
-  - local: 'benchmarks/diffractive_vm/config.yml'
-  - local: 'benchmarks/demp/config.yml'
-  - local: 'benchmarks/dis/config.yml'
-    #- local: 'benchmarks/dvmp/config.yml'
-  - local: 'benchmarks/dvcs/config.yml'
-  - local: 'benchmarks/tcs/config.yml'
-  - local: 'benchmarks/u_omega/config.yml'
   - local: 'benchmarks/backgrounds/config.yml'
+  - local: 'benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/config.yml'
+  - local: 'benchmarks/Exclusive-Diffraction-Tagging/demp/config.yml'
+    #- local: 'benchmarks/Exclusive-Diffraction-Tagging/dvmp/config.yml'
+  - local: 'benchmarks/Exclusive-Diffraction-Tagging/dvcs/config.yml'
+  - local: 'benchmarks/Exclusive-Diffraction-Tagging/tcs/config.yml'
+  - local: 'benchmarks/Exclusive-Diffraction-Tagging/u_omega/config.yml'
+  - local: 'benchmarks/Inclusive/dis/config.yml'
 
 summary:
   stage: finish
diff --git a/README.md b/README.md
index 9403cadee03765a12418341d8a479027c49232e1..d7489208280161ab4beba45d2e17653c96499b11 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Physics Benchmarks for the EIC
 
 ## Adding new benchmarks
 
-See the [`benchmarks/diffractive_vm`](https://github.com/eic/physics_benchmarks/tree/master/benchmarks/diffractive_vm)
+See the [`benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm`](https://github.com/eic/physics_benchmarks/tree/master/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm)
 directory for a basic example. Note currently the reconstruction is far from perfect.
 
 ### Pass/Fail tests
diff --git a/Snakefile b/Snakefile
index 4a4b743bdd6b5538bfc2958d56c8a8b823f167e3..eb1382a22a64c54c3f6b6e86225f8669cfe6a84f 100644
--- a/Snakefile
+++ b/Snakefile
@@ -41,6 +41,7 @@ ddsim \
   --enableGun
 """
 
-include: "benchmarks/diffractive_vm/Snakefile"
-include: "benchmarks/dis/Snakefile"
-include: "benchmarks/demp/Snakefile"
+include: "benchmarks/Exclusive-Diffraction-Tagging/demp/Snakefile"
+include: "benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/Snakefile"
+include: "benchmarks/Jets-HF/jets/Snakefile"
+include: "benchmarks/Inclusive/dis/Snakefile"
diff --git a/benchmarks/dis/.gitignore b/benchmarks/BSM-Precision-EW/.gitkeep
similarity index 100%
rename from benchmarks/dis/.gitignore
rename to benchmarks/BSM-Precision-EW/.gitkeep
diff --git a/benchmarks/demp/Snakefile b/benchmarks/Exclusive-Diffraction-Tagging/demp/Snakefile
similarity index 87%
rename from benchmarks/demp/Snakefile
rename to benchmarks/Exclusive-Diffraction-Tagging/demp/Snakefile
index a397c3200bb591aa36b1135cfb86023f5ec07aba..780e00ee9edd72f80f6485622433713c28527704 100644
--- a/benchmarks/demp/Snakefile
+++ b/benchmarks/Exclusive-Diffraction-Tagging/demp/Snakefile
@@ -3,8 +3,8 @@ import os
 #Compile the analysis and plotting scripts
 rule demp_compile:
     input:
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/demp/analysis/demp_analysis_cxx.so",
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/demp/analysis/demp_plots_cxx.so",
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_analysis_cxx.so",
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_plots_cxx.so",
 
 #Process the simulated files based on the user-defined campaign
 rule demp_campaign_reco_get:
@@ -60,8 +60,8 @@ DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} eicrecon {input} -Ppodio:output_file
 #Process the files (either from the campaign or eicrecon) through the analysis script
 rule demp_analysis:
     input:
-        script="benchmarks/demp/analysis/demp_analysis.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/demp/analysis/demp_analysis_cxx.so",
+        script="benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_analysis.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_analysis_cxx.so",
         data="reco/{DETECTOR_CONFIG}/{PREFIX}demp_{EBEAM}on{PBEAM}_{INDEX}.edm4eic.root",
     output:
         config="results/{DETECTOR_CONFIG}/demp/{PREFIX}demp_{EBEAM}on{PBEAM}_{INDEX}/config.json",
@@ -115,8 +115,8 @@ hadd {output.hists} {input}
 #Process the merged file through the plotting script
 rule demp_plots:
     input:
-        script="benchmarks/demp/analysis/demp_plots.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/demp/analysis/demp_plots_cxx.so",
+        script="benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_plots.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_plots_cxx.so",
         config="results/{DETECTOR_CONFIG}/demp/{PREFIX}demp_{EBEAM}on{PBEAM}_combined_{NUM_FILES}/config.json",
     output:
         "results/{DETECTOR_CONFIG}/demp/{PREFIX}demp_{EBEAM}on{PBEAM}_combined_{NUM_FILES}/plots.pdf"
diff --git a/benchmarks/demp/analysis/demp_analysis.cxx b/benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_analysis.cxx
similarity index 100%
rename from benchmarks/demp/analysis/demp_analysis.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_analysis.cxx
diff --git a/benchmarks/demp/analysis/demp_plots.cxx b/benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_plots.cxx
similarity index 100%
rename from benchmarks/demp/analysis/demp_plots.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/demp/analysis/demp_plots.cxx
diff --git a/benchmarks/demp/benchmark.json b/benchmarks/Exclusive-Diffraction-Tagging/demp/benchmark.json
similarity index 100%
rename from benchmarks/demp/benchmark.json
rename to benchmarks/Exclusive-Diffraction-Tagging/demp/benchmark.json
diff --git a/benchmarks/demp/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/demp/config.yml
similarity index 86%
rename from benchmarks/demp/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/demp/config.yml
index b07fc789df9f59596bc9508c422cb8940eeeb4e4..521aa2c801e5a0cac597aac47775a0c105f24a6b 100644
--- a/benchmarks/demp/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/demp/config.yml
@@ -19,4 +19,4 @@ demp:results:
   stage: collect
   needs: ["demp:simulate"]
   script:
-    - collect_tests.py demp
+    - collect_tests.py Exclusive-Diffraction-Tagging/demp
diff --git a/benchmarks/diffractive_vm/Snakefile b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/Snakefile
similarity index 87%
rename from benchmarks/diffractive_vm/Snakefile
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/Snakefile
index b7e3c2274d7d44828e58930ef4c0a4defd1b6941..e95266c4a1bbc14e3ca91bbc66a3e549271e8f4b 100644
--- a/benchmarks/diffractive_vm/Snakefile
+++ b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/Snakefile
@@ -3,8 +3,8 @@ import os
 
 rule diffractive_vm_compile:
     input:
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so",
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/plot_cxx.so",
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/diffractive_vm_cxx.so",
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/plot_cxx.so",
 
 
 rule diffractive_vm_campaign_reco_get:
@@ -53,8 +53,8 @@ DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} eicrecon {input} -Ppodio:output_file
 
 rule diffractive_vm_analysis:
     input:
-        script="benchmarks/diffractive_vm/analysis/diffractive_vm.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/diffractive_vm_cxx.so",
+        script="benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/diffractive_vm.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/diffractive_vm_cxx.so",
         data="reco/{DETECTOR_CONFIG}/{SIM}sartre_{PARTICLE}{SUFFIX}.edm4eic.root",
     params:
         EBEAM=18,
@@ -121,8 +121,8 @@ ruleorder: diffractive_vm_combine_sartre > diffractive_vm_analysis
 
 rule diffractive_vm_plots:
     input:
-        script="benchmarks/diffractive_vm/analysis/plot.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/diffractive_vm/analysis/plot_cxx.so",
+        script="benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/plot.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/plot_cxx.so",
         config="{RESULT_PREFIX}/config.json",
     output:
         "{RESULT_PREFIX}/plots_benchmark-phi-dsigmadt.pdf",
diff --git a/benchmarks/diffractive_vm/analysis/diffractive_vm.cxx b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/diffractive_vm.cxx
similarity index 100%
rename from benchmarks/diffractive_vm/analysis/diffractive_vm.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/diffractive_vm.cxx
diff --git a/benchmarks/diffractive_vm/analysis/plot.cxx b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/plot.cxx
similarity index 100%
rename from benchmarks/diffractive_vm/analysis/plot.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/analysis/plot.cxx
diff --git a/benchmarks/diffractive_vm/benchmark.json b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/benchmark.json
similarity index 100%
rename from benchmarks/diffractive_vm/benchmark.json
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/benchmark.json
diff --git a/benchmarks/diffractive_vm/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/config.yml
similarity index 87%
rename from benchmarks/diffractive_vm/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/config.yml
index a614dc89513d56d7d8335835ab7083f9560efd01..1486ece0a3d9d02d4292e7b819aa243e7bc417c7 100644
--- a/benchmarks/diffractive_vm/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/config.yml
@@ -23,4 +23,4 @@ diffractive_vm:results:
   stage: collect
   needs: ["diffractive_vm:simulate"]
   script:
-    - collect_tests.py diffractive_vm
+    - collect_tests.py Exclusive-Diffraction-Tagging/diffractive_vm
diff --git a/benchmarks/diffractive_vm/diffractive_vm.sh b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/diffractive_vm.sh
similarity index 100%
rename from benchmarks/diffractive_vm/diffractive_vm.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/diffractive_vm.sh
diff --git a/benchmarks/diffractive_vm/env.sh b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/env.sh
similarity index 100%
rename from benchmarks/diffractive_vm/env.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/env.sh
diff --git a/benchmarks/diffractive_vm/get.sh b/benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/get.sh
similarity index 100%
rename from benchmarks/diffractive_vm/get.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/diffractive_vm/get.sh
diff --git a/benchmarks/dvcs/analysis/dvcs_ps_gen.cxx b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/analysis/dvcs_ps_gen.cxx
similarity index 100%
rename from benchmarks/dvcs/analysis/dvcs_ps_gen.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/dvcs/analysis/dvcs_ps_gen.cxx
diff --git a/benchmarks/dvcs/analysis/dvcs_tests.cxx b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/analysis/dvcs_tests.cxx
similarity index 100%
rename from benchmarks/dvcs/analysis/dvcs_tests.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/dvcs/analysis/dvcs_tests.cxx
diff --git a/benchmarks/dvcs/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/config.yml
similarity index 50%
rename from benchmarks/dvcs/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/dvcs/config.yml
index 8040db28b8effafe4b283727365f87ed3c6e90f6..de2404e5b7b292d2b133538e6978f142e8d87b43 100644
--- a/benchmarks/dvcs/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/config.yml
@@ -2,7 +2,7 @@ dvcs:compile:
   stage: compile
   extends: .compile_benchmark
   script:
-    - compile_analyses.py dvcs
+    - compile_analyses.py Exclusive-Diffraction-Tagging/dvcs
 
 dvcs:simulate:
   stage: simulate
@@ -11,8 +11,8 @@ dvcs:simulate:
     - phy
   needs: ["dvcs:compile"]
   script:
-    #- bash benchmarks/dvcs/dvcs.sh --all
-    - bash benchmarks/dvcs/dvcs.sh --data-init --sim --rec
+    #- bash benchmarks/Exclusive-Diffraction-Tagging/dvcs/dvcs.sh --all
+    - bash benchmarks/Exclusive-Diffraction-Tagging/dvcs/dvcs.sh --data-init --sim --rec
 
 dvcs:results:
   stage: collect
@@ -20,4 +20,4 @@ dvcs:results:
   script:
     - ls -lrth
       #pip install junitparser
-      #- python dvcs/scripts/merge_results.py
+      #- python dvcs/Exclusive-Diffraction-Tagging/scripts/merge_results.py
diff --git a/benchmarks/dvcs/dvcs.sh b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/dvcs.sh
similarity index 97%
rename from benchmarks/dvcs/dvcs.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/dvcs/dvcs.sh
index a21b114dd88e18241e29d9942394024d6b70026c..0bd5a4199c96dc247f1c911ba72b38a2d612e705 100644
--- a/benchmarks/dvcs/dvcs.sh
+++ b/benchmarks/Exclusive-Diffraction-Tagging/dvcs/dvcs.sh
@@ -150,7 +150,7 @@ if [[ -n "${DO_ANALYSIS}" || -n "${DO_ALL}" ]] ; then
   mkdir -p results/dvcs
 
   # here you can add as many scripts as you want.
-  root -b -q "benchmarks/dvcs/analysis/dvcs_tests.cxx+(\"${JUGGLER_REC_FILE}\")"
+  root -b -q "benchmarks/Exclusive-Diffraction-Tagging/dvcs/analysis/dvcs_tests.cxx+(\"${JUGGLER_REC_FILE}\")"
   if [[ "$?" -ne "0" ]] ; then
     echo "ERROR running root script"
     exit 1
diff --git a/benchmarks/dvmp/analysis/dvmp.h b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/dvmp.h
similarity index 100%
rename from benchmarks/dvmp/analysis/dvmp.h
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/dvmp.h
diff --git a/benchmarks/dvmp/analysis/vm_invar.cxx b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_invar.cxx
similarity index 100%
rename from benchmarks/dvmp/analysis/vm_invar.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_invar.cxx
diff --git a/benchmarks/dvmp/analysis/vm_mass.cxx b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_mass.cxx
similarity index 100%
rename from benchmarks/dvmp/analysis/vm_mass.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_mass.cxx
diff --git a/benchmarks/dvmp/benchmark.json b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/benchmark.json
similarity index 100%
rename from benchmarks/dvmp/benchmark.json
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/benchmark.json
diff --git a/benchmarks/dvmp/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/config.yml
similarity index 78%
rename from benchmarks/dvmp/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/config.yml
index 767e8a2ce88ef7950ba3cf01f4102ebc133e712e..474e84a74ce9cef5cee421dab830e7a4e2bbe3d8 100644
--- a/benchmarks/dvmp/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/config.yml
@@ -2,7 +2,7 @@ dvmp:compile:
   stage: compile
   extends: .compile_benchmark
   script:
-    - compile_analyses.py dvmp
+    - compile_analyses.py Exclusive-Diffraction-Tagging/dvmp
 
 dvmp:generate:
   needs: ["dvmp:compile"]
@@ -11,7 +11,7 @@ dvmp:generate:
   stage: generate
   timeout: 1 hours
   script:
-    - run_many.py ./benchmarks/dvmp/gen.sh 
+    - run_many.py ./benchmarks/Exclusive-Diffraction-Tagging/dvmp/gen.sh
           -c jpsi_barrel 
           -e 10x100 
           --decay muon --decay electron
@@ -24,7 +24,7 @@ dvmp:simulate:
   timeout: 2 hour
   script:
     - ls -lrth
-    - run_many.py ./benchmarks/dvmp/dvmp.sh 
+    - run_many.py ./benchmarks/Exclusive-Diffraction-Tagging/dvmp/dvmp.sh
           -c jpsi_barrel 
           -e 10x100 
           --decay muon --decay electron
diff --git a/benchmarks/dvmp/dvmp.sh b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/dvmp.sh
similarity index 95%
rename from benchmarks/dvmp/dvmp.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/dvmp.sh
index 8fba7f3d3a3154ea779a242061e8c2730ea1764d..dfa03b025bff95376d7f003e03d62d19c6c97bf5 100755
--- a/benchmarks/dvmp/dvmp.sh
+++ b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/dvmp.sh
@@ -40,7 +40,7 @@ source parse_cmd.sh $@
 ## - RESULTS_PATH:  Path for benchmark output figures and files
 ##
 ## You can read dvmp/env.sh for more in-depth explanations of the variables.
-source benchmarks/dvmp/env.sh
+source benchmarks/Exclusive-Diffraction-Tagging/dvmp/env.sh
 
 ## Get a unique file names based on the configuration options
 GEN_FILE=${INPUT_PATH}/gen-${CONFIG}_${DECAY}_${JUGGLER_N_EVENTS}.hepmc
@@ -119,12 +119,12 @@ EOF
 #cat ${CONFIG}
 
 ## run the analysis script with this configuration
-root -b -q "benchmarks/dvmp/analysis/vm_mass.cxx+(\"${CONFIG}\")"
+root -b -q "benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_mass.cxx+(\"${CONFIG}\")"
 if [ "$?" -ne "0" ] ; then
   echo "ERROR running vm_mass script"
   exit 1
 fi
-root -b -q "benchmarks/dvmp/analysis/vm_invar.cxx+(\"${CONFIG}\")"
+root -b -q "benchmarks/Exclusive-Diffraction-Tagging/dvmp/analysis/vm_invar.cxx+(\"${CONFIG}\")"
 if [ "$?" -ne "0" ] ; then
   echo "ERROR running vm_invar script"
   exit 1
diff --git a/benchmarks/dvmp/env.sh b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/env.sh
similarity index 100%
rename from benchmarks/dvmp/env.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/env.sh
diff --git a/benchmarks/dvmp/gen.sh b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/gen.sh
similarity index 98%
rename from benchmarks/dvmp/gen.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/gen.sh
index 2281784537229dd824166d6358652cde9fd249b7..53d6b117bf81a266659d7732d8fe50f9d03cb77d 100755
--- a/benchmarks/dvmp/gen.sh
+++ b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/gen.sh
@@ -44,7 +44,7 @@ source parse_cmd.sh $@
 ## - TMP_PATH:      Path for temporary data (not exported as artifacts)
 ##
 ## You can read dvmp/env.sh for more in-depth explanations of the variables.
-source benchmarks/dvmp/env.sh
+source benchmarks/Exclusive-Diffraction-Tagging/dvmp/env.sh
 
 ## Get a unique file name prefix based on the configuration options
 GEN_TAG=gen-${CONFIG}_${DECAY}_${JUGGLER_N_EVENTS} ## Generic file prefix
diff --git a/benchmarks/dvmp/generator/jpsi_barrel.json.in b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/generator/jpsi_barrel.json.in
similarity index 100%
rename from benchmarks/dvmp/generator/jpsi_barrel.json.in
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/generator/jpsi_barrel.json.in
diff --git a/benchmarks/dvmp/generator/jpsi_central.json.in b/benchmarks/Exclusive-Diffraction-Tagging/dvmp/generator/jpsi_central.json.in
similarity index 100%
rename from benchmarks/dvmp/generator/jpsi_central.json.in
rename to benchmarks/Exclusive-Diffraction-Tagging/dvmp/generator/jpsi_central.json.in
diff --git a/benchmarks/tcs/analysis/tcs_tests.cxx b/benchmarks/Exclusive-Diffraction-Tagging/tcs/analysis/tcs_tests.cxx
similarity index 100%
rename from benchmarks/tcs/analysis/tcs_tests.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/tcs/analysis/tcs_tests.cxx
diff --git a/benchmarks/tcs/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/tcs/config.yml
similarity index 59%
rename from benchmarks/tcs/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/tcs/config.yml
index 055a7bf94a2a7649c29f20d25c566c0c9954da63..742a7b55cab8072b7b3bd8b42a39624fee908cb7 100644
--- a/benchmarks/tcs/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/tcs/config.yml
@@ -2,7 +2,7 @@ tcs:compile:
   stage: compile
   extends: .compile_benchmark
   script:
-    - compile_analyses.py tcs
+    - compile_analyses.py Exclusive-Diffraction-Tagging/tcs
 
 tcs:simulate:
   stage: simulate
@@ -22,8 +22,8 @@ tcs:simulate:
         PBEAM: 275
         TAG: s800
   script:
-    #- bash benchmarks/tcs/tcs.sh --all --ebeam ${EBEAM} --pbeam ${PBEAM} --tag ${TAG}
-    - bash benchmarks/tcs/tcs.sh --data-init --sim --rec --ebeam ${EBEAM} --pbeam ${PBEAM} --tag ${TAG}
+    #- bash benchmarks/Exclusive-Diffraction-Tagging/tcs/tcs.sh --all --ebeam ${EBEAM} --pbeam ${PBEAM} --tag ${TAG}
+    - bash benchmarks/Exclusive-Diffraction-Tagging/tcs/tcs.sh --data-init --sim --rec --ebeam ${EBEAM} --pbeam ${PBEAM} --tag ${TAG}
 
 tcs:results:
   stage: collect
diff --git a/benchmarks/tcs/tcs.sh b/benchmarks/Exclusive-Diffraction-Tagging/tcs/tcs.sh
similarity index 97%
rename from benchmarks/tcs/tcs.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/tcs/tcs.sh
index 0c69e2005f73720bfc6b035497ab6e2161e80646..a46afa990960fe0986e438f88c483d04398ab475 100644
--- a/benchmarks/tcs/tcs.sh
+++ b/benchmarks/Exclusive-Diffraction-Tagging/tcs/tcs.sh
@@ -170,7 +170,7 @@ if [[ -n "${DO_ANALYSIS}" || -n "${DO_ALL}" ]] ; then
   mkdir -p results/tcs
 
   # here you can add as many scripts as you want.
-  root -b -q "benchmarks/tcs/analysis/tcs_tests.cxx+(\"${JUGGLER_REC_FILE}\")"
+  root -b -q "benchmarks/Exclusive-Diffraction-Tagging/tcs/analysis/tcs_tests.cxx+(\"${JUGGLER_REC_FILE}\")"
   if [[ "$?" -ne "0" ]] ; then
     echo "ERROR running root script"
     exit 1
diff --git a/benchmarks/u_omega/analysis/demo.cxx b/benchmarks/Exclusive-Diffraction-Tagging/u_omega/analysis/demo.cxx
similarity index 100%
rename from benchmarks/u_omega/analysis/demo.cxx
rename to benchmarks/Exclusive-Diffraction-Tagging/u_omega/analysis/demo.cxx
diff --git a/benchmarks/u_omega/config.yml b/benchmarks/Exclusive-Diffraction-Tagging/u_omega/config.yml
similarity index 54%
rename from benchmarks/u_omega/config.yml
rename to benchmarks/Exclusive-Diffraction-Tagging/u_omega/config.yml
index 4bac8133286f16ff45f43e150de85e5f4d8d1278..3958cede6ef68129203f5b82c55fba334266b62d 100644
--- a/benchmarks/u_omega/config.yml
+++ b/benchmarks/Exclusive-Diffraction-Tagging/u_omega/config.yml
@@ -2,7 +2,7 @@ u_omega:compile:
   stage: compile
   extends: .compile_benchmark
   script:
-    - compile_analyses.py u_omega
+    - compile_analyses.py Exclusive-Diffraction-Tagging/u_omega
 
 u_omega:simulate:
   stage: simulate
@@ -11,8 +11,8 @@ u_omega:simulate:
     - phy
   needs: ["u_omega:compile"]
   script:
-    #- bash benchmarks/u_omega/u_omega.sh --all
-    - bash benchmarks/u_omega/u_omega.sh --data-init --sim --rec
+    #- bash benchmarks/Exclusive-Diffraction-Tagging/u_omega/u_omega.sh --all
+    - bash benchmarks/Exclusive-Diffraction-Tagging/u_omega/u_omega.sh --data-init --sim --rec
 
 u_omega:results:
   stage: collect
diff --git a/benchmarks/u_omega/u_omega.sh b/benchmarks/Exclusive-Diffraction-Tagging/u_omega/u_omega.sh
similarity index 100%
rename from benchmarks/u_omega/u_omega.sh
rename to benchmarks/Exclusive-Diffraction-Tagging/u_omega/u_omega.sh
diff --git a/benchmarks/Inclusive/dis/.gitignore b/benchmarks/Inclusive/dis/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/benchmarks/dis/Snakefile b/benchmarks/Inclusive/dis/Snakefile
similarity index 52%
rename from benchmarks/dis/Snakefile
rename to benchmarks/Inclusive/dis/Snakefile
index 60039699c9c7df3bc2ef27c881b59d25cdd137f7..d53052ff8d966be62601fe9711c6a61c6bdfa5e8 100644
--- a/benchmarks/dis/Snakefile
+++ b/benchmarks/Inclusive/dis/Snakefile
@@ -3,15 +3,14 @@ import shutil
 
 rule dis_compile:
     input:
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/dis/analysis/dis_electrons_cxx.so",
-        ROOT_BUILD_DIR_PREFIX + "benchmarks/dis/analysis/jets_cxx.so",
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Inclusive/dis/analysis/dis_electrons_cxx.so",
 
 
 rule dis_sim:
     input:
         warmup="warmup/{DETECTOR_CONFIG}.edm4hep.root",
     output:
-        "sim/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4hep.root",
+        "sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4hep.root",
     params:
         N_EVENTS=100,
     shell:
@@ -30,9 +29,9 @@ ddsim \
 
 rule dis_reco_eicrecon:
     input:
-        "sim/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4hep.root",
+        "sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4hep.root",
     output:
-        "reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        "sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
     shell:
         """
 DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} eicrecon {input} -Ppodio:output_file={output}
@@ -41,16 +40,16 @@ DETECTOR_CONFIG={wildcards.DETECTOR_CONFIG} eicrecon {input} -Ppodio:output_file
 
 rule dis_generate_config:
     input:
-        data="reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
     output:
-        config="results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/config.json",
+        config="results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}_config.json",
     shell: """
 cat > {output.config} <<EOF
 {{
   "rec_file": "{input.data}",
   "detector": "{wildcards.DETECTOR_CONFIG}",
-  "output_prefix": "$(dirname "{output.config}")/dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}",
-  "results_path": "$(dirname "{output.config}")",
+  "output_prefix": "results/{wildcards.DETECTOR_CONFIG}/dis/{wildcards.EBEAM}on{wildcards.PBEAM}/minQ2={wildcards.MINQ2}/dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}",
+  "results_path": "results/{wildcards.DETECTOR_CONFIG}/dis/{wildcards.EBEAM}on{wildcards.PBEAM}/minQ2={wildcards.MINQ2}",
   "ebeam": {wildcards.EBEAM},
   "pbeam": {wildcards.PBEAM},
   "minq2": {wildcards.MINQ2},
@@ -63,10 +62,10 @@ EOF
 
 rule dis_analysis_electrons:
     input:
-        script="benchmarks/dis/analysis/dis_electrons.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/dis/analysis/dis_electrons_cxx.so",
-        data="reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
-        config="results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/config.json",
+        script="benchmarks/Inclusive/dis/analysis/dis_electrons.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Inclusive/dis/analysis/dis_electrons_cxx.so",
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        config="results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}_config.json",
     output:
         expand("results/{{DETECTOR_CONFIG}}/dis/{{EBEAM}}on{{PBEAM}}/minQ2={{MINQ2}}/{FILENAME}", FILENAME=[
           "dis_{EBEAM}x{PBEAM}_minQ2={MINQ2}_logQ2_panels.png",
@@ -84,41 +83,35 @@ root -l -b -q '{input.script}+("{input.config}")'
 """
 
 
-rule dis_analysis_jets:
-    input:
-        script="benchmarks/dis/analysis/jets.cxx",
-        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/dis/analysis/jets_cxx.so",
-        data="reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
-        config="results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/config.json",
-    output:
-        results_path=directory("results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/jets"),
-    shell: """
-mkdir {output.results_path}
-root -l -b -q '{input.script}+("{input.config}")'
-"""
-
-
 rule dis_analysis_kinematics_correlations:
     input:
-        data="reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
     output:
         results_path=directory("results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/kinematics_correlations"),
     params:
         N_EVENTS=100
+    wildcard_constraints:
+        EBEAM="\d+",
+        PBEAM="\d+",
+        MINQ2="\d+",
     shell: """
 mkdir {output.results_path}
-python benchmarks/dis/analysis/kinematics_correlations.py --rec_file "{input.data}" --config dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}_{wildcards.DETECTOR_CONFIG} --results_path {output.results_path} --nevents {params.N_EVENTS}
+python benchmarks/Inclusive/dis/analysis/kinematics_correlations.py --rec_file "{input.data}" --config dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}_{wildcards.DETECTOR_CONFIG} --results_path {output.results_path} --nevents {params.N_EVENTS}
 """
 
 
 rule dis_analysis_truth_reconstruction:
     input:
-        data="reco/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
     output:
         results_path=directory("results/{DETECTOR_CONFIG}/dis/{EBEAM}on{PBEAM}/minQ2={MINQ2}/truth_reconstruction"),
     params:
         N_EVENTS=100
+    wildcard_constraints:
+        EBEAM="\d+",
+        PBEAM="\d+",
+        MINQ2="\d+",
     shell: """
 mkdir {output.results_path}
-python benchmarks/dis/analysis/truth_reconstruction.py --rec_file "{input.data}" --config dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}_{wildcards.DETECTOR_CONFIG} --results_path $(dirname {output.results_path}) --nevents {params.N_EVENTS}
+python benchmarks/Inclusive/dis/analysis/truth_reconstruction.py --rec_file "{input.data}" --config dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}_{wildcards.DETECTOR_CONFIG} --results_path $(dirname {output.results_path}) --nevents {params.N_EVENTS}
 """
diff --git a/benchmarks/dis/analysis/dis_electrons.cxx b/benchmarks/Inclusive/dis/analysis/dis_electrons.cxx
similarity index 100%
rename from benchmarks/dis/analysis/dis_electrons.cxx
rename to benchmarks/Inclusive/dis/analysis/dis_electrons.cxx
diff --git a/benchmarks/dis/analysis/kinematics_correlations.py b/benchmarks/Inclusive/dis/analysis/kinematics_correlations.py
similarity index 100%
rename from benchmarks/dis/analysis/kinematics_correlations.py
rename to benchmarks/Inclusive/dis/analysis/kinematics_correlations.py
diff --git a/benchmarks/dis/analysis/truth_reconstruction.py b/benchmarks/Inclusive/dis/analysis/truth_reconstruction.py
similarity index 100%
rename from benchmarks/dis/analysis/truth_reconstruction.py
rename to benchmarks/Inclusive/dis/analysis/truth_reconstruction.py
diff --git a/benchmarks/dis/benchmark.json b/benchmarks/Inclusive/dis/benchmark.json
similarity index 100%
rename from benchmarks/dis/benchmark.json
rename to benchmarks/Inclusive/dis/benchmark.json
diff --git a/benchmarks/dis/config.yml b/benchmarks/Inclusive/dis/config.yml
similarity index 89%
rename from benchmarks/dis/config.yml
rename to benchmarks/Inclusive/dis/config.yml
index 34f8157e25ed0a96127d2d6b2c581981ced77bf7..562fb7b601cc3a6355679a450fc0bd6ce9d2b6ed 100644
--- a/benchmarks/dis/config.yml
+++ b/benchmarks/Inclusive/dis/config.yml
@@ -24,7 +24,6 @@ dis:simulate:
     - |
       snakemake --cache --cores 1 \
         results/epic_craterlake/dis/${EBEAM}on${PBEAM}/minQ2=${MINQ2}/dis_${EBEAM}x${PBEAM}_minQ2=${MINQ2}dis_electrons.json \
-        results/epic_craterlake/dis/${EBEAM}on${PBEAM}/minQ2=${MINQ2}/jets/ \
         results/epic_craterlake/dis/${EBEAM}on${PBEAM}/minQ2=${MINQ2}/kinematics_correlations/ \
         results/epic_craterlake/dis/${EBEAM}on${PBEAM}/minQ2=${MINQ2}/truth_reconstruction/
   retry:
@@ -36,4 +35,4 @@ dis:results:
   stage: collect
   needs: ["dis:simulate"]
   script:
-    - collect_tests.py dis
+    - collect_tests.py Inclusive/dis
diff --git a/benchmarks/Jets-HF/jets/Snakefile b/benchmarks/Jets-HF/jets/Snakefile
new file mode 100644
index 0000000000000000000000000000000000000000..a6c950d3bb53541bfe855ef742e9b62f66704d2a
--- /dev/null
+++ b/benchmarks/Jets-HF/jets/Snakefile
@@ -0,0 +1,43 @@
+rule jets_compile:
+    input:
+        ROOT_BUILD_DIR_PREFIX + "benchmarks/Inclusive/dis/analysis/jets_cxx.so",
+
+
+rule jets_generate_config:
+    input:
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+    output:
+        config="results/{DETECTOR_CONFIG}/jets/{EBEAM}on{PBEAM}/minQ2={MINQ2}_config.json",
+    shell: """
+cat > {output.config} <<EOF
+{{
+  "rec_file": "{input.data}",
+  "detector": "{wildcards.DETECTOR_CONFIG}",
+  "output_prefix": "$(dirname "{output.config}")/dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}",
+  "results_path": "$(dirname "{output.config}")",
+  "ebeam": {wildcards.EBEAM},
+  "pbeam": {wildcards.PBEAM},
+  "minq2": {wildcards.MINQ2},
+  "plot_tag": "dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}",
+  "test_tag": "dis_{wildcards.EBEAM}x{wildcards.PBEAM}_minQ2={wildcards.MINQ2}"
+}}
+EOF
+"""
+
+
+rule jets_analysis_jets:
+    input:
+        script="benchmarks/Jets-HF/jets/analysis/jets.cxx",
+        script_compiled=ROOT_BUILD_DIR_PREFIX + "benchmarks/Jets-HF/jets/analysis/jets_cxx.so",
+        data="sim_output/{DETECTOR_CONFIG}/pythia8NCDIS_{EBEAM}x{PBEAM}_minQ2={MINQ2}_beamEffects_xAngle=-0.025_hiDiv_1.edm4eic.root",
+        config="results/{DETECTOR_CONFIG}/jets/{EBEAM}on{PBEAM}/minQ2={MINQ2}_config.json",
+    output:
+        results_path=directory("results/{DETECTOR_CONFIG}/jets/{EBEAM}on{PBEAM}/minQ2={MINQ2}"),
+    wildcard_constraints:
+        EBEAM="\d+",
+        PBEAM="\d+",
+        MINQ2="\d+",
+    shell: """
+mkdir {output.results_path}
+root -l -b -q '{input.script}+("{input.config}")'
+"""
diff --git a/benchmarks/dis/analysis/jets.cxx b/benchmarks/Jets-HF/jets/analysis/jets.cxx
similarity index 88%
rename from benchmarks/dis/analysis/jets.cxx
rename to benchmarks/Jets-HF/jets/analysis/jets.cxx
index 2f696813a58efc937b975a2c6c090ea3172074a1..0626916d2cdd186166a37cfb115828bb24d090f3 100644
--- a/benchmarks/dis/analysis/jets.cxx
+++ b/benchmarks/Jets-HF/jets/analysis/jets.cxx
@@ -22,7 +22,7 @@
 // Jet Benchmarks
 // Author: B. Page (bpage@bnl.gov)
 
-// To run: snakemake -c1 results/epic_craterlake/dis/10on100/minQ2=1/jets
+// To run: snakemake -c1 results/epic_craterlake/jets/10on100/minQ2=1
 
 int jets(const std::string& config_name)
 {
@@ -557,7 +557,7 @@ legend1->Draw();
 
 
   gPad->SetLogy();
-  if(PRINT) c1->Print((results_path+"/jets/numberRecoJets.png").c_str()); // Number of reconstructed jets per event with energy > 5 GeV and Abs(eta) < 2.5
+  if(PRINT) c1->Print((results_path+"/numberRecoJets.png").c_str()); // Number of reconstructed jets per event with energy > 5 GeV and Abs(eta) < 2.5
    delete c1;
 
   // Reco Energy
@@ -580,7 +580,7 @@ legend2->AddEntry(recoChargedJetENoElecHist, "No Electrons", "l");
 legend2->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c2->Print((results_path+"/jets/recoJetEnergy.png").c_str()); // Energy spectrum of reconstructed jets with Abs(eta) < 2.5
+  if(PRINT) c2->Print((results_path+"/recoJetEnergy.png").c_str()); // Energy spectrum of reconstructed jets with Abs(eta) < 2.5
 
     delete c2;
   // Reco Eta
@@ -604,7 +604,7 @@ legend3->AddEntry(recoChargedJetEtaECutNoElecHist, "No Electrons", "l");
 legend3->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c3->Print((results_path+"/jets/recoJetEta.png").c_str()); // Eta spectrum of reconstructed jets with energy > 5 GeV
+  if(PRINT) c3->Print((results_path+"/recoJetEta.png").c_str()); // Eta spectrum of reconstructed jets with energy > 5 GeV
     delete c3;
   // Reco E Vs Eta
   TCanvas *c4 = new TCanvas("c4","Reco Jet E Vs Eta",800,600);
@@ -615,7 +615,7 @@ legend3->Draw();
   recoChargedJetEvsEtaHist->Draw("COLZ");
   recoChargedJetEvsEtaHist->SetTitle("Reconstructed Jet Energy Vs Eta;Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c4->Print((results_path+"/jets/recoJetEnergyvsEta.png").c_str()); // Energy vs eta of reconstructed jets
+  if(PRINT) c4->Print((results_path+"/recoJetEnergyvsEta.png").c_str()); // Energy vs eta of reconstructed jets
 
   // Reco Phi Vs Eta
   TCanvas *c5 = new TCanvas("c5","Reco Jet Phi Vs Eta",800,600);
@@ -626,7 +626,7 @@ legend3->Draw();
   recoChargedJetPhiVsEtaECutHist->Draw("COLZ");
   recoChargedJetPhiVsEtaECutHist->SetTitle("Reconstructed Jet Phi Vs Eta (E > 5);Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c5->Print((results_path+"/jets/recoJetPhivsEta.png").c_str()); // Phi vs eta of reconstructed jets
+  if(PRINT) c5->Print((results_path+"/recoJetPhivsEta.png").c_str()); // Phi vs eta of reconstructed jets
 
   // Num Particles Per Reco Jet
   TCanvas *c6 = new TCanvas("c6","Number Constituents Per Reco Jet",800,600);
@@ -648,7 +648,7 @@ legend6->AddEntry(numRecoChargedJetPartsNoElecHist, "No Electrons", "l");
 legend6->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c6->Print((results_path+"/jets/numConstituentsPerRecoJet.png").c_str()); // Number of constituents in reconstructed jets
+  if(PRINT) c6->Print((results_path+"/numConstituentsPerRecoJet.png").c_str()); // Number of constituents in reconstructed jets
 
   // Reco Part Energy
   TCanvas *c7 = new TCanvas("c7","Reco Jet Constituent Energy",800,600);
@@ -670,7 +670,7 @@ legend6->Draw();
   legend7->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c7->Print((results_path+"/jets/recoJetConstituentEnergy.png").c_str()); // Energy of reconstructed jet constituents
+  if(PRINT) c7->Print((results_path+"/recoJetConstituentEnergy.png").c_str()); // Energy of reconstructed jet constituents
 
   // Reco Part Eta
   TCanvas *c8 = new TCanvas("c8","Reco Jet Constituent Eta",800,600);
@@ -693,7 +693,7 @@ legend6->Draw();
   legend8->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c8->Print((results_path+"/jets/recoJetConstituentEta.png").c_str()); // Eta of reconstructed jet constituents
+  if(PRINT) c8->Print((results_path+"/recoJetConstituentEta.png").c_str()); // Eta of reconstructed jet constituents
 
   // Reco Part E Vs Eta
   TCanvas *c9 = new TCanvas("c9","Reco Jet Constituent E Vs Eta",800,600);
@@ -704,7 +704,7 @@ legend6->Draw();
   recoChargedJetPartEvsEtaHist->Draw("COLZ");
   recoChargedJetPartEvsEtaHist->SetTitle("Reconstructed Jet Constituent Energy Vs Eta;Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c9->Print((results_path+"/jets/recoJetConstituentEnergyVsEta.png").c_str()); // Energy vs eta of reconstructed jet constituents
+  if(PRINT) c9->Print((results_path+"/recoJetConstituentEnergyVsEta.png").c_str()); // Energy vs eta of reconstructed jet constituents
 
   // Reco Part Phi Vs Eta
   TCanvas *c10 = new TCanvas("c10","Reco Jet Constituent Phi Vs Eta",800,600);
@@ -715,7 +715,7 @@ legend6->Draw();
   recoChargedJetPartPhiVsEtaHist->Draw("COLZ");
   recoChargedJetPartPhiVsEtaHist->SetTitle("Reconstructed Jet Constituent Phi Vs Eta;Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c10->Print((results_path+"/jets/recoJetConstituentPhiVsEta.png").c_str()); // Phi vs eta of reconstructed jet constituents
+  if(PRINT) c10->Print((results_path+"/recoJetConstituentPhiVsEta.png").c_str()); // Phi vs eta of reconstructed jet constituents
 
   // Reco Constituent Pairwise delta R
   TCanvas *c11 = new TCanvas("c11","Reco Jet Constituent Pairwise Delta R",800,600);
@@ -727,7 +727,7 @@ legend6->Draw();
   recoChargedJetPartPairwiseDeltaRHist->SetTitle("Pairwise Constituent Delta R;Delta R");
   recoChargedJetPartPairwiseDeltaRHist->GetXaxis()->SetRangeUser(0,0.5);
   gPad->SetLogy();
-  if(PRINT) c11->Print((results_path+"/jets/recoJetConstituentPairwiseDR.png").c_str()); // Distance between each pair of constituents in reconstructed jets
+  if(PRINT) c11->Print((results_path+"/recoJetConstituentPairwiseDR.png").c_str()); // Distance between each pair of constituents in reconstructed jets
 
   // Reco E Vs Eta No Electron Jets
   TCanvas *c12 = new TCanvas("c12","Reco Jet E Vs Eta (No Electrons)",800,600);
@@ -738,7 +738,7 @@ legend6->Draw();
   recoChargedJetEvsEtaNoElecHist->Draw("COLZ");
   recoChargedJetEvsEtaNoElecHist->SetTitle("Reconstructed Jet Energy Vs Eta (No Electrons);Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c12->Print((results_path+"/jets/recoJetEnergyVsEtaNoElectron.png").c_str()); // Reconstructed jet energy - no jets containing electrons included
+  if(PRINT) c12->Print((results_path+"/recoJetEnergyVsEtaNoElectron.png").c_str()); // Reconstructed jet energy - no jets containing electrons included
 
   // Reco Phi Vs Eta No Electron Jets
   TCanvas *c13 = new TCanvas("c13","Reco Jet Phi Vs Eta (No Electrons)",800,600);
@@ -749,7 +749,7 @@ legend6->Draw();
   recoChargedJetPhiVsEtaECutNoElecHist->Draw("COLZ");
   recoChargedJetPhiVsEtaECutNoElecHist->SetTitle("Reconstructed Jet Phi Vs Eta (E > 5) (No Electrons);Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c13->Print((results_path+"/jets/recoJetPhiVsEtaNoElectron.png").c_str()); // Reconstructed Jet phi vs eta - no jets containing electrons included
+  if(PRINT) c13->Print((results_path+"/recoJetPhiVsEtaNoElectron.png").c_str()); // Reconstructed Jet phi vs eta - no jets containing electrons included
 
   // Reco Part E Vs Eta No Electron Jets
   TCanvas *c14 = new TCanvas("c14","Reco Jet Constituent E Vs Eta (No Electrons)",800,600);
@@ -760,7 +760,7 @@ legend6->Draw();
   recoChargedJetPartEvsEtaNoElecHist->Draw("COLZ");
   recoChargedJetPartEvsEtaNoElecHist->SetTitle("Reconstructed Jet Constituent Energy Vs Eta (No Electrons);Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c14->Print((results_path+"/jets/recoJetConstituentEnergyVsEtaNoElectron.png").c_str()); // Reconstructed jet constituent energy vs eta - no jets containing electrons included
+  if(PRINT) c14->Print((results_path+"/recoJetConstituentEnergyVsEtaNoElectron.png").c_str()); // Reconstructed jet constituent energy vs eta - no jets containing electrons included
 
   // Reco Part Phi Vs Eta No Electron Jets
   TCanvas *c15 = new TCanvas("c15","Reco Jet Constituent Phi Vs Eta (No Electrons)",800,600);
@@ -771,7 +771,7 @@ legend6->Draw();
   recoChargedJetPartPhiVsEtaNoElecHist->Draw("COLZ");
   recoChargedJetPartPhiVsEtaNoElecHist->SetTitle("Reconstructed Jet Constituent Phi Vs Eta (No Electrons);Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c15->Print((results_path+"/jets/recoJetConstituentPhiVsEtaNoElectron.png").c_str()); // Reconstructed jet constituent phi vs eta - no jets containing electrons included
+  if(PRINT) c15->Print((results_path+"/recoJetConstituentPhiVsEtaNoElectron.png").c_str()); // Reconstructed jet constituent phi vs eta - no jets containing electrons included
 
   
   ////////////////////////  Generated Jets Plots  ////////////////////////
@@ -796,7 +796,7 @@ legend6->Draw();
   legend16->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c16->Print((results_path+"/jets/numberGenJets.png").c_str()); // Number of generator jets per event with energy > 5 GeV and Abs(eta) < 2.5
+  if(PRINT) c16->Print((results_path+"/numberGenJets.png").c_str()); // Number of generator jets per event with energy > 5 GeV and Abs(eta) < 2.5
 
   // Gen Energy
   TCanvas *c17 = new TCanvas("c17","Gen Jet Energy",800,600);
@@ -818,7 +818,7 @@ legend6->Draw();
   legend17->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c17->Print((results_path+"/jets/genJetEnergy.png").c_str()); // Energy spectrum of generated jets with Abs(eta) < 2.5
+  if(PRINT) c17->Print((results_path+"/genJetEnergy.png").c_str()); // Energy spectrum of generated jets with Abs(eta) < 2.5
 
   // Gen Eta
   TCanvas *c18 = new TCanvas("c18","Gen Jet Eta",800,600);
@@ -841,7 +841,7 @@ legend6->Draw();
   legend18->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c18->Print((results_path+"/jets/genJetEta.png").c_str()); // Eta spectrum of generator jets with energy > 5 GeV
+  if(PRINT) c18->Print((results_path+"/genJetEta.png").c_str()); // Eta spectrum of generator jets with energy > 5 GeV
 
   // Gen E Vs Eta
   TCanvas *c19 = new TCanvas("c19","Gen Jet E Vs Eta",800,600);
@@ -852,7 +852,7 @@ legend6->Draw();
   genChargedJetEvsEtaHist->Draw("COLZ");
   genChargedJetEvsEtaHist->SetTitle("Generator Jet Energy Vs Eta;Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c19->Print((results_path+"/jets/genJetEnergyvsEta.png").c_str()); // Energy vs eta of generator jets
+  if(PRINT) c19->Print((results_path+"/genJetEnergyvsEta.png").c_str()); // Energy vs eta of generator jets
 
   // Gen Phi Vs Eta
   TCanvas *c20 = new TCanvas("c20","Gen Jet Phi Vs Eta",800,600);
@@ -863,7 +863,7 @@ legend6->Draw();
   genChargedJetPhiVsEtaECutHist->Draw("COLZ");
   genChargedJetPhiVsEtaECutHist->SetTitle("Generator Jet Phi Vs Eta (E > 5);Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c20->Print((results_path+"/jets/genJetPhiVsEta.png").c_str()); // Phi vs eta of generator jets
+  if(PRINT) c20->Print((results_path+"/genJetPhiVsEta.png").c_str()); // Phi vs eta of generator jets
 
   // Num Particles Per Gen Jet
   TCanvas *c21 = new TCanvas("c21","Number Constituents Per Gen Jet",800,600);
@@ -885,7 +885,7 @@ legend6->Draw();
   legend21->AddEntry(numGenChargedJetPartsNoElecHist, "No Electrons", "l");
   legend21->Draw();
   gPad->SetLogy();
-  if(PRINT) c21->Print((results_path+"/jets/numConstituentsPerGenJet.png").c_str()); // Number of constituents in generator jets
+  if(PRINT) c21->Print((results_path+"/numConstituentsPerGenJet.png").c_str()); // Number of constituents in generator jets
 
   // Gen Part Energy
   TCanvas *c22 = new TCanvas("c22","Gen Jet Constituent Energy",800,600);
@@ -908,7 +908,7 @@ legend6->Draw();
   legend22->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c22->Print((results_path+"/jets/genJetConstituentEnergy.png").c_str()); // Energy of generator jet constituents
+  if(PRINT) c22->Print((results_path+"/genJetConstituentEnergy.png").c_str()); // Energy of generator jet constituents
 
   // Gen Part Eta
   TCanvas *c23 = new TCanvas("c23","Gen Jet Constituent Eta",800,600);
@@ -931,7 +931,7 @@ legend6->Draw();
   legend23->Draw();
 
   gPad->SetLogy();
-  if(PRINT) c23->Print((results_path+"/jets/genJetConstituentEta.png").c_str()); // Eta of generator jet constituents
+  if(PRINT) c23->Print((results_path+"/genJetConstituentEta.png").c_str()); // Eta of generator jet constituents
 
   // Gen Part E Vs Eta
   TCanvas *c24 = new TCanvas("c24","Gen Jet Constituent E Vs Eta",800,600);
@@ -942,7 +942,7 @@ legend6->Draw();
   genChargedJetPartEvsEtaHist->Draw("COLZ");
   genChargedJetPartEvsEtaHist->SetTitle("Generator Jet Constituent Energy Vs Eta;Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c24->Print((results_path+"/jets/genJetConstituentEnergyVsEta.png").c_str()); // Energy vs eta of generator jet constituents
+  if(PRINT) c24->Print((results_path+"/genJetConstituentEnergyVsEta.png").c_str()); // Energy vs eta of generator jet constituents
 
   // Gen Part Phi Vs Eta
   TCanvas *c25 = new TCanvas("c25","Gen Jet Constituent Phi Vs Eta",800,600);
@@ -953,7 +953,7 @@ legend6->Draw();
   genChargedJetPartPhiVsEtaHist->Draw("COLZ");
   genChargedJetPartPhiVsEtaHist->SetTitle("Generator Jet Constituent Phi Vs Eta;Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c25->Print((results_path+"/jets/genJetConstituentPhiVsEta.png").c_str()); // Phi vs eta of generator jet constituents
+  if(PRINT) c25->Print((results_path+"/genJetConstituentPhiVsEta.png").c_str()); // Phi vs eta of generator jet constituents
 
   // Gen Constituent Pairwise delta R
   TCanvas *c26 = new TCanvas("c26","Gen Jet Constituent Pairwise Delta R",800,600);
@@ -965,7 +965,7 @@ legend6->Draw();
   genChargedJetPartPairwiseDeltaRHist->SetTitle("Generator Jet Pairwise Constituent Delta R;Delta R");
   genChargedJetPartPairwiseDeltaRHist->GetXaxis()->SetRangeUser(0,0.5);
   gPad->SetLogy();
-  if(PRINT) c26->Print((results_path+"/jets/genJetConstituentPairwiseDR.png").c_str()); // Distance between each pair of constituents in generator jets
+  if(PRINT) c26->Print((results_path+"/genJetConstituentPairwiseDR.png").c_str()); // Distance between each pair of constituents in generator jets
 
   // Gen E Vs Eta No Electron Jets
   TCanvas *c27 = new TCanvas("c27","Gen Jet E Vs Eta (No Electrons)",800,600);
@@ -976,7 +976,7 @@ legend6->Draw();
   genChargedJetEvsEtaNoElecHist->Draw("COLZ");
   genChargedJetEvsEtaNoElecHist->SetTitle("Generator Jet Energy Vs Eta (No Electrons);Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c27->Print((results_path+"/jets/genJetEnergyVsEtaNoElectron.png").c_str()); // Generator jet energy vs eta - no jets containing electrons included
+  if(PRINT) c27->Print((results_path+"/genJetEnergyVsEtaNoElectron.png").c_str()); // Generator jet energy vs eta - no jets containing electrons included
 
   // Gen Phi Vs Eta No Electron Jets
   TCanvas *c28 = new TCanvas("c28","Gen Jet Phi Vs Eta (No Electrons)",800,600);
@@ -987,7 +987,7 @@ legend6->Draw();
   genChargedJetPhiVsEtaECutNoElecHist->Draw("COLZ");
   genChargedJetPhiVsEtaECutNoElecHist->SetTitle("Generator Jet Phi Vs Eta (E > 5) (No Electrons);Eta;Phi");
   gPad->SetLogz();
-  if(PRINT) c28->Print((results_path+"/jets/genJetPhiVsEtaNoElectron.png").c_str()); // Generator Jet phi vs eta - no jets containing electrons included
+  if(PRINT) c28->Print((results_path+"/genJetPhiVsEtaNoElectron.png").c_str()); // Generator Jet phi vs eta - no jets containing electrons included
 
   // Gen Part E Vs Eta No Electron Jets
   TCanvas *c29 = new TCanvas("c29","Gen Jet Constituent E Vs Eta (No Electrons)",800,600);
@@ -998,7 +998,7 @@ legend6->Draw();
   genChargedJetPartEvsEtaNoElecHist->Draw("COLZ");
   genChargedJetPartEvsEtaNoElecHist->SetTitle("Generator Jet Constituent Energy Vs Eta (No Electrons);Eta;Energy [GeV]");
   gPad->SetLogz();
-  if(PRINT) c29->Print((results_path+"/jets/genJetConstituentEnergyVsEtaNoElectron.png").c_str()); // Generator jet constituent energy vs eta - no jets containing electrons included
+  if(PRINT) c29->Print((results_path+"/genJetConstituentEnergyVsEtaNoElectron.png").c_str()); // Generator jet constituent energy vs eta - no jets containing electrons included
 
   // Gen Part Phi Vs Eta No Electron Jets
   TCanvas *c30 = new TCanvas("c30","Gen Jet Constituent Phi Vs Eta (No Electrons)",800,600);
@@ -1009,8 +1009,8 @@ legend6->Draw();
   genChargedJetPartPhiVsEtaNoElecHist->Draw("COLZ");
   genChargedJetPartPhiVsEtaNoElecHist->SetTitle("Generator Jet Constituent Phi Vs Eta (No Electrons);Eta;Phi");
   gPad->SetLogz();
-  //c30->Print((results_path+"/jets/recoJetEvsEta.png").c_str());
-  if(PRINT) c30->Print((results_path+"/jets/genJetConstituentPhiVsEtaNoElectron.png").c_str()); // Generator jet constituent phi vs eta - no jets containing electrons included
+  //c30->Print((results_path+"/recoJetEvsEta.png").c_str());
+  if(PRINT) c30->Print((results_path+"/genJetConstituentPhiVsEtaNoElectron.png").c_str()); // Generator jet constituent phi vs eta - no jets containing electrons included
 
   
   ////////////////////////  Matched Jets Plots  ////////////////////////
@@ -1025,7 +1025,7 @@ legend6->Draw();
   //matchJetDeltaRBackHist->Draw("HISTSAME");
   matchJetDeltaRHist->SetTitle("Matched Gen - Reco Jet Delta R;Delta R");
   gPad->SetLogy();
-  if(PRINT) c31->Print((results_path+"/jets/genRecoJetDeltaR.png").c_str()); // Distance between closest generated and reconstructed jet pair
+  if(PRINT) c31->Print((results_path+"/genRecoJetDeltaR.png").c_str()); // Distance between closest generated and reconstructed jet pair
 
   // Matched Reco Vs Gen Eta
   TCanvas *c32 = new TCanvas("c32","Reco Vs Gen Eta",800,600);
@@ -1036,7 +1036,7 @@ legend6->Draw();
   recoVsGenChargedJetEtaHist->Draw("COLZ");
   recoVsGenChargedJetEtaHist->SetTitle("Reconstructed Vs Generator Jet Eta;Gen Eta;Reco Eta");
   gPad->SetLogz();
-  if(PRINT) c32->Print((results_path+"/jets/matchedRecoVsGenJetEta.png").c_str()); // Matched Reconstructed Vs Generator Jet eta
+  if(PRINT) c32->Print((results_path+"/matchedRecoVsGenJetEta.png").c_str()); // Matched Reconstructed Vs Generator Jet eta
 
   // Matched Reco Vs Gen Phi
   TCanvas *c33 = new TCanvas("c33","Reco Vs Gen Phi",800,600);
@@ -1047,7 +1047,7 @@ legend6->Draw();
   recoVsGenChargedJetPhiHist->Draw("COLZ");
   recoVsGenChargedJetPhiHist->SetTitle("Reconstructed Vs Generator Jet Phi;Gen Phi;Reco Phi");
   gPad->SetLogz();
-  if(PRINT) c33->Print((results_path+"/jets/matchedRecoVsGenJetPhi.png").c_str()); // Matched reconstructed vs generator jet phi
+  if(PRINT) c33->Print((results_path+"/matchedRecoVsGenJetPhi.png").c_str()); // Matched reconstructed vs generator jet phi
 
   // Matched Reco Vs Gen Energy
   TCanvas *c34 = new TCanvas("c34","Reco Vs Gen Energy",800,600);
@@ -1065,7 +1065,7 @@ legend6->Draw();
   f2_34->Draw("SAME");
   f3_34->Draw("SAME");
   gPad->SetLogz();
-  if(PRINT) c34->Print((results_path+"/jets/matchedRecoVsGenJetEnergy.png").c_str()); // Matched reconstructed vs generator jet energy
+  if(PRINT) c34->Print((results_path+"/matchedRecoVsGenJetEnergy.png").c_str()); // Matched reconstructed vs generator jet energy
 
   // Jet Res Vs Gen Eta
   TCanvas *c35 = new TCanvas("c35","Jet Res Vs Gen Eta",800,600);
@@ -1076,7 +1076,7 @@ legend6->Draw();
   jetResVsEtaHist->Draw("COLZ");
   jetResVsEtaHist->SetTitle("(Reco - Gen)/Gen Jet Energy Vs Gen Eta;Gen Eta;Res");
   gPad->SetLogz();
-  if(PRINT) c35->Print((results_path+"/jets/matchedJetResolutionVsEta.png").c_str()); // Matched jet resolution vs generator jet eta
+  if(PRINT) c35->Print((results_path+"/matchedJetResolutionVsEta.png").c_str()); // Matched jet resolution vs generator jet eta
 
   // Jet Res Vs Gen E
   TCanvas *c36 = new TCanvas("c36","Jet Res Vs Gen E",800,600);
@@ -1087,7 +1087,7 @@ legend6->Draw();
   jetResVsEHist->Draw("COLZ");
   jetResVsEHist->SetTitle("(Reco - Gen)/Gen Jet Energy Vs Gen Energy;Gen E;Res");
   gPad->SetLogz();
-  if(PRINT) c36->Print((results_path+"/jets/matchedJetResolutionVsEnergy.png").c_str()); // Matched jet resolution vs generator jet energy
+  if(PRINT) c36->Print((results_path+"/matchedJetResolutionVsEnergy.png").c_str()); // Matched jet resolution vs generator jet energy
 
   // Jet Res Vs Gen E Neg Eta
   TCanvas *c37 = new TCanvas("c37","Jet Res Vs Gen E (-2.5 < eta < -1.0)",800,600);
@@ -1098,7 +1098,7 @@ legend6->Draw();
   jetResVsENegEtaNoDupHist->Draw("COLZ");
   jetResVsENegEtaNoDupHist->SetTitle("(Reco - Gen)/Gen Jet Energy Vs Gen Energy (-2.5 < eta < -1.0) No Duplicate;Gen E;Res");
   gPad->SetLogz();
-  if(PRINT) c37->Print((results_path+"/jets/matchedJetResolutionVsEnergyNegEta.png").c_str()); // Matched jet resolution vs generator jet energy -2.5 < eta < -1.0
+  if(PRINT) c37->Print((results_path+"/matchedJetResolutionVsEnergyNegEta.png").c_str()); // Matched jet resolution vs generator jet energy -2.5 < eta < -1.0
 
   // Jet Res Vs Gen E Mid Eta
   TCanvas *c38 = new TCanvas("c38","Jet Res Vs Gen E (-1.0 < eta < 1.0)",800,600);
@@ -1109,7 +1109,7 @@ legend6->Draw();
   jetResVsEMidEtaNoDupHist->Draw("COLZ");
   jetResVsEMidEtaNoDupHist->SetTitle("(Reco - Gen)/Gen Jet Energy Vs Gen Energy (-1.0 < eta < 1.0) No Duplicate;Gen E;Res");
   gPad->SetLogz();
-  if(PRINT) c38->Print((results_path+"/jets/matchedJetResolutionVsEnergyMidEta.png").c_str()); // Matched jet resolution vs generator jet energy -1.0 < eta < 1.0
+  if(PRINT) c38->Print((results_path+"/matchedJetResolutionVsEnergyMidEta.png").c_str()); // Matched jet resolution vs generator jet energy -1.0 < eta < 1.0
     delete c38;
   // Jet Res Vs Gen E Pos Eta
   TCanvas *c39 = new TCanvas("c39","Jet Res Vs Gen E (1.0 < eta < 2.5)",800,600);
@@ -1120,7 +1120,7 @@ legend6->Draw();
   jetResVsEPosEtaNoDupHist->Draw("COLZ");
   jetResVsEPosEtaNoDupHist->SetTitle("(Reco - Gen)/Gen Jet Energy Vs Gen Energy (1.0 < eta < 2.5) No Duplicate;Gen E;Res");
   gPad->SetLogz();
-  if(PRINT) c39->Print((results_path+"/jets/matchedJetResolutionVsEnergyPosEta.png").c_str()); // Matched jet resolution vs generator jet energy 1.0 < eta < 2.5
+  if(PRINT) c39->Print((results_path+"/matchedJetResolutionVsEnergyPosEta.png").c_str()); // Matched jet resolution vs generator jet energy 1.0 < eta < 2.5
   delete c39;
 
   
@@ -1179,7 +1179,7 @@ legend6->Draw();
 	  //cout << fA->GetParError(0) << " " << fA->GetParError(1) << " " << fA->GetParError(2) << endl;
 	}
     }
-  if(PRINT) c40->Print((results_path+"/jets/matchedJetResolutionVsEnergyNegEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy -2.5 < eta < -1.0 fits
+  if(PRINT) c40->Print((results_path+"/matchedJetResolutionVsEnergyNegEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy -2.5 < eta < -1.0 fits
     delete c40;
 
   TCanvas *c41 = new TCanvas("c41","Mid Rapidity Fit Results",800,600);
@@ -1213,7 +1213,7 @@ legend6->Draw();
 	  //cout << fB->GetParError(0) << " " << fB->GetParError(1) << " " << fB->GetParError(2) << endl;
 	}
     }
-  if(PRINT) c41->Print((results_path+"/jets/matchedJetResolutionVsEnergyMidEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy -1.0 < eta < 1.0 fits
+  if(PRINT) c41->Print((results_path+"/matchedJetResolutionVsEnergyMidEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy -1.0 < eta < 1.0 fits
     delete c41;
 
   TCanvas *c42 = new TCanvas("c42","Positive Rapidity Fit Results",800,600);
@@ -1247,7 +1247,7 @@ legend6->Draw();
 	  //cout << fC->GetParError(0) << " " << fC->GetParError(1) << " " << fC->GetParError(2) << endl;
 	}
     }
-  if(PRINT) c42->Print((results_path+"/jets/matchedJetResolutionVsEnergyPosEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy 1.0 < eta < 2.5 fits
+  if(PRINT) c42->Print((results_path+"/matchedJetResolutionVsEnergyPosEtaFitSummary.png").c_str()); // Matched jet resolution vs generator jet energy 1.0 < eta < 2.5 fits
     delete c42;
   TCanvas *c43 = new TCanvas("c43","Positive JES/JER",800,600);
   c43->Clear();
@@ -1305,7 +1305,7 @@ legend->AddEntry(gJERvsEPos, "JER, (1 < #eta < 2.5) ", "p");
 legend->AddEntry(gJESvsEPos, "JES, (1 < #eta < 2.5)", "p");
 legend->Draw();
 
-  if(PRINT) c43->Print((results_path+"/jets/matchedJetScaleResolutionSummary.png").c_str()); // Matched jet JER/JES summary
+  if(PRINT) c43->Print((results_path+"/matchedJetScaleResolutionSummary.png").c_str()); // Matched jet JER/JES summary
     delete c43;
 
 delete mychain;
diff --git a/benchmarks/Jets-HF/jets/config.yml b/benchmarks/Jets-HF/jets/config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..09a1d4c8f80ce9c5d3ed9927cb3eba54ac046375
--- /dev/null
+++ b/benchmarks/Jets-HF/jets/config.yml
@@ -0,0 +1,38 @@
+jets:compile:
+  stage: compile
+  extends: .compile_benchmark
+  script:
+    - snakemake --cores 1 jets_compile
+
+jets:simulate:
+  stage: simulate
+  extends: .phy_benchmark
+  needs:
+    - "jets:compile"
+    - "dis:simulate"
+  parallel:
+    matrix:
+      - EBEAM: 5
+        PBEAM: 41
+        MINQ2: [1, 10, 100]
+      - EBEAM: 10
+        PBEAM: 100
+        MINQ2: [1, 10, 100, 1000]
+      - EBEAM: 18
+        PBEAM: 275
+        MINQ2: [1, 10, 100, 1000]
+  timeout: 2 hours
+  script:
+    - |
+      snakemake --cache --cores 1 \
+        results/epic_craterlake/jets/${EBEAM}on${PBEAM}/minQ2=${MINQ2}/
+  retry:
+    max: 2
+    when:
+      - runner_system_failure
+
+jets:results:
+  stage: collect
+  needs: ["jets:simulate"]
+  script:
+    - collect_tests.py Jets-HF/jets
diff --git a/benchmarks/SIDIS/.gitkeep b/benchmarks/SIDIS/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391