diff --git a/tracking/central_electrons.sh b/tracking/central_electrons.sh index 376135cb8907357cb9fa1aee6c09489159e40316..61a81c4c3f3398b4768232ead83a9415dfefe63f 100644 --- a/tracking/central_electrons.sh +++ b/tracking/central_electrons.sh @@ -47,6 +47,11 @@ npsim --runType batch \ --compactFile ${JUGGLER_DETECTOR}.xml \ --inputFiles ../${JUGGLER_FILE_NAME_TAG}.hepmc \ --outputFile ${JUGGLER_SIM_FILE} +if [[ "$?" -ne "0" ]] ; then + echo "ERROR running script" + exit 1 +fi + # Need to figure out how to pass file name to juggler from the commandline xenv -x ${JUGGLER_INSTALL_PREFIX}/Juggler.xenv gaudirun.py ../tracking/options/tracker_reconstruction.py @@ -59,6 +64,11 @@ ls -l popd pwd -mkdir -p results -cp topside/${JUGGLER_REC_FILE} results/. +mkdir -p results/tracking + +root -b -q "tracking/scripts/rec_central_electrons.cxx(\"${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE}\")" + +if [[ "${JUGGLER_N_EVENTS}" -lt "500" ]] ; then +cp ${JUGGLER_DETECTOR}/${JUGGLER_REC_FILE} results/. +fi diff --git a/tracking/options/tracker_reconstruction.py b/tracking/options/tracker_reconstruction.py index 12260e4f30756ae23cd6b7d10f96908bbe2df46b..1fec0a4afc6b908606ef7441c484a2976cbb744a 100644 --- a/tracking/options/tracker_reconstruction.py +++ b/tracking/options/tracker_reconstruction.py @@ -91,6 +91,12 @@ trk_find_alg = TrackFindingAlgorithm("trk_find_alg", outputTrajectories="trajectories", OutputLevel=DEBUG) +trk_find_alg1 = TrackFindingAlgorithm("trk_find_alg1", + inputSourceLinks="BarrelTrackSourceLinks", + inputInitialTrackParameters= "InitTrackParamsFromClusters", + outputTrajectories="trajectories1", + OutputLevel=DEBUG) + parts_from_fit = ParticlesFromTrackFit("parts_from_fit", inputTrajectories="trajectories", outputParticles="ReconstructedParticles", @@ -120,18 +126,21 @@ out.outputCommands = ["keep *", "drop InitTrackParams", "drop trajectories", "drop outputSourceLinks", - "drop outputInitialTrackParameters" + "drop outputInitialTrackParameters", + "drop mcparticles" ] ApplicationMgr( TopAlg = [podioinput, - #copier, trkcopier, + copier, trkcopier, ecal_digi,ecal_reco, simple_cluster, ufsd_digi, trackerhit, sourcelinker, cluster_init, trackpartruth, - trk_find_alg, parts_from_fit, + trk_find_alg, + #trk_find_alg1, + parts_from_fit, out ], EvtSel = 'NONE', diff --git a/tracking/scripts/rec_central_electrons.cxx b/tracking/scripts/rec_central_electrons.cxx index accea3f0e8fb3115d3e6bdaf888eac8a6fc87ab5..01413ab5b1695f4a9f3bd7ad638a077ec571d2c6 100644 --- a/tracking/scripts/rec_central_electrons.cxx +++ b/tracking/scripts/rec_central_electrons.cxx @@ -6,6 +6,9 @@ #include "eicd/ClusterCollection.h" #include "eicd/ClusterData.h" +using ROOT::RDataFrame; +using namespace ROOT::VecOps; + //namespace edm4hep { // //std::vector<float> pt (std::vector<MCParticleData> const& in){ @@ -54,9 +57,6 @@ std::vector<float> pt (std::vector<dd4pod::Geant4ParticleData> const& in){ return result; } -using ROOT::RDataFrame; -using namespace ROOT::VecOps; - auto momentum = [](std::vector<ROOT::Math::PxPyPzMVector> const& in) { std::vector<double> result; for (size_t i = 0; i < in.size(); ++i) { @@ -81,8 +81,8 @@ auto fourvec = [](ROOT::VecOps::RVec<dd4pod::Geant4ParticleData> const& in) { return result; }; - -int rec_central_electrons(const char* fname = "topside/rec_central_electrons.root") { +int rec_central_electrons(const char* fname = "topside/rec_central_electrons.root") +{ ROOT::EnableImplicitMT(); ROOT::RDataFrame df("events", fname); @@ -94,8 +94,8 @@ int rec_central_electrons(const char* fname = "topside/rec_central_electrons.roo .Define("nTracks", "outputTrackParameters.size()") .Define("p_track", p_track, {"outputTrackParameters"}) .Define("delta_p", - [](const std::vector<double> &tracks, - const std::vector<double> &thrown) { + [](const std::vector<double>& tracks, + const std::vector<double>& thrown) { std::vector<double> res; for (const auto &p1 : thrown) { for (const auto &p2 : tracks) { @@ -113,13 +113,16 @@ int rec_central_electrons(const char* fname = "topside/rec_central_electrons.roo auto c = new TCanvas(); h_nTracks->DrawCopy(); - c->SaveAs("results/rec_central_electrons_nTracks.png"); + c->SaveAs("results/tracking/rec_central_electrons_nTracks.png"); + c->SaveAs("results/tracking/rec_central_electrons_nTracks.pdf"); h_pTracks->DrawCopy(); - c->SaveAs("results/rec_central_electrons_pTracks.png"); + c->SaveAs("results/tracking/rec_central_electrons_pTracks.png"); + c->SaveAs("results/tracking/rec_central_electrons_pTracks.pdf"); h_delta_p->DrawCopy(); - c->SaveAs("results/rec_central_electrons_delta_p.png"); + c->SaveAs("results/tracking/rec_central_electrons_delta_p.png"); + c->SaveAs("results/tracking/rec_central_electrons_delta_p.pdf"); return 0; }