File indexing completed on 2025-07-13 07:54:05
0001
0002
0003
0004
0005
0006 #include <Acts/Geometry/GeometryContext.hpp>
0007 #include <ActsExamples/EventData/Trajectories.hpp>
0008 #include <JANA/JApplication.h>
0009 #include <TDirectory.h>
0010 #include <vector>
0011
0012 #include "TRACKINGcheckProcessor.h"
0013 #include "services/rootfile/RootFile_service.h"
0014
0015
0016
0017
0018 void TRACKINGcheckProcessor::InitWithGlobalRootLock() {
0019
0020 auto rootfile_svc = GetApplication()->GetService<RootFile_service>();
0021 auto* rootfile = rootfile_svc->GetHistFile();
0022 rootfile->mkdir("TRACKING")->cd();
0023
0024 hist1D["Trajectories_trajectories_per_event"] =
0025 new TH1I("Trajectories_trajectories_per_event",
0026 "TRACKING Reconstructed trajectories/event;Ntrajectories", 201, -0.5, 200.5);
0027 hist1D["Trajectories_time"] = new TH1D(
0028 "Trajectories_time", "TRACKING reconstructed particle time;time (ns)", 200, -100.0, 100.0);
0029 hist2D["Trajectories_xy"] =
0030 new TH2D("Trajectories_xy", "TRACKING reconstructed position Y vs. X;x;y", 100, -1000.0,
0031 1000.0, 100, -1000., 1000.0);
0032 hist1D["Trajectories_z"] =
0033 new TH1D("Trajectories_z", "TRACKING reconstructed position Z;z", 200, -50.0, 50.0);
0034
0035
0036 hist2D["Trajectories_xy"]->SetOption("colz");
0037 }
0038
0039
0040
0041
0042 void TRACKINGcheckProcessor::ProcessSequential(const std::shared_ptr<const JEvent>& event) {
0043 auto Trajectories = event->Get<ActsExamples::Trajectories>("CentralCKFActsTrajectories");
0044
0045
0046
0047
0048 hist1D["Trajectories_trajectories_per_event"]->Fill(Trajectories.size());
0049
0050 for (const auto* traj : Trajectories) {
0051 for (auto entryIndex : traj->tips()) {
0052 if (!traj->hasTrackParameters(entryIndex)) {
0053 continue;
0054 }
0055 auto trackparams = traj->trackParameters(entryIndex);
0056
0057 auto pos = trackparams.position(Acts::GeometryContext());
0058 auto t = trackparams.time();
0059
0060 hist1D["Trajectories_time"]->Fill(t);
0061 hist2D["Trajectories_xy"]->Fill(pos.x(), pos.y());
0062 hist1D["Trajectories_z"]->Fill(pos.z());
0063 }
0064 }
0065 }
0066
0067
0068
0069
0070 void TRACKINGcheckProcessor::FinishWithGlobalRootLock() {
0071
0072
0073 }