.. _program_listing_file_larflow_Reco_SplitHitsBySSNet.cxx: Program Listing for File SplitHitsBySSNet.cxx ============================================= |exhale_lsh| :ref:`Return to documentation for file ` (``larflow/Reco/SplitHitsBySSNet.cxx``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #include "SplitHitsBySSNet.h" #include "larcv/core/DataFormat/EventImage2D.h" #include namespace larflow { namespace reco { void SplitHitsBySSNet::split( const std::vector& ssnet_score_v, const larlite::event_larflow3dhit& larmatch_hit_v, const float ssnet_score_threshold, const float larmatch_score_threshold, std::vector& accept_v, std::vector& reject_v ) { clock_t begin = clock(); accept_v.clear(); reject_v.clear(); accept_v.reserve( larmatch_hit_v.size() ); reject_v.reserve( larmatch_hit_v.size() ); std::vector< const larcv::ImageMeta* > meta_v( ssnet_score_v.size(),0); for ( size_t p=0; p& adc_v = ev_adc_v->Image2DArray(); // collect track images std::vector ssnet_trackimg_v; for ( size_t p=0; p<3; p++ ) ssnet_trackimg_v.push_back(ev_ssnet_v[p]->Image2DArray()[1]); // collect shower images std::vector ssnet_showerimg_v; for ( size_t p=0; p<3; p++ ) ssnet_showerimg_v.push_back(ev_ssnet_v[p]->Image2DArray()[0]); // larflow hits larlite::event_larflow3dhit* ev_lfhit = (larlite::event_larflow3dhit*)ioll.get_data(larlite::data::kLArFlow3DHit, _input_larmatch_hit_tree_name ); _shower_hit_v.clear(); _track_hit_v.clear(); split( ssnet_showerimg_v, *ev_lfhit, _score_threshold, _larmatch_threshold, _shower_hit_v, _track_hit_v ); larlite::event_larflow3dhit* evout_shower_hit = (larlite::event_larflow3dhit*)ioll.get_data(larlite::data::kLArFlow3DHit, _output_larmatch_hit_stem_name+"_showerhit" ); larlite::event_larflow3dhit* evout_track_hit = (larlite::event_larflow3dhit*)ioll.get_data(larlite::data::kLArFlow3DHit, _output_larmatch_hit_stem_name+"_trackhit" ); for ( auto& hit : _shower_hit_v ) evout_shower_hit->push_back( hit ); for ( auto& hit : _track_hit_v ) evout_track_hit->push_back( hit ); LARCV_NORMAL() << "Split hits into " << _track_hit_v.size() << " trackhit and " << _shower_hit_v.size() << " showerhit" << std::endl; } } }