Back to home page

sPhenix code displayed by LXR

 
 

    


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);  // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast)
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 }