File indexing completed on 2025-08-06 08:17:55
0001 #include "DumpJetMap.h"
0002
0003 #include <jetbase/Jet.h>
0004 #include <jetbase/JetMap.h>
0005
0006 #include <phool/PHIODataNode.h>
0007
0008 #include <climits>
0009 #include <map>
0010 #include <ostream>
0011 #include <string>
0012 #include <utility>
0013
0014 using MyNode_t = PHIODataNode<JetMap>;
0015
0016 DumpJetMap::DumpJetMap(const std::string &NodeName)
0017 : DumpObject(NodeName)
0018 {
0019 return;
0020 }
0021
0022 int DumpJetMap::process_Node(PHNode *myNode)
0023 {
0024 JetMap *jetmap = nullptr;
0025 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0026 if (thisNode)
0027 {
0028 jetmap = thisNode->getData();
0029 }
0030 if (jetmap)
0031 {
0032 JetMap::ConstIter jiter_beg = jetmap->begin();
0033 JetMap::ConstIter jiter_end = jetmap->end();
0034 *fout << "size: " << jetmap->size() << std::endl;
0035 *fout << "par: " << jetmap->get_par() << std::endl;
0036 *fout << "algo: " << jetmap->get_algo() << std::endl;
0037 for (JetMap::ConstIter jiter = jiter_beg; jiter != jiter_end; ++jiter)
0038 {
0039 *fout << "id: " << jiter->second->get_id() << std::endl;
0040 *fout << "px: " << jiter->second->get_px() << std::endl;
0041 *fout << "py: " << jiter->second->get_py() << std::endl;
0042 *fout << "pz: " << jiter->second->get_pz() << std::endl;
0043 *fout << "e: " << jiter->second->get_e() << std::endl;
0044 *fout << "p: " << jiter->second->get_p() << std::endl;
0045 *fout << "pt: " << jiter->second->get_pt() << std::endl;
0046 *fout << "et: " << jiter->second->get_et() << std::endl;
0047 *fout << "eta: " << jiter->second->get_eta() << std::endl;
0048 *fout << "phi: " << jiter->second->get_phi() << std::endl;
0049 *fout << "mass: " << jiter->second->get_mass() << std::endl;
0050 for (auto ic = 0; ic < UCHAR_MAX; ic++)
0051 {
0052 Jet::PROPERTY prop_id = static_cast<Jet::PROPERTY>(ic);
0053 if (jiter->second->has_property(prop_id))
0054 {
0055 *fout << "prop id: " << static_cast<unsigned int>(ic)
0056 << " value: " << jiter->second->get_property(prop_id)
0057 << std::endl;
0058 }
0059 }
0060 Jet::ConstIter jetbegin = jiter->second->begin_comp();
0061 Jet::ConstIter jetend = jiter->second->end_comp();
0062 for (Jet::ConstIter jetiter = jetbegin; jetiter != jetend; ++jetiter)
0063 {
0064 *fout << "src: " << jetiter->first << " value: " << jetiter->second << std::endl;
0065 }
0066 }
0067 }
0068 return 0;
0069 }