File indexing completed on 2025-08-06 08:19:07
0001
0002
0003
0004
0005
0006 #include "DSTTrackInfoReader.h"
0007 #include <fun4all/Fun4AllReturnCodes.h>
0008 #include <g4main/PHG4Hit.h>
0009 #include <g4main/PHG4HitContainer.h>
0010 #include <g4main/PHG4Particle.h>
0011 #include <g4main/PHG4TruthInfoContainer.h>
0012 #include <intt/InttClusterizer.h>
0013 #include <micromegas/MicromegasDefs.h>
0014 #include <phool/PHCompositeNode.h>
0015 #include <phool/PHNodeIterator.h>
0016 #include <phool/getClass.h>
0017 #include <trackbase/InttDefs.h>
0018 #include <trackbase/MvtxDefs.h>
0019 #include <trackbase/TpcDefs.h>
0020 #include <trackbase/TrkrDefs.h>
0021 #include <trackbase/TrkrClusterContainer.h>
0022 #include <trackbase/TrkrClusterContainerv4.h>
0023 #include <trackbase/TrkrClusterHitAssoc.h>
0024 #include <trackbase/TrkrClusterv4.h>
0025 #include <trackbase/TrkrHit.h>
0026 #include <trackbase/TrkrHitSet.h>
0027 #include <trackbase/TrkrHitSetContainer.h>
0028 #include <trackbase/TrkrHitTruthAssoc.h>
0029 #include <trackbase_historic/SvtxTrack.h>
0030 #include <trackbase_historic/SvtxTrackMap.h>
0031 #include <trackbase_historic/SvtxTrackMap_v2.h>
0032 #include <trackbase_historic/SvtxTrackState_v1.h>
0033 #include <trackbase_historic/SvtxTrack_v4.h>
0034 #include <trackbase_historic/TrackSeedContainer_v1.h>
0035
0036
0037 #include <algorithm>
0038 #include <bitset>
0039 #include <cassert>
0040 #include <iostream>
0041 #include <numeric>
0042
0043
0044
0045
0046 DSTTrackInfoReader::DSTTrackInfoReader(const std::string& name)
0047 : SubsysReco(name)
0048 {
0049 }
0050
0051
0052 int DSTTrackInfoReader::InitRun(PHCompositeNode* topNode)
0053 {
0054
0055
0056
0057
0058
0059
0060
0061
0062 m_track_info_container = findNode::getClass<TrackInfoContainer_v1>(topNode, "TrackInfoContainer");
0063
0064
0065
0066
0067
0068
0069
0070
0071 return Fun4AllReturnCodes::EVENT_OK;
0072 }
0073
0074
0075 int DSTTrackInfoReader::process_event(PHCompositeNode* topNode)
0076 {
0077
0078
0079 auto res = load_nodes(topNode);
0080
0081
0082 if (res != Fun4AllReturnCodes::EVENT_OK)
0083 {
0084 return res;
0085 }
0086 evaluate_track_info();
0087
0088 m_track_info_container->Reset();
0089
0090 return Fun4AllReturnCodes::EVENT_OK;
0091 }
0092
0093
0094 int DSTTrackInfoReader::load_nodes(PHCompositeNode* topNode)
0095 {
0096
0097
0098
0099 m_track_info_container = findNode::getClass<TrackInfoContainer_v1>(topNode, "TrackInfoContainer");
0100
0101 return Fun4AllReturnCodes::EVENT_OK;
0102 }
0103
0104 void DSTTrackInfoReader::evaluate_track_info()
0105 {
0106 if (Verbosity() > 1)
0107 {
0108 for (int iTrk = 0; iTrk < (int) m_track_info_container->size(); iTrk++)
0109 {
0110 std::cout << "size: " << m_track_info_container->size() << std::endl;
0111 std::cout << "hitbitmap: " << (m_track_info_container->get_trackinfo(iTrk))->get_hitbitmap() << std::endl;
0112 std::cout << "crossing: " << (m_track_info_container->get_trackinfo(iTrk))->get_crossing() << std::endl;
0113 std::cout << "chi^2: " << (m_track_info_container->get_trackinfo(iTrk))->get_chisq() << std::endl;
0114 std::cout << "NDF: " << unsigned((m_track_info_container->get_trackinfo(iTrk))->get_ndf()) << std::endl;
0115 }
0116 }
0117 }