Skip to content
Snippets Groups Projects

tcs_tests.cxx: plot theta in mrad for various FF detectors

Merged Wouter Deconinck requested to merge ff-theta-for-detectors into master
1 file
+ 20
9
Compare changes
  • Side-by-side
  • Inline
@@ -28,23 +28,34 @@ void tcs_tests(const char* fname = "rec_tcs.root"){
ROOT::EnableImplicitMT();
ROOT::RDataFrame df("events", fname);
auto ff_theta_mrad = [] (
const std::vector<eic::ReconstructedParticle>& v,
const size_t status
) {
std::vector<float> theta;
for (const auto& p: v) {
if (p.status == status) {
theta.push_back(1000. * p.direction.theta);
}
}
};
auto df0 = df.Define("n_parts", "ReconstructedParticles.size()")
.Define("isQ2gt1", "InclusiveKinematicsTruth.Q2 > 1.0")
.Define("n_Q2gt1", "isQ2gt1.size()")
.Define("theta_mrad", "1000. * ReconstructedFFParticles.direction.theta")
.Define("isFFB0", "ReconstructedFFParticles.status == 1")
.Define("isFFRP", "ReconstructedFFParticles.status == 2")
.Define("isFFOMD", "ReconstructedFFParticles.status == 3")
.Define("isFFZDC", "ReconstructedFFParticles.status == 4")
.Define("ff_theta_mrad_B0", ff_theta_mrad, {"ReconstructedFFParticles", "1"})
.Define("ff_theta_mrad_RP", ff_theta_mrad, {"ReconstructedFFParticles", "2"})
.Define("ff_theta_mrad_OMD", ff_theta_mrad, {"ReconstructedFFParticles", "3"})
.Define("ff_theta_mrad_ZDC", ff_theta_mrad, {"ReconstructedFFParticles", "4"})
;
auto h_n_parts = df0.Histo1D({"h_n_parts", "; h_n_parts n", 10, 0, 10}, "n_parts");
auto h_Q2 = df0.Histo1D({"h_Q2", "; Q^{2} [GeV^{2}/c^{2}]", 100, 0, 30}, "InclusiveKinematicsTruth.Q2");
auto h_FF = df0.Histo1D({"h_FF", "; FF status", 10, -0.5, 9.5}, "ReconstructedFFParticles.status");
auto h_FF_B0 = df0.Filter("isFFB0").Histo1D({"h_FF_B0", "; FF B0 Theta [mrad]", 10, 0.0, 25.0}, "theta_mrad");
auto h_FF_RP = df0.Filter("isFFRP").Histo1D({"h_FF_RP", "; FF RP Theta [mrad]", 10, 0.0, 25.0}, "theta_mrad");
auto h_FF_OMD = df0.Filter("isFFOMD").Histo1D({"h_FF_OMD", "; FF OMD Theta [mrad]", 10, 0.0, 25.0}, "theta_mrad");
auto h_FF_ZDC = df0.Filter("isFFZDC").Histo1D({"h_FF_ZDC", "; FF ZDC Theta [mrad]", 10, 0.0, 25.0}, "theta_mrad");
auto h_FF_B0 = df0.Histo1D({"h_FF_B0", "; FF B0 Theta [mrad]", 100, 0.0, 25.0}, "ff_theta_mrad_B0");
auto h_FF_RP = df0.Histo1D({"h_FF_RP", "; FF RP Theta [mrad]", 100, 0.0, 25.0}, "ff_theta_mrad_RP");
auto h_FF_OMD = df0.Histo1D({"h_FF_OMD", "; FF OMD Theta [mrad]", 100, 0.0, 25.0}, "ff_theta_mrad_OMD");
auto h_FF_ZDC = df0.Histo1D({"h_FF_ZDC", "; FF ZDC Theta [mrad]", 100, 0.0, 25.0}, "ff_theta_mrad_ZDC");
auto n_Q2gt1 = df0.Mean("n_Q2gt1");
auto n_parts = df0.Mean("n_parts");
Loading