11 #include <calobase/RawTower.h>
12 #include <calobase/RawTowerContainer.h>
31 , _truth_info(nullptr)
32 , _compress_g4hit_names()
33 , _compress_g4cell_names()
42 _truth_info = findNode::getClass<PHG4TruthInfoContainer>(topNode,
"G4TruthInfo");
45 cout <<
"PHG4DstCompressReco::InitRun(): Can't find G4TruthInfo" << endl;
54 std::string
name = *iter;
56 PHG4CellContainer* g4cells = findNode::getClass<PHG4CellContainer>(topNode, name.c_str());
66 std::string
name = *iter;
68 RawTowerContainer* towers = findNode::getClass<RawTowerContainer>(topNode, name.c_str());
84 for (std::set<PHG4CellContainer*>::iterator iter =
_g4cells.begin();
94 for (std::set<PHG4HitContainer*>::iterator iter =
_g4hits.begin();
104 std::set<int> keep_particle_ids;
105 for (std::set<PHG4HitContainer*>::iterator iter =
_keep_g4hits.begin();
112 jter != hits->
getHits().second;
116 keep_particle_ids.insert(hit->
get_trkid());
122 std::set<int> keep_vertex_ids;
125 iter != range.second;)
127 int id = iter->first;
130 if (keep_particle_ids.find(
id) != keep_particle_ids.end())
133 keep_vertex_ids.insert(particle->
get_vtx_id());
144 iter != vrange.second;)
146 int id = iter->first;
148 if (keep_vertex_ids.find(
id) != keep_vertex_ids.end())
163 iter != srange.second;
174 for (std::set<RawTowerContainer*>::iterator iter =
_towers.begin();
206 while ((thisNode = iter()))
208 if (thisNode->getType() ==
"PHCompositeNode")
212 else if (thisNode->getType() ==
"PHIODataNode")
214 if (thisNode->getName().find(
"G4HIT_") == 0)