From 3b13cda38a461e226bfc647bf2eb7afc9b2d113b Mon Sep 17 00:00:00 2001
From: Marshall Scott <mbscott@anl.gov>
Date: Wed, 21 Jul 2021 14:50:59 -0500
Subject: [PATCH] removed .cxx analysis.cxx reader.cxx .sh and cleaned up the
 config file

---
 benchmarks/barrel_ecal/config.yml             |  19 --
 .../run_emcal_barrel_pions_electrons.sh       |  64 ----
 .../scripts/emcal_barrel_pions_electrons.cxx  | 100 ------
 .../emcal_barrel_pions_electrons_analysis.cxx | 308 ------------------
 .../emcal_barrel_pions_electrons_reader.cxx   | 125 -------
 5 files changed, 616 deletions(-)
 delete mode 100755 benchmarks/barrel_ecal/run_emcal_barrel_pions_electrons.sh
 delete mode 100644 benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons.cxx
 delete mode 100644 benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_analysis.cxx
 delete mode 100644 benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_reader.cxx

diff --git a/benchmarks/barrel_ecal/config.yml b/benchmarks/barrel_ecal/config.yml
index 074345f9..ff84a74d 100644
--- a/benchmarks/barrel_ecal/config.yml
+++ b/benchmarks/barrel_ecal/config.yml
@@ -25,13 +25,6 @@ sim:emcal_barrel_photons:
     - if [[ "$RUN_EXTENDED_BENCHMARK" == "true" ]] ; then bash benchmarks/barrel_ecal/run_emcal_barrel_energy_scan.sh photon ; fi
     - bash benchmarks/barrel_ecal/run_emcal_barrel_particles.sh photon
 
-sim:emcal_barrel_pions_electrons:
-  extends: .det_benchmark
-  stage: simulate
-  script:
-    - bash benchmarks/barrel_ecal/run_emcal_barrel_electrons.sh
-    - bash benchmarks/barrel_ecal/run_emcal_barrel_particles.sh piminus
-
 sim:emcal_barrel_pion_rejection:
   extends: .det_benchmark
   stage: simulate
@@ -88,17 +81,6 @@ bench:emcal_barrel_photons:
     - mv sim_output/sim_emcal_barrel_photon.root results/.
     - if [[ "$RUN_EXTENDED_BENCHMARK" == "true" ]] ; then root -b -q 'benchmarks/barrel_ecal/scripts/emcal_barrel_energy_scan_analysis.cxx+("photon")' ; fi
 
-bench:emcal_barrel_pions_electrons:
-  extends: .det_benchmark
-  stage: benchmarks
-  needs:
-    - ["sim:emcal_barrel_pions_electrons"]
-  script:
-    - ls -lhtR sim_output/
-    - rootls -t sim_output/sim_emcal_barrel_piminus.root
-    - rootls -t sim_output/sim_emcal_barrel_uniform_electrons.root
-    - root -b -q benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_analysis.cxx+
-
 bench:emcal_barrel_pion_rejection:
   extends: .det_benchmark
   stage: benchmarks
@@ -119,7 +101,6 @@ collect_results:barrel_ecal:
     - "bench:emcal_barrel_photons"
     - "bench:emcal_barrel_pions"
     - "bench:emcal_barrel_pi0"
-    - "bench:emcal_barrel_pions_electrons"
     - "bench:emcal_barrel_pion_rejection"
   script:
     - ls -lrht
