-
Whitney Armstrong authored
new file: bin/crop_views modified: bin/download_views new file: ecal/scripts/crystal_cal_electrons.cxx new file: ecal/scripts/rdf_test.cxx
Whitney Armstrong authorednew file: bin/crop_views modified: bin/download_views new file: ecal/scripts/crystal_cal_electrons.cxx new file: ecal/scripts/rdf_test.cxx
rdf_test.cxx 1.83 KiB
#include "ROOT/RDataFrame.hxx"
#include <iostream>
#include "dd4pod/Geant4ParticleCollection.h"
//namespace edm4hep {
//
//std::vector<float> pt (std::vector<MCParticleData> const& in){
// std::vector<float> result;
// for (size_t i = 0; i < in.size(); ++i) {
// result.push_back(std::sqrt(in[i].momentum.x * in[i].momentum.x + in[i].momentum.y * in[i].momentum.y));
// }
// return result;
//}
//
//std::vector<float> eta(std::vector<MCParticleData> const& in){
// std::vector<float> result;
// ROOT::Math::PxPyPzMVector lv;
// for (size_t i = 0; i < in.size(); ++i) {
// lv.SetCoordinates(in[i].momentum.x, in[i].momentum.y, in[i].momentum.z, in[i].mass);
// result.push_back(lv.Eta());
// }
// return result;
//}
//
//std::vector<float> cos_theta(std::vector<MCParticleData> const& in){
// std::vector<float> result;
// ROOT::Math::PxPyPzMVector lv;
// for (size_t i = 0; i < in.size(); ++i) {
// lv.SetCoordinates(in[i].momentum.x, in[i].momentum.y, in[i].momentum.z, in[i].mass);
// result.push_back(cos(lv.Theta()));
// }
// return result;
//}
//
//}
std::vector<float> pt (std::vector<dd4pod::Geant4ParticleData> const& in){
std::vector<float> result;
for (size_t i = 0; i < in.size(); ++i) {
result.push_back(std::sqrt(in[i].psx * in[i].psx + in[i].psy * in[i].psy));
}
return result;
}
int rdf_test() {
ROOT::EnableImplicitMT();
ROOT::RDataFrame df("events", "sim_barrel_clusters.root");
auto df2 =
df.Define("MCParticles_pt", pt, {"mcparticles"});
//.Define("MCParticles_eta", edm4hep::eta, {"mcparticles"})
//.Define("MCParticles_cosTheta", edm4hep::cos_theta, {"mcparticles"});
std::string outfilename = "rdf_test.root";
df2.Snapshot("events", outfilename,
{
"MCParticles_pt",
"mcparticles"
});
return 0;
}