File indexing completed on 2025-08-06 08:17:47
0001 #include "TrackJetInput.h"
0002
0003 #include "Jet.h"
0004 #include "Jetv2.h"
0005
0006 #include <trackbase_historic/SvtxTrack.h>
0007 #include <trackbase_historic/SvtxTrackMap.h>
0008
0009 #include <phool/getClass.h>
0010
0011
0012 #include <iostream>
0013 #include <map> // for _Rb_tree_const_iterator
0014 #include <utility> // for pair
0015 #include <vector>
0016
0017 TrackJetInput::TrackJetInput(Jet::SRC input, const std::string &nodename)
0018 : m_NodeName(nodename)
0019 , _input(input)
0020 {
0021 }
0022
0023 void TrackJetInput::identify(std::ostream &os)
0024 {
0025 os << " TrackJetInput: SvtxTrackMap to Jet::TRACK" << std::endl;
0026 }
0027
0028 std::vector<Jet *> TrackJetInput::get_input(PHCompositeNode *topNode)
0029 {
0030 if (Verbosity() > 0)
0031 {
0032 std::cout << "TrackJetInput::process_event -- entered" << std::endl;
0033 }
0034
0035
0036
0037 SvtxTrackMap *trackmap = findNode::getClass<SvtxTrackMap>(topNode, m_NodeName);
0038 if (!trackmap)
0039 {
0040 return std::vector<Jet *>();
0041 }
0042
0043 std::vector<Jet *> pseudojets;
0044 for (SvtxTrackMap::ConstIter iter = trackmap->begin();
0045 iter != trackmap->end();
0046 ++iter)
0047 {
0048 const SvtxTrack *track = iter->second;
0049
0050 Jet *jet = new Jetv2();
0051 jet->set_px(track->get_px());
0052 jet->set_py(track->get_py());
0053 jet->set_pz(track->get_pz());
0054 jet->set_e(track->get_p());
0055 jet->insert_comp(Jet::TRACK, track->get_id());
0056 pseudojets.push_back(jet);
0057 }
0058
0059 if (Verbosity() > 0)
0060 {
0061 std::cout << "TrackJetInput::process_event -- exited" << std::endl;
0062 }
0063
0064 return pseudojets;
0065 }