diff --git a/benchmarks/barrel_ecal/run_emcal_barrel_pions_electrons.sh b/benchmarks/barrel_ecal/run_emcal_barrel_pions_electrons.sh
deleted file mode 100755
index aa546843..00000000
--- a/benchmarks/barrel_ecal/run_emcal_barrel_pions_electrons.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/bin/bash
-
-if [[ ! -n  "${JUGGLER_DETECTOR}" ]] ; then 
-  export JUGGLER_DETECTOR="topside"
-fi
-
-if [[ ! -n  "${JUGGLER_N_EVENTS}" ]] ; then 
-  export JUGGLER_N_EVENTS=1000
-fi
-
-if [[ ! -n  "${JUGGLER_INSTALL_PREFIX}" ]] ; then 
-  export JUGGLER_INSTALL_PREFIX="/usr/local"
-fi
-
-if [[ ! -n  "${E_start}" ]] ; then
-  export E_start=5.0
-fi
-
-if [[ ! -n  "${E_end}" ]] ; then
-  export E_end=5.0
-fi
-
-export JUGGLER_FILE_NAME_TAG="emcal_barrel_uniform_pions_electrons"
-export JUGGLER_GEN_FILE="${JUGGLER_FILE_NAME_TAG}.hepmc"
-
-export JUGGLER_SIM_FILE="sim_${JUGGLER_FILE_NAME_TAG}.root"
-export JUGGLER_REC_FILE="rec_${JUGGLER_FILE_NAME_TAG}.root"
-
-echo "JUGGLER_N_EVENTS = ${JUGGLER_N_EVENTS}"
-echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
-
-# Generate the input events
-root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons.cxx(${JUGGLER_N_EVENTS}, ${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
-if [[ "$?" -ne "0" ]] ; then
-  echo "ERROR running script: generating input events"
-  exit 1
-fi
-# Plot the input events
-root -b -q "benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_reader.cxx(${E_start}, ${E_end}, \"${JUGGLER_FILE_NAME_TAG}.hepmc\")"
-if [[ "$?" -ne "0" ]] ; then
-  echo "ERROR running script: plotting input events"
-  exit 1
-fi
-
-# Run geant4 simulations
-npsim --runType batch \
-      -v WARNING \
-      --part.minimalKineticEnergy 0.5*GeV  \
-      --numberOfEvents ${JUGGLER_N_EVENTS} \
-      --compactFile ${DETECTOR_PATH}/${JUGGLER_DETECTOR}.xml \
-      --inputFiles ${JUGGLER_FILE_NAME_TAG}.hepmc \
-      --outputFile sim_output/${JUGGLER_SIM_FILE}
-
-if [[ "$?" -ne "0" ]] ; then
-  echo "ERROR running npdet"
-  exit 1
-fi
-
-# Directory for plots
-mkdir -p results
-
-# Move ROOT output file
-#mv ${JUGGLER_REC_FILE} sim_output/
-
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons.cxx
deleted file mode 100644
index e7c343c1..00000000
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons.cxx
+++ /dev/null
@@ -1,100 +0,0 @@
-
-//////////////////////////////////////////////////////////////
-// EMCAL Barrel detector
-// Electron & Pion Minus dataset
-// M. Scott 05/2021
-//////////////////////////////////////////////////////////////
-#include "HepMC3/GenEvent.h"
-#include "HepMC3/Print.h"
-#include "HepMC3/ReaderAscii.h"
-#include "HepMC3/WriterAscii.h"
-
-#include <TMath.h>
-#include <cmath>
-#include <iostream>
-#include <math.h>
-#include <random>
-
-using namespace HepMC3;
-
-void emcal_barrel_pions_electrons(int n_events = 1e6, double e_start = 0.0, double e_end = 30.0, const char* out_fname = "./data/emcal_barrel_pions_electrons.hepmc") {
-	/*
-	n_events = 1000; 
-	e_start = 5;
-	e_end = 5; 
-	out_fname = "temp_pions_electrons.hepmc";
-	*/
-  WriterAscii hepmc_output(out_fname);
-  int events_parsed = 0;
-  GenEvent evt(Units::GEV, Units::MM);
-
-  // Random number generator
-  TRandom* r1 = new TRandom();
-
-  // Constraining the solid angle, but larger than that subtended by the
-  // detector
-  // https://indico.bnl.gov/event/7449/contributions/35966/attachments/27177/41430/EIC-DWG-Calo-03192020.pdf
-  // See a figure on slide 26
-  double cos_theta_min = std::cos(M_PI * (45.0 / 180.0));
-  double cos_theta_max = std::cos(M_PI * (135.0 / 180.0));
-
-  for (events_parsed = 0; events_parsed < n_events; events_parsed++) {
-    // FourVector(px,py,pz,e,pdgid,status)
-    // type 4 is beam
-    // pdgid 11 - electron
-    // pdgid 111 - pi0 
-    // pdgid 2212 - proton
-    GenParticlePtr p1 = std::make_shared<GenParticle>(FourVector(0.0, 0.0, 10.0, 10.0), 11, 4);
-    GenParticlePtr p2 = std::make_shared<GenParticle>(FourVector(0.0, 0.0, 0.0, 0.938), 2212, 4);
-
-    // Define momentum
-    Double_t p        = r1->Uniform(e_start, e_end);
-    Double_t phi      = r1->Uniform(0.0, 2.0 * M_PI);
-    Double_t costheta = r1->Uniform(cos_theta_min, cos_theta_max);
-    Double_t theta    = std::acos(costheta);
-    Double_t px       = p * std::cos(phi) * std::sin(theta);
-    Double_t py       = p * std::sin(phi) * std::sin(theta);
-    Double_t pz       = p * std::cos(theta);
-
-    // Generates random vectors, uniformly distributed over the surface of a
-    // sphere of given radius, in this case momentum.
-    // r1->Sphere(px, py, pz, p);
-
-    // type 1 is final state
-    // pdgid 211 - pion+ 139.570 MeV/c^2
-    // pdgid -211 - pion- 139.570 MeV/c^2
-    // pdgid 111 - pion0 134.977 MeV/c^2
-    GenParticlePtr p3 = std::make_shared<GenParticle>(FourVector(px, py, pz, sqrt(p * p + (0.139570 * 0.139570))), -211, 1);
-
-    p        = r1->Uniform(e_start, e_end);
-    phi      = r1->Uniform(0.0, 2.0 * M_PI);
-    costheta = r1->Uniform(cos_theta_min, cos_theta_max);
-    theta    = std::acos(costheta);
-    px       = p * std::cos(phi) * std::sin(theta);
-    py       = p * std::sin(phi) * std::sin(theta);
-    pz       = p * std::cos(theta);
-    GenParticlePtr p4 = std::make_shared<GenParticle>(FourVector(px, py, pz, sqrt(p * p + (0.000511 * 0.000511))), 11, 1);
-
-    GenVertexPtr v1 = std::make_shared<GenVertex>();
-    GenVertexPtr v2 = std::make_shared<GenVertex>();
-    v1->add_particle_in(p1);
-    v1->add_particle_in(p2);
-
-    if (r1 -> Uniform(0,1) <= 0.5) {v1->add_particle_out(p3);}
-    else {v1->add_particle_out(p4);}
-    evt.add_vertex(v1);
-
-    if (events_parsed == 0) {
-      std::cout << "First event: " << std::endl;
-      Print::listing(evt);
-    }
-
-    hepmc_output.write_event(evt);
-    if (events_parsed % 10000 == 0) {
-      std::cout << "Event: " << events_parsed << std::endl;
-    }
-    evt.clear();
-  }
-  hepmc_output.close();
-  std::cout << "Events parsed and written: " << events_parsed << std::endl;
-}
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_analysis.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_analysis.cxx
deleted file mode 100644
index e38a5c20..00000000
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_analysis.cxx
+++ /dev/null
@@ -1,308 +0,0 @@
-////////////////////////////////////////
-// Read reconstruction ROOT output file
-// Plot variables
-////////////////////////////////////////
-
-#include "ROOT/RDataFrame.hxx"
-#include <iostream>
-
-#include "dd4pod/Geant4ParticleCollection.h"
-#include "dd4pod/CalorimeterHitCollection.h"
-
-#include "TCanvas.h"
-#include "TStyle.h"
-#include "TMath.h"
-#include "TH1.h"
-#include "TF1.h"
-#include "TH1D.h"
-#include "TFitResult.h"
-#include "TLegend.h"
-#include "TString.h"
-
-R__LOAD_LIBRARY(libfmt.so)
-#include "fmt/core.h"
-#include "DD4hep/Detector.h"
-#include "DDG4/Geant4Data.h"
-#include "DDRec/CellIDPositionConverter.h"
-#include "emcal_barrel_common_functions.h"
-
-using ROOT::RDataFrame;
-using namespace ROOT::VecOps;
-
-void emcal_barrel_pions_electrons_analysis(const char* input_fname1 = "sim_output/sim_emcal_barrel_piminus.root", const char* input_fname2 = "sim_output/sim_emcal_barrel_uniform_electrons.root")
-{
-  // Setting for graphs
-  gROOT->SetStyle("Plain");
-  gStyle->SetOptFit(1);
-  gStyle->SetLineWidth(2);
-  gStyle->SetPadTickX(1);
-  gStyle->SetPadTickY(1);
-  gStyle->SetPadGridX(1);
-  gStyle->SetPadGridY(1);
-  gStyle->SetPadLeftMargin(0.14);
-  gStyle->SetPadRightMargin(0.14);
-
-  ROOT::EnableImplicitMT();
-  ROOT::RDataFrame d0("events", {input_fname1, input_fname2});
-
-  // Environment Variables
-  std::string detector_path = "";
-  std::string detector_name = "topside";
-  if(std::getenv("DETECTOR_PATH")) {
-    detector_path = std::getenv("DETECTOR_PATH");
-  }
-  if(std::getenv("JUGGLER_DETECTOR")) {
-    detector_name = std::getenv("JUGGLER_DETECTOR");
-  }
-
-  // Using the detector layers 
-  dd4hep::Detector& detector = dd4hep::Detector::getInstance();
-  detector.fromCompact(fmt::format("{}/{}.xml", detector_path,detector_name));
-  //dd4hep::rec::CellIDPositionConverter cellid_converter(detector);
-
-  auto decoder = detector.readout("EcalBarrelHits").idSpec().decoder();
-  fmt::print("{}\n", decoder->fieldDescription());
-  auto layer_index = decoder->index("layer");
-  fmt::print(" layer index is {}.\n", layer_index);
-
-  // Rejection Value [GeV] based upon Energy deposit in the first 4 layers.
-  // Currently constructed from looking at tthe pion and electron Energy deposit plots
-  // should eventually grab a value from a json file
-  // Suggested cut at 0.005
-  double rejectCut = 0.0;
-
-  // Thrown Energy [GeV]
-  auto Ethr = [](std::vector<dd4pod::Geant4ParticleData> const& input) {
-    return TMath::Sqrt(input[2].psx*input[2].psx + input[2].psy*input[2].psy + input[2].psz*input[2].psz + input[2].mass*input[2].mass);
-  };
-
-  // Thrown Momentum [GeV]
-  auto Pthr = [](std::vector<dd4pod::Geant4ParticleData> const& input) {
-    return TMath::Sqrt(input[2].psx*input[2].psx + input[2].psy*input[2].psy + input[2].psz*input[2].psz);
-  };
-
-  // Number of hits
-  auto nhits = [] (const std::vector<dd4pod::CalorimeterHitData>& evt) {return (int) evt.size(); };
-
-  // Energy deposition [GeV]
-  auto Esim = [](const std::vector<dd4pod::CalorimeterHitData>& evt) {
-    auto total_edep = 0.0;
-    for (const auto& i: evt)
-      total_edep += i.energyDeposit;
-  return total_edep;
-  };
-
-  // Energy deposititon [GeV] in the first 4 layers
-  auto Esim_front = [=](const std::vector<dd4pod::CalorimeterHitData>& evt) {
-    auto total_edep = 0.0;
-    for (const auto& i: evt) {
-      //fmt::print("cell id {}, layer {}\n",i.cellID, decoder->get(i.cellID, layer_index));
-      if( decoder->get(i.cellID, layer_index) < 4 ){
-        total_edep += i.energyDeposit;
-      }
-    }
-    return total_edep;
-  };
-
-  // Sampling fraction = Esampling / Ethrown
-  auto fsam = [](const double& sampled, const double& thrown) {
-    return sampled / thrown;
-  };
-
-  // E_front / p
-  auto fEp = [](const double& E_front, const double& mom) {
-    return E_front / mom;
-  };
-
-  // Returns the pdgID of the particle
-  auto getpid = [](std::vector<dd4pod::Geant4ParticleData> const& input) {
-    return input[2].pdgID;
-  };
-
-  // Returns number of particle daughters
-  auto getdau = [](std::vector<dd4pod::Geant4ParticleData> const& input){
-    return input[2].daughters_begin;
-  };
-
-  // Filter function to get electrons
-  auto is_electron = [](std::vector<dd4pod::Geant4ParticleData> const& input){
-    if (input[2].pdgID == 11){return true;}
-    else {return false;}
-  };
-
-  // Filter function to get just negative pions
-  auto is_piMinus = [](std::vector<dd4pod::Geant4ParticleData> const& input){
-    if (input[2].pdgID == -211){return true;}
-    else {return false;}
-  };
-
-  // Define variables
-  auto d1 = d0.Define("Ethr",       Ethr,       {"mcparticles"})
-              .Define("Pthr",       Pthr,       {"mcparticles"})
-              .Define("nhits",      nhits,      {"EcalBarrelHits"})
-              .Define("EsimImg",    Esim,       {"EcalBarrelHits"})
-              .Define("EsimScFi",   Esim,       {"EcalBarrelScFiHits"})
-              .Define("Esim",       "EsimImg+EsimScFi")
-              .Define("fsam",       fsam,       {"Esim","Ethr"})
-              .Define("pid",        getpid,     {"mcparticles"})
-              .Define("dau",        getdau,     {"mcparticles"})
-              .Define("Esim_front", Esim_front, {"EcalBarrelHits"})
-              .Define("EOverP",     fEp,        {"Esim_front", "Pthr"})
-              ;
-
-  // Particle Filters
-  auto d_ele = d1.Filter(is_electron, {"mcparticles"});
-  auto d_pim = d1.Filter(is_piMinus,  {"mcparticles"});
-  
-  // Energy Deposit Filters
-  auto d_ele_rej = d_ele.Filter("Esim_front > " + to_string(rejectCut));
-  auto d_pim_rej = d_pim.Filter("Esim_front > " + to_string(rejectCut));
-
-  // Define Histograms
-  auto hEthr       = d1.Histo1D({"hEthr",        "Thrown Energy; Thrown Energy [GeV]; Events",                      100,  0.0,    7.5}, "Ethr");
-  auto hNhits      = d1.Histo1D({"hNhits",       "Number of hits per events; Number of hits; Events",               100,  0.0, 2000.0}, "nhits");
-  auto hEsim       = d1.Histo1D({"hEsim",        "Energy Deposit; Energy Deposit [GeV]; Events",                     10,  0.0,   0.05}, "Esim");
-  auto hfsam       = d1.Histo1D({"hfsam",        "Sampling Fraction; Sampling Fraction; Events",                    100,  0.0,    0.1}, "fsam");
-  auto hEsim_front = d1.Histo1D({"hEsim_front",  "Energy Deposit Front; Energy Deposit [GeV]; Events",               10,  0.0,   0.05}, "Esim_front");
-  addDetectorName(detector_name, hEthr.GetPtr());
-  addDetectorName(detector_name, hNhits.GetPtr());
-  addDetectorName(detector_name, hfsam.GetPtr());
-  addDetectorName(detector_name, hEsim_front.GetPtr());
-
-  auto hEsim_ele        = d_ele.Histo1D({"hEsim_ele",        "Energy Deposit Electron; Energy Deposit [GeV]; Events",            10,  0.0,    0.05}, "Esim");
-  auto hEsim_ele_front  = d_ele.Histo1D({"hEsim_ele_front",  "Energy Deposit Front Electron; Energy Deposit [GeV]; Events",      10,  0.0,    0.05}, "Esim_front");
-  auto hEsim_pim        = d_pim.Histo1D({"hEsim_pim",        "Energy Deposit Electron; Energy Deposit [GeV]; Events",            10,  0.0,    0.05}, "Esim");
-  auto hEsim_pim_front  = d_pim.Histo1D({"hEsim_pim_front",  "Energy Deposit Front Pion-; Energy Deposit [GeV]; Events",         10,  0.0,    0.05}, "Esim_front");
-  addDetectorName(detector_name, hEsim_ele.GetPtr());
-  addDetectorName(detector_name, hEsim_pim_front.GetPtr());
-  addDetectorName(detector_name, hEsim_pim.GetPtr());
-  addDetectorName(detector_name, hEsim_pim_front.GetPtr());
-
-  auto hEsim_ele_front_rej  = d_ele_rej.Histo1D({"hEsim_ele_front_rej",  "Energy Deposit Front Electron; Energy Deposit [GeV]; Events",      10,  0.0,    0.05}, "Esim_front");
-  auto hEsim_pim_front_rej  = d_pim_rej.Histo1D({"hEsim_pim_front_rej",  "Energy Deposit Front Pion-; Energy Deposit [GeV]; Events",         10,  0.0,    0.05}, "Esim_front");
-  addDetectorName(detector_name, hEsim_ele_front_rej.GetPtr());
-  addDetectorName(detector_name, hEsim_pim_front_rej.GetPtr()); 
-
-  auto hEpvp_ele = d_ele.Histo2D({"hEpvp_ele", "Energy Deposit 1st 4 Layers/P vs P; E/P; P [GeV]", 20, 0.0, 0.01, 20, 1.0, 7.0}, "EOverP", "Pthr");
-  auto hEpvp_pim = d_pim.Histo2D({"hEpvp_pim", "Energy Deposit 1st 4 Layers/P vs P; E/P; P [GeV]", 20, 0.0, 0.01, 20, 1.0, 7.0}, "EOverP", "Pthr");
-  addDetectorName(detector_name, hEpvp_ele.GetPtr());
-  addDetectorName(detector_name, hEpvp_pim.GetPtr());
-
-
-  TH1D* hElePurity_initial = (TH1D *)hEsim_ele -> Clone();
-  hElePurity_initial -> Divide(hEsim.GetPtr());
-  hElePurity_initial -> SetTitle("Electron/Pion Rejection");
-  addDetectorName(detector_name, hElePurity_initial);
-
-  TH1D* hElePurity_ele = (TH1D *)hEsim_ele_front -> Clone();
-  hElePurity_ele -> Divide(hEsim_front.GetPtr());
-  hElePurity_ele -> SetTitle("Electron/Pion Rejection : Electron");
-  addDetectorName(detector_name, hElePurity_ele);
-
-  TH1D* hElePurity_pim = (TH1D *)hEsim_pim_front -> Clone();
-  hElePurity_pim -> Divide(hEsim_front.GetPtr());
-  hElePurity_pim -> SetTitle("Electron/Pion Rejection : Pion Minus");
-  addDetectorName(detector_name, hElePurity_pim);
-
-  // Rejection
-  TH1D* hElePurity_rej = (TH1D *)hEsim_ele_front_rej -> Clone();
-  hElePurity_rej -> Add(hEsim_pim_front_rej.GetPtr());
-  hElePurity_rej -> SetTitle("Electron/Pion Rejection");
-  addDetectorName(detector_name, hElePurity_rej);
-
-  TH1D* hElePurity_ele_rej = (TH1D *)hEsim_ele_front_rej -> Clone();
-  hElePurity_ele_rej -> Divide(hElePurity_rej);
-  hElePurity_ele_rej -> SetTitle("Electron/Pion Rejection : Electron");
-  addDetectorName(detector_name, hElePurity_ele_rej);
-
-  TH1D* hElePurity_pim_rej = (TH1D *)hEsim_pim_front_rej -> Clone();
-  hElePurity_pim_rej -> Divide(hElePurity_rej);
-  hElePurity_pim_rej -> SetTitle("Electron/Pion Rejection : Pi Minus");
-  addDetectorName(detector_name, hElePurity_pim_rej);
-
-  // Event Counts
-  auto nevents_thrown      = d1.Count();
-  std::cout << "Number of Thrown Events: " << (*nevents_thrown) << "\n";
-
-  // Draw Histograms
-  TCanvas *c1 = new TCanvas("c1", "c1", 700, 500);
-  c1->SetLogy(1);
-  hEthr->GetYaxis()->SetTitleOffset(1.4);
-  hEthr->SetLineWidth(2);
-  hEthr->SetLineColor(kBlue);
-  hEthr->DrawClone();
-  c1->SaveAs("results/emcal_barrel_pions_electrons_Ethr.png");
-  c1->SaveAs("results/emcal_barrel_pions_electrons_Ethr.pdf");
-
-  TCanvas *c3 = new TCanvas("c3", "c3", 700, 500);
-  c3->SetLogy(1);
-  hEsim->GetYaxis()->SetTitleOffset(1.4);
-  hEsim->SetLineWidth(2);
-  hEsim->SetLineColor(kBlue);
-  hEsim->DrawClone();
-  c3->SaveAs("results/emcal_barrel_pions_electrons_Esim.png"); 
-  c3->SaveAs("results/emcal_barrel_pions_electrons_Esim.pdf");
-
-  TCanvas *c4 = new TCanvas("c4", "c4", 700, 500);
-  c4->SetLogy(1);
-  hEsim_ele->GetYaxis()->SetTitleOffset(1.4);
-  hEsim_ele->SetLineWidth(2);
-  hEsim_ele->SetLineColor(kBlue);
-  hEsim_ele->DrawClone();
-  c4->SaveAs("results/emcal_barrel_pions_electrons_Esim_ele.png");
-  c4->SaveAs("results/emcal_barrel_pions_electrons_Esim_ele.pdf");
-
-  TCanvas *c5 = new TCanvas("c5", "c5", 700, 500);
-  //c5->SetLogy(1);
-  hElePurity_initial->GetYaxis()->SetTitleOffset(1.4);
-  hElePurity_initial->SetLineWidth(2);
-  hElePurity_initial->SetLineColor(kBlue);
-  hElePurity_initial->DrawClone();
-  c5->SaveAs("results/emcal_barrel_pions_electrons_rejection_initial.png");
-  c5->SaveAs("results/emcal_barrel_pions_electrons_rejection_initial.pdf");
-
-  TCanvas *c6 = new TCanvas("c6", "c6", 700, 500);
-  //c6->SetLogy(1);
-  hElePurity_ele->GetYaxis()->SetTitleOffset(1.4);
-  hElePurity_ele->SetLineWidth(2);
-  hElePurity_ele->SetLineColor(kBlue);
-  hElePurity_ele->DrawClone();
-  hElePurity_ele_rej->SetLineWidth(2);
-  hElePurity_ele_rej->SetLineColor(kRed);
-  hElePurity_ele_rej->SetLineStyle(10);
-  hElePurity_ele_rej->DrawClone("Same");
-  c6->SaveAs("results/emcal_barrel_pions_electrons_rejection_ele.png");
-  c6->SaveAs("results/emcal_barrel_pions_electrons_rejection_ele.pdf");
-
-  auto leg = new TLegend(0.7, 0.8, 0.8, 0.9);
-  leg->AddEntry(hElePurity_initial, "Initial", "l");
-  leg->AddEntry(hElePurity_ele, "Final", "l");
-
-  TCanvas *c7 = new TCanvas("c7", "c7", 700, 500);
-  //c6->SetLogy(1);
-  hElePurity_pim->GetYaxis()->SetTitleOffset(1.4);
-  hElePurity_pim->SetLineWidth(2);
-  hElePurity_pim->SetLineColor(kBlue);
-  hElePurity_pim->DrawClone();
-  hElePurity_pim_rej->SetLineWidth(2);
-  hElePurity_pim_rej->SetLineColor(kRed);
-  hElePurity_pim_rej->SetLineStyle(10);
-  hElePurity_pim_rej->DrawClone("Same");
-  c7->SaveAs("results/emcal_barrel_pions_electrons_rejection_pim.png");
-  c7->SaveAs("results/emcal_barrel_pions_electrons_rejection_pim.pdf");
-
-  TCanvas *c8 = new TCanvas("c8", "c8", 700, 500);
-  //c6->SetLogy(1);
-  hEpvp_ele->GetYaxis()->SetTitleOffset(1.4);
-  hEpvp_ele->DrawClone("COLZ");
-  c8->SaveAs("results/emcal_barrel_pions_electrons_Epvp_ele.png");
-  c8->SaveAs("results/emcal_barrel_pions_electrons_Epvp_ele.pdf");
-
-  TCanvas *c9 = new TCanvas("c9", "c9", 700, 500);
-  //c6->SetLogy(1);
-  hEpvp_pim->GetYaxis()->SetTitleOffset(1.4);
-  hEpvp_pim->DrawClone("COLZ");
-  c9->SaveAs("results/emcal_barrel_pions_electrons_Epvp_pim.png");
-  c9->SaveAs("results/emcal_barrel_pions_electrons_Epvp_pim.pdf");
-
-}
diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_reader.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_reader.cxx
deleted file mode 100644
index a5536ad3..00000000
--- a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_electrons_reader.cxx
+++ /dev/null
@@ -1,125 +0,0 @@
-//////////////////////////////////////////////////////////////
-// EMCAL Barrel detector
-// Electron & Pion Minus dataset
-// M. Scott 05/2021
-//////////////////////////////////////////////////////////////
-#include "HepMC3/GenEvent.h"
-#include "HepMC3/Print.h"
-#include "HepMC3/ReaderAscii.h"
-#include "HepMC3/WriterAscii.h"
-
-#include "TH1F.h"
-#include "TStyle.h"
-#include <iostream>
-
-using namespace HepMC3;
-
-void emcal_barrel_pions_electrons_reader(double e_start = 0.0, double e_end = 30.0, const char* in_fname = "./data/emcal_barrel_uniform_pions_electrons.hepmc") {
-  // Setting for graphs
-  gROOT->SetStyle("Plain");
-  gStyle->SetOptFit(1);
-  gStyle->SetLineWidth(1);
-  gStyle->SetPadTickX(1);
-  gStyle->SetPadTickY(1);
-  gStyle->SetPadGridX(1);
-  gStyle->SetPadGridY(1);
-  gStyle->SetPadLeftMargin(0.14);
-  gStyle->SetPadRightMargin(0.17);
-
-  ReaderAscii hepmc_input(in_fname);
-  int events_parsed = 0;
-  GenEvent evt(Units::GEV, Units::MM);
-
-  // Histograms
-  TH1F* h_pions_electrons_energy = new TH1F("h_pions_electrons_energy", "pion energy;E [GeV];Events",         100, -0.5, 30.5);
-  TH1F* h_pions_electrons_eta    = new TH1F("h_pions_electrons_eta",    "pion #eta;#eta;Events",              100, -10.0, 10.0);
-  TH1F* h_pions_electrons_theta  = new TH1F("h_pions_electrons_theta",  "pion #theta;#theta [degree];Events", 100, -0.5, 180.5);
-  TH1F* h_pions_electrons_phi    = new TH1F("h_pions_electrons_phi",    "pion #phi;#phi [degree];Events",     100, -180.5, 180.5);
-  TH2F* h_pions_electrons_pzpt   = new TH2F("h_pions_electrons_pzpt",   "pion pt vs pz;pt [GeV];pz [GeV]",    100, -0.5, 30.5, 100, -30.5, 30.5);
-  TH2F* h_pions_electrons_pxpy   = new TH2F("h_pions_electrons_pxpy",   "pion px vs py;px [GeV];py [GeV]",    100, -30.5, 30.5, 100, -30.5, 30.5);
-  TH3F* h_pions_electrons_p      = new TH3F("h_pions_electrons_p",      "pion p;px [GeV];py [GeV];pz [GeV]",  100, -30.5, 30.5, 100, -30.5, 30.5, 100, -30.5, 30.5);
-
-  while (!hepmc_input.failed()) {
-    // Read event from input file
-    hepmc_input.read_event(evt);
-    // If reading failed - exit loop
-    if (hepmc_input.failed())
-      break;
-
-    for (const auto& v : evt.vertices()) {
-      for (const auto& p : v->particles_out()) {
-        if (p->pid() == 11) {
-          h_pions_electrons_energy->Fill(p->momentum().e());
-          h_pions_electrons_eta->Fill(p->momentum().eta());
-          h_pions_electrons_theta->Fill(p->momentum().theta() * TMath::RadToDeg());
-          h_pions_electrons_phi->Fill(p->momentum().phi() * TMath::RadToDeg());
-          h_pions_electrons_pzpt->Fill(TMath::Sqrt(p->momentum().px() * p->momentum().px() + p->momentum().py() * p->momentum().py()), p->momentum().pz());
-          h_pions_electrons_pxpy->Fill(p->momentum().px(), p->momentum().py());
-          h_pions_electrons_p->Fill(p->momentum().px(), p->momentum().py(), p->momentum().pz());
-        }
-      }
-    }
-    evt.clear();
-    events_parsed++;
-  }
-  std::cout << "Events parsed and written: " << events_parsed << std::endl;
-
-  TCanvas* c = new TCanvas("c", "c", 500, 500);
-  h_pions_electrons_energy->GetYaxis()->SetTitleOffset(1.8);
-  h_pions_electrons_energy->SetLineWidth(2);
-  h_pions_electrons_energy->SetLineColor(kBlue);
-  h_pions_electrons_energy->DrawClone();
-  c->SaveAs("results/input_emcal_barrel_pions_electrons_energy.png");
-  c->SaveAs("results/input_emcal_barrel_pions_electrons_energy.pdf");
-
-  TCanvas* c1 = new TCanvas("c1", "c1", 500, 500);
-  h_pions_electrons_eta->GetYaxis()->SetTitleOffset(1.9);
-  h_pions_electrons_eta->SetLineWidth(2);
-  h_pions_electrons_eta->SetLineColor(kBlue);
-  h_pions_electrons_eta->DrawClone();
-  c1->SaveAs("results/input_emcal_barrel_pions_electrons_eta.png");
-  c1->SaveAs("results/input_emcal_barrel_pions_electrons_eta.pdf");
-
-  TCanvas* c2 = new TCanvas("c2", "c2", 500, 500);
-  h_pions_electrons_theta->GetYaxis()->SetTitleOffset(1.8);
-  h_pions_electrons_theta->SetLineWidth(2);
-  h_pions_electrons_theta->SetLineColor(kBlue);
-  h_pions_electrons_theta->DrawClone();
-  c2->SaveAs("results/input_emcal_barrel_pions_electrons_theta.png");
-  c2->SaveAs("results/input_emcal_barrel_pions_electrons_theta.pdf");
-
-  TCanvas* c3 = new TCanvas("c3", "c3", 500, 500);
-  h_pions_electrons_phi->GetYaxis()->SetTitleOffset(1.8);
-  h_pions_electrons_phi->SetLineWidth(2);
-  h_pions_electrons_phi->GetYaxis()->SetRangeUser(0.0, h_pions_electrons_phi->GetMaximum() + 100.0);
-  h_pions_electrons_phi->SetLineColor(kBlue);
-  h_pions_electrons_phi->DrawClone();
-  c3->SaveAs("results/input_emcal_barrel_pions_electrons_phi.png");
-  c3->SaveAs("results/input_emcal_barrel_pions_electrons_phi.pdf");
-
-  TCanvas* c4 = new TCanvas("c4", "c4", 500, 500);
-  h_pions_electrons_pzpt->GetYaxis()->SetTitleOffset(1.4);
-  h_pions_electrons_pzpt->SetLineWidth(2);
-  h_pions_electrons_pzpt->SetLineColor(kBlue);
-  h_pions_electrons_pzpt->DrawClone("COLZ");
-  c4->SaveAs("results/input_emcal_barrel_pions_electrons_pzpt.png");
-  c4->SaveAs("results/input_emcal_barrel_pions_electrons_pzpt.pdf");
-
-  TCanvas* c5 = new TCanvas("c5", "c5", 500, 500);
-  h_pions_electrons_pxpy->GetYaxis()->SetTitleOffset(1.4);
-  h_pions_electrons_pxpy->SetLineWidth(2);
-  h_pions_electrons_pxpy->SetLineColor(kBlue);
-  h_pions_electrons_pxpy->DrawClone("COLZ");
-  c5->SaveAs("results/input_emcal_barrel_pions_electrons_pxpy.png");
-  c5->SaveAs("results/input_emcal_barrel_pions_electrons_pxpy.pdf");
-
-  TCanvas* c6 = new TCanvas("c6", "c6", 500, 500);
-  h_pions_electrons_p->GetYaxis()->SetTitleOffset(1.8);
-  h_pions_electrons_p->GetXaxis()->SetTitleOffset(1.6);
-  h_pions_electrons_p->GetZaxis()->SetTitleOffset(1.6);
-  h_pions_electrons_p->SetLineWidth(2);
-  h_pions_electrons_p->SetLineColor(kBlue);
-  h_pions_electrons_p->DrawClone();
-  c6->SaveAs("results/input_emcal_barrel_pions_electrons_p.png");
-  c6->SaveAs("results/input_emcal_barrel_pions_electrons_p.pdf");
-}
-- 
GitLab