Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:55

0001 #include "DumpGlobalVertexMap.h"
0002 
0003 #include <globalvertex/GlobalVertex.h>
0004 #include <globalvertex/GlobalVertexMap.h>
0005 
0006 #include <phool/PHIODataNode.h>
0007 
0008 #include <map>
0009 #include <ostream>
0010 #include <string>
0011 #include <utility>
0012 
0013 using MyNode_t = PHIODataNode<GlobalVertexMap>;
0014 
0015 DumpGlobalVertexMap::DumpGlobalVertexMap(const std::string &NodeName)
0016   : DumpObject(NodeName)
0017 {
0018   return;
0019 }
0020 
0021 int DumpGlobalVertexMap::process_Node(PHNode *myNode)
0022 {
0023   GlobalVertexMap *globalvertexmap = nullptr;
0024   MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);  // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast)
0025   if (thisNode)
0026   {
0027     globalvertexmap = thisNode->getData();
0028   }
0029   if (globalvertexmap)
0030   {
0031     GlobalVertexMap::ConstIter viter_beg = globalvertexmap->begin();
0032     GlobalVertexMap::ConstIter viter_end = globalvertexmap->end();
0033     *fout << "size: " << globalvertexmap->size() << std::endl;
0034     for (GlobalVertexMap::ConstIter viter = viter_beg; viter != viter_end; ++viter)
0035     {
0036       *fout << "first: " << viter->first << std::endl;
0037       *fout << "id: " << viter->second->get_id() << std::endl;
0038       *fout << "t: " << viter->second->get_t() << std::endl;
0039       *fout << "t_err: " << viter->second->get_t_err() << std::endl;
0040       *fout << "x: " << viter->second->get_x() << std::endl;
0041       *fout << "y: " << viter->second->get_y() << std::endl;
0042       *fout << "z: " << viter->second->get_z() << std::endl;
0043       *fout << "chisq: " << viter->second->get_chisq() << std::endl;
0044       *fout << "ndor: " << viter->second->get_ndof() << std::endl;
0045       for (int i = 0; i < 3; i++)
0046       {
0047         for (int j = 0; j < 3; j++)
0048         {
0049           *fout << "err[" << i << "][" << j << "]: " << viter->second->get_error(i, j) << std::endl;
0050         }
0051       }
0052       *fout << "number of v1 vertices: " << viter->second->size_vtxids() << std::endl;
0053       GlobalVertex::ConstVtxIter vtxbegin = viter->second->begin_vtxids();
0054       GlobalVertex::ConstVtxIter vtxend = viter->second->end_vtxids();
0055       for (GlobalVertex::ConstVtxIter vtxiter = vtxbegin; vtxiter != vtxend; ++vtxiter)
0056       {
0057         *fout << "type " << vtxiter->first << " id: " << vtxiter->second << std::endl;
0058       }
0059 
0060       *fout << "number of v2 vertices: " << viter->second->size_vtxs() << std::endl;
0061       for (GlobalVertex::ConstVertexIter vtxiter = viter->second->begin_vertexes();
0062            vtxiter != viter->second->end_vertexes(); ++vtxiter)
0063       {
0064         *fout << "Vertex Type: " << vtxiter->first << std::endl;
0065         for (const auto *iter : vtxiter->second)
0066         {
0067           *fout << "id: " << iter->get_id() << std::endl;
0068           *fout << "beam_crossing: " << iter->get_beam_crossing() << std::endl;
0069           *fout << "t: " << iter->get_t() << std::endl;
0070           *fout << "t_err: " << iter->get_t_err() << std::endl;
0071           *fout << "x: " << iter->get_x() << std::endl;
0072           *fout << "y: " << iter->get_y() << std::endl;
0073           *fout << "z: " << iter->get_z() << std::endl;
0074           *fout << "chisq: " << iter->get_chisq() << std::endl;
0075           *fout << "ndof: " << iter->get_ndof() << std::endl;
0076           for (int i = 0; i < 3; i++)
0077           {
0078             for (int j = 0; j < 3; j++)
0079             {
0080               *fout << "err[" << i << "][" << j << "]: " << iter->get_error(i, j) << std::endl;
0081             }
0082           }
0083         }
0084       }
0085     }
0086   }
0087   return 0;
0088 }