24 #include <calobase/RawCluster.h>
25 #include <calobase/RawClusterContainer.h>
26 #include <calobase/RawClusterUtility.h>
27 #include <calobase/RawTower.h>
28 #include <calobase/RawTowerContainer.h>
29 #include <calobase/RawTowerGeom.h>
30 #include <calobase/RawTowerGeomContainer.h>
31 #include <calobase/RawTowerv2.h>
33 #include <HepMC/GenEvent.h>
34 #include <HepMC/GenVertex.h>
64 , _do_store_event_info(
false)
72 , _do_PROJECTIONS(
false)
73 , _do_MCPARTICLES(
false)
79 , _n_generator_accepted(0)
90 , _tower_HCALIN_iEta(0)
91 , _tower_HCALIN_iPhi(0)
92 , _tower_HCALIN_trueID(0)
96 , _tower_HCALOUT_iEta(0)
97 , _tower_HCALOUT_iPhi(0)
98 , _tower_HCALOUT_trueID(0)
102 , _tower_CEMC_iEta(0)
103 , _tower_CEMC_iPhi(0)
104 , _tower_CEMC_trueID(0)
106 , _nclusters_HCALIN(0)
107 , _cluster_HCALIN_E(0)
108 , _cluster_HCALIN_Eta(0)
109 , _cluster_HCALIN_Phi(0)
110 , _cluster_HCALIN_NTower(0)
111 , _cluster_HCALIN_trueID(0)
113 , _nclusters_HCALOUT(0)
114 , _cluster_HCALOUT_E(0)
115 , _cluster_HCALOUT_Eta(0)
116 , _cluster_HCALOUT_Phi(0)
117 , _cluster_HCALOUT_NTower(0)
118 , _cluster_HCALOUT_trueID(0)
122 , _cluster_CEMC_Eta(0)
123 , _cluster_CEMC_Phi(0)
124 , _cluster_CEMC_NTower(0)
125 , _cluster_CEMC_trueID(0)
145 , _track_ProjTrackID(0)
146 , _track_ProjLayer(0)
151 , _track_TLP_true_x(0)
152 , _track_TLP_true_y(0)
153 , _track_TLP_true_z(0)
154 , _track_TLP_true_t(0)
158 , _mcpart_ID_parent(0)
184 , _calo_towers_iEta(0)
185 , _calo_towers_iPhi(0)
186 , _calo_towers_Eta(0)
187 , _calo_towers_Phi(0)
193 , _reco_e_threshold(0.0)
194 , _reco_e_threshold_BECAL(0.0)
196 , _caloevalstackHCALIN(nullptr)
197 , _caloevalstackHCALOUT(nullptr)
198 , _caloevalstackCEMC(nullptr)
200 , _event_tree(nullptr)
201 , _geometry_tree(nullptr)
202 , _filename(filename)
204 , _tfile_geometry(nullptr)
300 _event_tree =
new TTree(
"event_tree",
"event_tree");
305 _event_tree->Branch(
"cross_section", &
_cross_section,
"cross_section/F");
306 _event_tree->Branch(
"event_weight", &
_event_weight,
"event_weight/F");
313 _event_tree->Branch(
"hits_layerID",
_hits_layerID,
"hits_layerID[nHits]/I");
314 _event_tree->Branch(
"hits_trueID",
_hits_trueID,
"hits_trueID[nHits]/I");
315 _event_tree->Branch(
"hits_x",
_hits_x,
"hits_x[nHits]/F");
316 _event_tree->Branch(
"hits_y",
_hits_y,
"hits_y[nHits]/F");
317 _event_tree->Branch(
"hits_z",
_hits_z,
"hits_z[nHits]/F");
318 _event_tree->Branch(
"hits_t",
_hits_t,
"hits_t[nHits]/F");
322 _event_tree->Branch(
"nTracks", &
_nTracks,
"nTracks/I");
323 _event_tree->Branch(
"tracks_ID",
_track_ID,
"tracks_ID[nTracks]/F");
324 _event_tree->Branch(
"tracks_px",
_track_px,
"tracks_px[nTracks]/F");
325 _event_tree->Branch(
"tracks_py",
_track_py,
"tracks_py[nTracks]/F");
326 _event_tree->Branch(
"tracks_pz",
_track_pz,
"tracks_pz[nTracks]/F");
327 _event_tree->Branch(
"tracks_dca",
_track_dca,
"tracks_dca[nTracks]/F");
328 _event_tree->Branch(
"tracks_dca_2d",
_track_dca_2d,
"tracks_dca_2d[nTracks]/F");
329 _event_tree->Branch(
"tracks_trueID",
_track_trueID,
"tracks_trueID[nTracks]/F");
330 _event_tree->Branch(
"tracks_source",
_track_source,
"tracks_source[nTracks]/s");
334 _event_tree->Branch(
"nProjections", &
_nProjections,
"nProjections/I");
335 _event_tree->Branch(
"track_ProjTrackID",
_track_ProjTrackID,
"track_ProjTrackID[nProjections]/F");
336 _event_tree->Branch(
"track_ProjLayer",
_track_ProjLayer,
"track_ProjLayer[nProjections]/I");
337 _event_tree->Branch(
"track_TLP_x",
_track_TLP_x,
"track_TLP_x[nProjections]/F");
338 _event_tree->Branch(
"track_TLP_y",
_track_TLP_y,
"track_TLP_y[nProjections]/F");
339 _event_tree->Branch(
"track_TLP_z",
_track_TLP_z,
"track_TLP_z[nProjections]/F");
340 _event_tree->Branch(
"track_TLP_t",
_track_TLP_t,
"track_TLP_t[nProjections]/F");
341 _event_tree->Branch(
"track_TLP_true_x",
_track_TLP_true_x,
"track_TLP_true_x[nProjections]/F");
342 _event_tree->Branch(
"track_TLP_true_y",
_track_TLP_true_y,
"track_TLP_true_y[nProjections]/F");
343 _event_tree->Branch(
"track_TLP_true_z",
_track_TLP_true_z,
"track_TLP_true_z[nProjections]/F");
344 _event_tree->Branch(
"track_TLP_true_t",
_track_TLP_true_t,
"track_TLP_true_t[nProjections]/F");
349 _event_tree->Branch(
"tower_HCALIN_N", &
_nTowers_HCALIN,
"tower_HCALIN_N/I");
350 _event_tree->Branch(
"tower_HCALIN_E",
_tower_HCALIN_E,
"tower_HCALIN_E[tower_HCALIN_N]/F");
351 _event_tree->Branch(
"tower_HCALIN_iEta",
_tower_HCALIN_iEta,
"tower_HCALIN_iEta[tower_HCALIN_N]/I");
352 _event_tree->Branch(
"tower_HCALIN_iPhi",
_tower_HCALIN_iPhi,
"tower_HCALIN_iPhi[tower_HCALIN_N]/I");
353 _event_tree->Branch(
"tower_HCALIN_trueID",
_tower_HCALIN_trueID,
"tower_HCALIN_trueID[tower_HCALIN_N]/I");
357 _event_tree->Branch(
"cluster_HCALIN_N", &
_nclusters_HCALIN,
"cluster_HCALIN_N/I");
358 _event_tree->Branch(
"cluster_HCALIN_E",
_cluster_HCALIN_E,
"cluster_HCALIN_E[cluster_HCALIN_N]/F");
359 _event_tree->Branch(
"cluster_HCALIN_Eta",
_cluster_HCALIN_Eta,
"cluster_HCALIN_Eta[cluster_HCALIN_N]/F");
360 _event_tree->Branch(
"cluster_HCALIN_Phi",
_cluster_HCALIN_Phi,
"cluster_HCALIN_Phi[cluster_HCALIN_N]/F");
361 _event_tree->Branch(
"cluster_HCALIN_NTower",
_cluster_HCALIN_NTower,
"cluster_HCALIN_NTower[cluster_HCALIN_N]/I");
362 _event_tree->Branch(
"cluster_HCALIN_trueID",
_cluster_HCALIN_trueID,
"cluster_HCALIN_trueID[cluster_HCALIN_N]/I");
368 _event_tree->Branch(
"tower_HCALOUT_N", &
_nTowers_HCALOUT,
"tower_HCALOUT_N/I");
369 _event_tree->Branch(
"tower_HCALOUT_E",
_tower_HCALOUT_E,
"tower_HCALOUT_E[tower_HCALOUT_N]/F");
370 _event_tree->Branch(
"tower_HCALOUT_iEta",
_tower_HCALOUT_iEta,
"tower_HCALOUT_iEta[tower_HCALOUT_N]/I");
371 _event_tree->Branch(
"tower_HCALOUT_iPhi",
_tower_HCALOUT_iPhi,
"tower_HCALOUT_iPhi[tower_HCALOUT_N]/I");
372 _event_tree->Branch(
"tower_HCALOUT_trueID",
_tower_HCALOUT_trueID,
"tower_HCALOUT_trueID[tower_HCALOUT_N]/I");
377 _event_tree->Branch(
"cluster_HCALOUT_E",
_cluster_HCALOUT_E,
"cluster_HCALOUT_E[cluster_HCALOUT_N]/F");
378 _event_tree->Branch(
"cluster_HCALOUT_Eta",
_cluster_HCALOUT_Eta,
"cluster_HCALOUT_Eta[cluster_HCALOUT_N]/F");
379 _event_tree->Branch(
"cluster_HCALOUT_Phi",
_cluster_HCALOUT_Phi,
"cluster_HCALOUT_Phi[cluster_HCALOUT_N]/F");
380 _event_tree->Branch(
"cluster_HCALOUT_NTower",
_cluster_HCALOUT_NTower,
"cluster_HCALOUT_NTower[cluster_HCALOUT_N]/I");
381 _event_tree->Branch(
"cluster_HCALOUT_trueID",
_cluster_HCALOUT_trueID,
"cluster_HCALOUT_trueID[cluster_HCALOUT_N]/I");
387 _event_tree->Branch(
"tower_CEMC_N", &
_nTowers_CEMC,
"tower_CEMC_N/I");
388 _event_tree->Branch(
"tower_CEMC_E",
_tower_CEMC_E,
"tower_CEMC_E[tower_CEMC_N]/F");
389 _event_tree->Branch(
"tower_CEMC_iEta",
_tower_CEMC_iEta,
"tower_CEMC_iEta[tower_CEMC_N]/I");
390 _event_tree->Branch(
"tower_CEMC_iPhi",
_tower_CEMC_iPhi,
"tower_CEMC_iPhi[tower_CEMC_N]/I");
391 _event_tree->Branch(
"tower_CEMC_trueID",
_tower_CEMC_trueID,
"tower_CEMC_trueID[tower_CEMC_N]/I");
395 _event_tree->Branch(
"cluster_CEMC_N", &
_nclusters_CEMC,
"cluster_CEMC_N/I");
396 _event_tree->Branch(
"cluster_CEMC_E",
_cluster_CEMC_E,
"cluster_CEMC_E[cluster_CEMC_N]/F");
397 _event_tree->Branch(
"cluster_CEMC_Eta",
_cluster_CEMC_Eta,
"cluster_CEMC_Eta[cluster_CEMC_N]/F");
398 _event_tree->Branch(
"cluster_CEMC_Phi",
_cluster_CEMC_Phi,
"cluster_CEMC_Phi[cluster_CEMC_N]/F");
399 _event_tree->Branch(
"cluster_CEMC_NTower",
_cluster_CEMC_NTower,
"cluster_CEMC_NTower[cluster_CEMC_N]/I");
400 _event_tree->Branch(
"cluster_CEMC_trueID",
_cluster_CEMC_trueID,
"cluster_CEMC_trueID[cluster_CEMC_N]/I");
406 _event_tree->Branch(
"vertex_x", &
_vertex_x,
"vertex_x/F");
407 _event_tree->Branch(
"vertex_y", &
_vertex_y,
"vertex_y/F");
408 _event_tree->Branch(
"vertex_z", &
_vertex_z,
"vertex_z/F");
409 _event_tree->Branch(
"vertex_NCont", &
_vertex_NCont,
"vertex_NCont/I");
410 _event_tree->Branch(
"vertex_true_x", &
_vertex_true_x,
"vertex_true_x/F");
411 _event_tree->Branch(
"vertex_true_y", &
_vertex_true_y,
"vertex_true_y/F");
412 _event_tree->Branch(
"vertex_true_z", &
_vertex_true_z,
"vertex_true_z/F");
417 _event_tree->Branch(
"nMCPart", &
_nMCPart,
"nMCPart/I");
418 _event_tree->Branch(
"mcpart_ID",
_mcpart_ID,
"mcpart_ID[nMCPart]/I");
419 _event_tree->Branch(
"mcpart_ID_parent",
_mcpart_ID_parent,
"mcpart_ID_parent[nMCPart]/I");
420 _event_tree->Branch(
"mcpart_PDG",
_mcpart_PDG,
"mcpart_PDG[nMCPart]/I");
421 _event_tree->Branch(
"mcpart_E",
_mcpart_E,
"mcpart_E[nMCPart]/F");
422 _event_tree->Branch(
"mcpart_px",
_mcpart_px,
"mcpart_px[nMCPart]/F");
423 _event_tree->Branch(
"mcpart_py",
_mcpart_py,
"mcpart_py[nMCPart]/F");
424 _event_tree->Branch(
"mcpart_pz",
_mcpart_pz,
"mcpart_pz[nMCPart]/F");
425 _event_tree->Branch(
"mcpart_BCID",
_mcpart_BCID,
"mcpart_BCID[nMCPart]/I");
430 _event_tree->Branch(
"nHepmcp", &
_nHepmcp,
"nHepmcp/I");
431 _event_tree->Branch(
"hepmcp_procid", &
_hepmcp_procid,
"hepmcp_procid/I");
432 _event_tree->Branch(
"hepmcp_x1", &
_hepmcp_x1,
"hepmcp_x1/F");
433 _event_tree->Branch(
"hepmcp_x2", &
_hepmcp_x2,
"hepmcp_x2/F");
436 _event_tree->Branch(
"hepmcp_status",
_hepmcp_status,
"hepmcp_status[nHepmcp]/I");
437 _event_tree->Branch(
"hepmcp_PDG",
_hepmcp_PDG,
"hepmcp_PDG[nHepmcp]/I");
438 _event_tree->Branch(
"hepmcp_E",
_hepmcp_E,
"hepmcp_E[nHepmcp]/F");
439 _event_tree->Branch(
"hepmcp_px",
_hepmcp_px,
"hepmcp_px[nHepmcp]/F");
440 _event_tree->Branch(
"hepmcp_py",
_hepmcp_py,
"hepmcp_py[nHepmcp]/F");
441 _event_tree->Branch(
"hepmcp_pz",
_hepmcp_pz,
"hepmcp_pz[nHepmcp]/F");
442 _event_tree->Branch(
"hepmcp_BCID",
_hepmcp_BCID,
"hepmcp_BCID[nHepmcp]/I");
443 _event_tree->Branch(
"hepmcp_m1",
_hepmcp_m1,
"hepmcp_m1[nHepmcp]/I");
444 _event_tree->Branch(
"hepmcp_m2",
_hepmcp_m2,
"hepmcp_m2[nHepmcp]/I");
471 cout <<
"entered process_event" << endl;
515 cout <<
"loaded evalstack" << endl;
530 cout <<
"EventEvaluator::fillOutputNtuples() entered" << endl;
542 PHHepMCGenEventMap* hepmceventmap = findNode::getClass<PHHepMCGenEventMap>(topNode,
"PHHepMCGenEventMap");
547 cout <<
"saving event level info" << endl;
551 eventIter != hepmceventmap->
end();
558 HepMC::GenEvent* truthevent = hepmcevent->
getEvent();
562 <<
"no evt pointer under phhepmvgeneventmap found "
567 auto xsec = truthevent->cross_section();
574 auto weights = truthevent->weights();
575 if (weights.size() > 0) {
585 cout <<
PHWHERE <<
" PHHepMCGenEventMap node (for event level info) not found on node tree" << endl;
596 cout <<
PHWHERE <<
"RUN Node missing doing nothing" << endl;
599 auto * integralNode = findNode::getClass<PHGenIntegral>(sumNode,
"PHGenIntegral");
608 cout <<
PHWHERE <<
" PHGenIntegral node (for n generator accepted) not found on node tree. Continuing" << endl;
615 SvtxVertexMap* vertexmap = findNode::getClass<SvtxVertexMap>(topNode,
"SvtxVertexMap");
620 if (!vertexmap->
empty())
624 cout <<
"saving vertex" << endl;
647 cout <<
"saving hits" << endl;
650 PHG4TruthInfoContainer* truthinfocontainerHits = findNode::getClass<PHG4TruthInfoContainer>(topNode,
"G4TruthInfo");
651 for (
int iIndex = 0; iIndex < 60; ++iIndex)
664 cout << __PRETTY_FUNCTION__ <<
" number of hits: " << hits->
size() << endl;
671 cout << __PRETTY_FUNCTION__ <<
" found hit with id " << hit_iter->second->get_trkid() << endl;
674 cout << __PRETTY_FUNCTION__ <<
" exceededed maximum hit array size! Please check where these hits come from!" << endl;
682 if (truthinfocontainerHits)
693 if (g4particleMother == NULL)
break;
707 if (g4particleMother2 == NULL){
733 cout << __PRETTY_FUNCTION__ <<
" could not find " << nodename << endl;
747 string towernodeHCALIN =
"TOWER_CALIB_HCALIN";
748 RawTowerContainer* towersHCALIN = findNode::getClass<RawTowerContainer>(topNode, towernodeHCALIN.c_str());
753 cout <<
"saving HCAL towers" << endl;
755 string towergeomnodeHCALIN =
"TOWERGEOM_HCALIN";
756 RawTowerGeomContainer* towergeomHCALIN = findNode::getClass<RawTowerGeomContainer>(topNode, towergeomnodeHCALIN.c_str());
762 it != all_towers.second; ++
it)
780 for (rtiter = begin_end.first; rtiter != begin_end.second; ++rtiter)
810 cout <<
PHWHERE <<
" ERROR: Can't find " << towergeomnodeHCALIN << endl;
823 cout <<
PHWHERE <<
" ERROR: Can't find " << towernodeHCALIN << endl;
835 string towernodeHCALOUT =
"TOWER_CALIB_HCALOUT";
836 RawTowerContainer* towersHCALOUT = findNode::getClass<RawTowerContainer>(topNode, towernodeHCALOUT.c_str());
841 cout <<
"saving HCAL towers" << endl;
843 string towergeomnodeHCALOUT =
"TOWERGEOM_HCALOUT";
844 RawTowerGeomContainer* towergeomHCALOUT = findNode::getClass<RawTowerGeomContainer>(topNode, towergeomnodeHCALOUT.c_str());
845 if (towergeomHCALOUT)
850 it != all_towers.second; ++
it)
868 for (rtiter = begin_end.first; rtiter != begin_end.second; ++rtiter)
898 cout <<
PHWHERE <<
" ERROR: Can't find " << towergeomnodeHCALOUT << endl;
911 cout <<
PHWHERE <<
" ERROR: Can't find " << towernodeHCALOUT << endl;
923 string towernodeCEMC =
"TOWER_CALIB_CEMC";
924 RawTowerContainer* towersCEMC = findNode::getClass<RawTowerContainer>(topNode, towernodeCEMC.c_str());
929 cout <<
"saving EMC towers" << endl;
931 string towergeomnodeCEMC =
"TOWERGEOM_CEMC";
932 RawTowerGeomContainer* towergeom = findNode::getClass<RawTowerGeomContainer>(topNode, towergeomnodeCEMC.c_str());
938 it != all_towers.second; ++
it)
956 for (rtiter = begin_end.first; rtiter != begin_end.second; ++rtiter)
987 cout <<
PHWHERE <<
" ERROR: Can't find " << towergeomnodeCEMC << endl;
993 cout <<
"saved\t" <<
_nTowers_CEMC <<
"\tCEMC towers" << endl;
1000 cout <<
PHWHERE <<
" ERROR: Can't find " << towernodeCEMC << endl;
1015 cout <<
"CaloEvaluator::filling gcluster ntuple..." << endl;
1018 string clusternodeHCALIN =
"CLUSTER_HCALIN";
1019 RawClusterContainer* clustersHCALIN = findNode::getClass<RawClusterContainer>(topNode, clusternodeHCALIN.c_str());
1036 if (!vertexmap->
empty())
1063 cerr <<
PHWHERE <<
" ERROR: Can't find " << clusternodeHCALIN << endl;
1077 cout <<
"CaloEvaluator::filling gcluster ntuple..." << endl;
1080 string clusternodeHCALOUT =
"CLUSTER_HCALOUT";
1081 RawClusterContainer* clustersHCALOUT = findNode::getClass<RawClusterContainer>(topNode, clusternodeHCALOUT.c_str());
1082 if (clustersHCALOUT)
1098 if (!vertexmap->
empty())
1125 cerr <<
PHWHERE <<
" ERROR: Can't find " << clusternodeHCALOUT << endl;
1139 cout <<
"CaloEvaluator::filling gcluster ntuple..." << endl;
1142 string clusternodeCEMC =
"CLUSTER_CEMC";
1143 RawClusterContainer* clustersCEMC = findNode::getClass<RawClusterContainer>(topNode, clusternodeCEMC.c_str());
1160 if (!vertexmap->
empty())
1187 cerr <<
PHWHERE <<
" ERROR: Can't find " << clusternodeCEMC << endl;
1203 std::vector<std::pair<std::string, TrackSource_t>> trackMapInfo = {
1204 {
"TrackMap", TrackSource_t::all},
1205 {
"TrackMapInner", TrackSource_t::inner}};
1206 bool foundAtLeastOneTrackSource =
false;
1207 for (
const auto& trackMapInfo : trackMapInfo)
1209 SvtxTrackMap* trackmap = findNode::getClass<SvtxTrackMap>(topNode, trackMapInfo.first);
1212 foundAtLeastOneTrackSource =
true;
1213 int nTracksInASource = 0;
1216 cout <<
"saving tracks for track map: " << trackMapInfo.first << endl;
1242 cout << __PRETTY_FUNCTION__ <<
" processing " << trkstates->second->get_name() << endl;
1244 string trackStateName = trkstates->second->get_name();
1247 cout << __PRETTY_FUNCTION__ <<
" found " << trkstates->second->get_name() << endl;
1250 if (trackStateIndex > -1)
1260 string nodename =
"G4HIT_" + trkstates->second->get_name();
1266 cout << __PRETTY_FUNCTION__ <<
" number of hits: " << hits->
size() << endl;
1273 cout << __PRETTY_FUNCTION__ <<
" checking hit id " << hit_iter->second->get_trkid() <<
" against " << track->
get_truth_track_id() << endl;
1279 cout << __PRETTY_FUNCTION__ <<
" found hit with id " << hit_iter->second->get_trkid() << endl;
1293 cout << __PRETTY_FUNCTION__ <<
" could not find " << nodename << endl;
1308 cout <<
"PHG4TrackFastSimEval::fill_track_tree - ignore track that is not a SvtxTrack_FastSim:";
1309 track_itr->second->identify();
1316 cout <<
"saved\t" << nTracksInASource <<
"\ttracks from track map " << trackMapInfo.first <<
". Total saved tracks: " <<
_nTracks << endl;
1323 cout <<
PHWHERE <<
"SvtxTrackMap node with name '" << trackMapInfo.first <<
"' not found on node tree" << endl;
1327 if (foundAtLeastOneTrackSource ==
false) {
1328 cout <<
PHWHERE <<
"Requested tracks, but found no sources on node tree. Returning" << endl;
1338 PHG4TruthInfoContainer* truthinfocontainer = findNode::getClass<PHG4TruthInfoContainer>(topNode,
"G4TruthInfo");
1339 if (truthinfocontainer)
1343 cout <<
"saving MC particles" << endl;
1351 if (!g4particle)
continue;
1360 if (g4particleMother == NULL)
break;
1401 cout <<
"saved\t" <<
_nMCPart <<
"\tMC particles" << endl;
1408 cout <<
PHWHERE <<
" PHG4TruthInfoContainer node not found on node tree" << endl;
1420 PHHepMCGenEventMap* hepmceventmap = findNode::getClass<PHHepMCGenEventMap>(topNode,
"PHHepMCGenEventMap");
1425 cout <<
"saving HepMC output" << endl;
1429 hepmceventmap->Print();
1433 eventIter != hepmceventmap->
end();
1440 HepMC::GenEvent* truthevent = hepmcevent->
getEvent();
1444 <<
"no evt pointer under phhepmvgeneventmap found "
1449 HepMC::PdfInfo* pdfinfo = truthevent->pdf_info();
1462 cout <<
" Iterating over an event" << endl;
1464 for (HepMC::GenEvent::particle_const_iterator iter = truthevent->particles_begin();
1465 iter != truthevent->particles_end();
1477 if ((*iter)->production_vertex())
1479 for (HepMC::GenVertex::particle_iterator mother = (*iter)->production_vertex()->particles_begin(HepMC::parents);
1480 mother != (*iter)->production_vertex()->particles_end(HepMC::parents);
1498 cout <<
PHWHERE <<
" PHHepMCGenEventMap node not found on node tree" << endl;
1506 if (
Verbosity() > 0){ cout <<
"Resetting buffer ..." << endl;}
1510 cout <<
"EventEvaluator buffer reset" << endl;
1536 cout <<
"========================= " <<
Name() <<
"::End() ============================" << endl;
1537 cout <<
" " <<
_ievent <<
" events of output written to: " <<
_filename << endl;
1538 cout <<
"===========================================================================" << endl;
1550 if (projname.find(
"HCALIN") != std::string::npos)
1552 else if (projname.find(
"HCALOUT") != std::string::npos)
1554 else if (projname.find(
"CEMC") != std::string::npos)
1598 if (
Verbosity() > 0){ cout <<
"\t... event info variables reset" << endl;}
1609 if (
Verbosity() > 0){ cout <<
"\t... vertex variables reset" << endl;}
1623 if (
Verbosity() > 0){ cout <<
"\t... hit variables reset" << endl;}
1645 if (
Verbosity() > 0){ cout <<
"\t... CEMC variables reset" << endl;}
1667 if (
Verbosity() > 0){ cout <<
"\t... HCALIN variables reset" << endl;}
1670 if (
Verbosity() > 0){ cout <<
"\t... resetting HCALOUT variables" << endl;}
1690 if (
Verbosity() > 0){ cout <<
"\t... HCALOUT variables reset" << endl;}
1694 if (
Verbosity() > 0){ cout <<
"\t... resetting Track variables" << endl;}
1724 if (
Verbosity() > 0){ cout <<
"\t... track variables reset" << endl;}
1757 if (
Verbosity() > 0){ cout <<
"\t... MC variables reset" << endl;}