From 6326721038968a4d89d9b80caecaad6311533487 Mon Sep 17 00:00:00 2001 From: Marshall Scott <mbscott@anl.gov> Date: Mon, 26 Apr 2021 22:09:16 -0400 Subject: [PATCH] New dE and dE_res functions --- .../scripts/emcal_barrel_pions_analysis.cxx | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx index bdc92d07..04b59134 100644 --- a/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx +++ b/benchmarks/barrel_ecal/scripts/emcal_barrel_pions_analysis.cxx @@ -95,14 +95,36 @@ void emcal_barrel_pions_analysis(const char* input_fname = "sim_output/sim_emcal return result; }; + // Energy Resolution = Esampling - Ethrown + auto eResol = [](const std::vector<double>& sampled, const std::vector<double>& thrown) { + std::vector<double> result; + auto it_sam = sampled.cbegin(); + auto it_thr = thrown.cbegin(); + for (; it_sam != sampled.end() && it_thr != thrown.end(); ++it_sam, ++it_thr) { + result.push_back(*it_sam - *it_thr); + } + return result; + }; + + // Relative Energy Resolution = (Esampling - Ethrown)/Ethrown + auto eResol_rel = [](const std::vector<double>& sampled, const std::vector<double>& thrown) { + std::vector<double> result; + auto it_sam = sampled.cbegin(); + auto it_thr = thrown.cbegin(); + for (; it_sam != sampled.end() && it_thr != thrown.end(); ++it_sam, ++it_thr) { + result.push_back((*it_sam - *it_thr) / *it_sam); + } + return result; + }; + // Define variables auto d1 = d0.Define("Ethr", Ethr, {"mcparticles"}) - .Define("nhits", nhits, {"EcalBarrelHits"}) - .Define("Esim", Esim, {"EcalBarrelHits"}) + .Define("nhits", nhits, {"EcalBarrelHits"}) + .Define("Esim", Esim, {"EcalBarrelHits"}) //.Define("fsam", fsam, {"Esim","Ethr"}) - .Define("fsam", fsam2, {"Esim","Ethr"}) - .Define("dE", "Ethr-Esim") - .Define("dE_rel", "(Ethr - Esim)/Esim") + .Define("fsam", fsam2, {"Esim","Ethr"}) + .Define("dE", eResol, {"Esim", "Ethr"}) + .Define("dE_rel", eResol_rel, {"Esim", "Ethr"}) ; // Define Histograms -- GitLab