diff --git a/benchmarks/far_forward/far_forward_protons.sh b/benchmarks/far_forward/far_forward_protons.sh index a319809f12de2daee06c7befd0b826927ef42bf0..494215c0becc9e70cf496e129828b0e419705ec3 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 c03d7c5ff6d8bbcbc348378a07fd88c120ac6231..3c63c9bf430a157a2558c419d04063262e4017e6 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 0000000000000000000000000000000000000000..0fbbf60f500cc2cbdd1bb35e45ff4b0297ea9dc0 --- /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; +}