diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_common_functions.h b/benchmarks/barrel_ecal/scripts/emcal_barrel_common_functions.h
new file mode 100644
index 0000000000000000000000000000000000000000..b1359567f8e2434cb2880f675c5ee1086d98858a
--- /dev/null
+++ b/benchmarks/barrel_ecal/scripts/emcal_barrel_common_functions.h
@@ -0,0 +1,18 @@
+//////////////////////////
+// Common Particle Functions
+// M. Scott 05/2021
+//////////////////////////
+
+std::tuple <int, double> extract_particle_parameters(std::string particle_name) {
+    if (particle_name == "electron") return std::make_tuple(11,    0.51099895e-3);
+    if (particle_name == "photon")   return std::make_tuple(22,    0.0);
+    if (particle_name == "positron") return std::make_tuple(-11,   0.51099895e-3);
+    if (particle_name == "proton")   return std::make_tuple(2212,  0.938272);
+    if (particle_name == "muon")     return std::make_tuple(13,    0.1056583745);
+    if (particle_name == "pi0")      return std::make_tuple(111,   0.1349768);
+    if (particle_name == "piplus")   return std::make_tuple(211,   0.13957039);
+    if (particle_name == "piminus")  return std::make_tuple(-211,  0.13957039);
+
+    std::cout << "wrong particle name" << std::endl;
+    abort();
+}
\ No newline at end of file
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_analysis.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_analysis.cxx
index 359a59a1008fe5e86025d2a170b9a8af2c32e8a1..33a31897fe97828d1acc0b65a2cf5f177ced9f7f 100644
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_analysis.cxx
+++ b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_analysis.cxx
@@ -17,6 +17,8 @@
 #include "TF1.h"
 #include "TH1D.h"
 
+#include "emcal_barrel_common_functions.h"
+
 using ROOT::RDataFrame;
 using namespace ROOT::VecOps;
 
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_gen.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_gen.cxx
index 10d48485183c6c989fede3ba58bfd425b31d20ba..419ea7c0c152c7bbc177ba659e2869db0a1583e0 100644
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_gen.cxx
+++ b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_gen.cxx
@@ -18,17 +18,9 @@
 #include <random>
 #include <fmt/core.h>
 
-using namespace HepMC3;
-
-std::tuple <int, double> extract_particle_parameters(std::string particle_name) {
-    if (particle_name == "electron") return std::make_tuple(11, 0.51099895e-3);
-    if (particle_name == "photon") return std::make_tuple(22, 0.0);
-    if (particle_name == "positron") return std::make_tuple(-11, 0.51099895e-3);
-    if (particle_name == "proton") return std::make_tuple(2212, 0.938272);
+#include "emcal_barrel_common_functions.h"
 
-    std::cout << "wrong particle name" << std::endl;
-    abort();
-}
+using namespace HepMC3;
 
 void emcal_barrel_particles_gen(int n_events = 1e6, double e_start = 0.0, double e_end = 20.0, std::string particle_name = "electron") {
   std::string out_fname = fmt::format("./data/emcal_barrel_{}.hepmc", particle_name);
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_reader.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_reader.cxx
index 4054aadd5de0e4fdd4e864dd4111d1116e549b02..d8df3dc38d8873c3dbb926be66de0e8a249ab908 100644
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_reader.cxx
+++ b/benchmarks/barrel_ecal/scripts/emcal_barrel_particles_reader.cxx
@@ -20,6 +20,8 @@
 #include <iostream>
 #include <fmt/core.h>
 
+#include "emcal_barrel_common_functions.h"
+
 using namespace HepMC3;
 
 void save_canvas(TCanvas* c, std::string label)
@@ -34,16 +36,6 @@ void save_canvas(TCanvas* c, std::string label, std::string particle_label)
   save_canvas(c, label_with_E);
 }
 
-std::tuple <int, double> extract_particle_parameters(std::string particle_name) {
-    if (particle_name == "electron") return std::make_tuple(11, 0.51099895e-3);
-    if (particle_name == "photon") return std::make_tuple(22, 0.0);
-    if (particle_name == "positron") return std::make_tuple(-11, 0.51099895e-3);
-    if (particle_name == "proton") return std::make_tuple(2212, 0.938272);
-
-    std::cout << "wrong particle name" << std::endl;
-    abort();
-}
-
 void emcal_barrel_particles_reader(std::string particle_name = "electron") {
  
   // Setting for graphs