From 97eaeaaac15c82414d82a063325680446deb1b49 Mon Sep 17 00:00:00 2001
From: Marshall Scott <mbscott@anl.gov>
Date: Tue, 18 May 2021 16:16:08 +0000
Subject: [PATCH] Add more particles

---
 .../scripts/emcal_barrel_common_functions.h    | 18 ++++++++++++++++++
 .../emcal_barrel_particles_analysis.cxx        |  2 ++
 .../scripts/emcal_barrel_particles_gen.cxx     | 12 ++----------
 .../scripts/emcal_barrel_particles_reader.cxx  | 12 ++----------
 4 files changed, 24 insertions(+), 20 deletions(-)
 create mode 100644 benchmarks/barrel_ecal/scripts/emcal_barrel_common_functions.h

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 00000000..b1359567
--- /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 359a59a1..33a31897 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 10d48485..419ea7c0 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 4054aadd..d8df3dc3 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
-- 
GitLab