From f7acbfacdb5209055167a4167f3b7eda2bb78b3f Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wouter.deconinck@umanitoba.ca> Date: Fri, 17 Sep 2021 02:24:06 +0000 Subject: [PATCH] Add RomanPot and OffMTracker particles. --- benchmarks/far_forward/far_forward_protons.sh | 6 +++ .../options/far_forward_reconstruction.py | 14 +++++- .../scripts/print_far_forward_protons.cxx | 45 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 benchmarks/far_forward/scripts/print_far_forward_protons.cxx diff --git a/benchmarks/far_forward/far_forward_protons.sh b/benchmarks/far_forward/far_forward_protons.sh index a319809f..494215c0 100644 --- a/benchmarks/far_forward/far_forward_protons.sh +++ b/benchmarks/far_forward/far_forward_protons.sh @@ -108,6 +108,12 @@ mkdir -p results/far_forward/B0 mkdir -p results/far_forward/RomanPot mkdir -p results/far_forward/OffMTracker +root -b -q "benchmarks/far_forward/scripts/print_far_forward_protons.cxx(\"${JUGGLER_REC_FILE}\")" +if [[ "$?" -ne "0" ]] ; then + echo "ERROR running root script" + exit 1 +fi + root -b -q "benchmarks/far_forward/scripts/rec_far_forward_protons.cxx(\"${JUGGLER_REC_FILE}\")" if [[ "$?" -ne "0" ]] ; then echo "ERROR running root script" diff --git a/benchmarks/far_forward/options/far_forward_reconstruction.py b/benchmarks/far_forward/options/far_forward_reconstruction.py index c03d7c5f..3c63c9bf 100644 --- a/benchmarks/far_forward/options/far_forward_reconstruction.py +++ b/benchmarks/far_forward/options/far_forward_reconstruction.py @@ -24,6 +24,8 @@ from Configurables import Jug__Reco__TrackerSourcesLinker as TrackerSourcesLinke #from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker from Configurables import Jug__Reco__TrackParamTruthInit as TrackParamTruthInit +from Configurables import Jug__Reco__FarForwardParticles as FarForwardParticles + from Configurables import Jug__Reco__TrackFindingAlgorithm as TrackFindingAlgorithm from Configurables import Jug__Reco__ParticlesFromTrackFit as ParticlesFromTrackFit from Configurables import Jug__Base__InputCopier_dd4pod__Geant4ParticleCollection_dd4pod__Geant4ParticleCollection_ as MCCopier @@ -62,6 +64,11 @@ ffi_romanpot_reco = TrackerHitReconstruction("ffi_romanpot_reco", outputHitCollection = "ForwardRomanPotRecHits") algorithms.append(ffi_romanpot_reco) +ffi_romanpot_parts = FarForwardParticles("ffi_romanpot_parts", + inputCollection = ffi_romanpot_reco.outputHitCollection, + outputCollection = "ForwardRomanPotParticles") +algorithms.append(ffi_romanpot_parts) + ## Off momentum tracker ffi_offmtracker_digi = TrackerDigi("ffi_offmtracker_digi", inputHitCollection = "ForwardOffMTrackerHits", @@ -71,9 +78,14 @@ algorithms.append(ffi_offmtracker_digi) ffi_offmtracker_reco = TrackerHitReconstruction("ffi_offmtracker_reco", inputHitCollection = ffi_offmtracker_digi.outputHitCollection, - outputHitCollection = "ForwardOffMTrackerRedHits") + outputHitCollection = "ForwardOffMTrackerRecHits") algorithms.append(ffi_offmtracker_reco) +ffi_offmtracker_parts = FarForwardParticles("ffi_offmtracker_parts", + inputCollection = ffi_offmtracker_reco.outputHitCollection, + outputCollection = "ForwardOffMTrackerParticles") +algorithms.append(ffi_offmtracker_parts) + ## B0 tracker trk_b0_digi = TrackerDigi("trk_b0_digi", inputHitCollection="B0TrackerHits", diff --git a/benchmarks/far_forward/scripts/print_far_forward_protons.cxx b/benchmarks/far_forward/scripts/print_far_forward_protons.cxx new file mode 100644 index 00000000..0fbbf60f --- /dev/null +++ b/benchmarks/far_forward/scripts/print_far_forward_protons.cxx @@ -0,0 +1,45 @@ +#include "ROOT/RDataFrame.hxx" +#include "TCanvas.h" +#include "TLegend.h" +#include "TH1D.h" +#include "TProfile.h" + +#include <iostream> + +R__LOAD_LIBRARY(libeicd.so) +R__LOAD_LIBRARY(libDD4pod.so) +#include "dd4pod/Geant4ParticleCollection.h" +#include "eicd/TrackParametersCollection.h" +#include "eicd/ClusterCollection.h" +#include "eicd/ClusterData.h" +#include "eicd/TrackerHitCollection.h" + +using ROOT::RDataFrame; +using namespace ROOT::VecOps; + +int print_far_forward_protons(const char* fname = "topside/rec_far_forward_protons.root") +{ + ROOT::RDataFrame df("events", fname); + + auto df0 = df.Range(10); + + auto d1 = df0.Display( + { + "ForwardRomanPotParticles.p.x", + "ForwardRomanPotParticles.p.y", + "ForwardRomanPotParticles.p.z" + } + ); + auto d2 = df0.Display( + { + "ForwardOffMTrackerParticles.p.x", + "ForwardOffMTrackerParticles.p.y", + "ForwardOffMTrackerParticles.p.z" + } + ); + + d1->Print(); + d2->Print(); + + return 0; +} -- GitLab