Skip to content
Snippets Groups Projects
Commit af5f691e authored by Maria Zurek's avatar Maria Zurek Committed by Jihee Kim
Browse files

Convert vectors to scalars in dataframe functions

parent 8096e970
No related branches found
No related tags found
1 merge request!25Convert vectors to scalars in dataframe functions
...@@ -31,7 +31,7 @@ collect_results:barrel_ecal: ...@@ -31,7 +31,7 @@ collect_results:barrel_ecal:
extends: .det_benchmark extends: .det_benchmark
stage: collect stage: collect
needs: needs:
- ["bench:emcal_barrel_pions","sim:emcal_barrel_electrons"] - ["bench:emcal_barrel_pions","bench:emcal_barrel_electrons"]
script: script:
- ls -lrht - ls -lrht
...@@ -37,9 +37,9 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/sim_e ...@@ -37,9 +37,9 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/sim_e
// Thrown Energy [GeV] // Thrown Energy [GeV]
auto Ethr = [](std::vector<dd4pod::Geant4ParticleData> const& input) { auto Ethr = [](std::vector<dd4pod::Geant4ParticleData> const& input) {
std::vector<double> result; auto p = input[2];
result.push_back(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)); auto energy = TMath::Sqrt(p.psx * p.psx + p.psy * p.psy + p.psz * p.psz + p.mass * p.mass);
return result; return energy;
}; };
// Number of hits // Number of hits
...@@ -47,23 +47,15 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/sim_e ...@@ -47,23 +47,15 @@ void emcal_barrel_electrons_analysis(const char* input_fname = "sim_output/sim_e
// Energy deposition [GeV] // Energy deposition [GeV]
auto Esim = [](const std::vector<dd4pod::CalorimeterHitData>& evt) { auto Esim = [](const std::vector<dd4pod::CalorimeterHitData>& evt) {
std::vector<double> result;
auto total_edep = 0.0; auto total_edep = 0.0;
for (const auto& i: evt) for (const auto& i: evt)
total_edep += i.energyDeposit; total_edep += i.energyDeposit;
result.push_back(total_edep); return total_edep;
return result;
}; };
// Sampling fraction = Esampling / Ethrown // Sampling fraction = Esampling / Ethrown
auto fsam = [](const std::vector<double>& sampled, auto fsam = [](const double sampled, const double thrown) {
const std::vector<double>& thrown) { return sampled / thrown;
std::vector<double> result;
for (const auto& E1 : thrown) {
for (const auto& E2 : sampled)
result.push_back(E2 / E1);
}
return result;
}; };
// Define variables // Define variables
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment