File indexing completed on 2024-09-28 07:03:01
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"] = new TH1I("Trajectories_trajectories_per_event", "TRACKING Reconstructed trajectories/event;Ntrajectories", 201, -0.5, 200.5);
0025 hist1D["Trajectories_time"] = new TH1D("Trajectories_time", "TRACKING reconstructed particle time;time (ns)", 200, -100.0, 100.0);
0026 hist2D["Trajectories_xy"] = new TH2D("Trajectories_xy", "TRACKING reconstructed position Y vs. X;x;y", 100, -1000.0, 1000.0, 100, -1000., 1000.0);
0027 hist1D["Trajectories_z"] = new TH1D("Trajectories_z", "TRACKING reconstructed position Z;z", 200, -50.0, 50.0);
0028
0029
0030 hist2D["Trajectories_xy"]->SetOption("colz");
0031 }
0032
0033
0034
0035
0036 void TRACKINGcheckProcessor::ProcessSequential(const std::shared_ptr<const JEvent>& event) {
0037 auto Trajectories = event->Get<ActsExamples::Trajectories>("CentralCKFActsTrajectories");
0038
0039
0040
0041
0042 hist1D["Trajectories_trajectories_per_event"]->Fill(Trajectories.size());
0043
0044 for( const auto *traj : Trajectories ){
0045 for( auto entryIndex : traj->tips() ){
0046 if( ! traj->hasTrackParameters( entryIndex) ) continue;
0047 auto trackparams = traj->trackParameters( entryIndex );
0048
0049 auto pos = trackparams.position(Acts::GeometryContext());
0050 auto t = trackparams.time();
0051
0052 hist1D["Trajectories_time"]->Fill( t );
0053 hist2D["Trajectories_xy"]->Fill( pos.x(), pos.y());
0054 hist1D["Trajectories_z"]->Fill( pos.z() );
0055 }
0056 }
0057 }
0058
0059
0060
0061
0062 void TRACKINGcheckProcessor::FinishWithGlobalRootLock() {
0063
0064
0065
0066 }