.. _program_listing_file_larflow_Reco_ShowerLikelihoodBuilder.h: Program Listing for File ShowerLikelihoodBuilder.h ================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``larflow/Reco/ShowerLikelihoodBuilder.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef __LARFLOW_RECO_SHOWERLIKELIHOODBUILDER_H__ #define __LARFLOW_RECO_SHOWERLIKELIHOODBUILDER_H__ #include "larcv/core/DataFormat/IOManager.h" #include "DataFormat/storage_manager.h" #include "DataFormat/larflow3dhit.h" #include "LArUtil/SpaceChargeMicroBooNE.h" #include "larflow/PrepFlowMatchData/PrepMatchTriplets.h" #include "larflow/Reco/cluster_functions.h" #include "TFile.h" #include "TH2F.h" namespace larflow { namespace reco { class ShowerLikelihoodBuilder { public: ShowerLikelihoodBuilder(); virtual ~ShowerLikelihoodBuilder(); void process( larcv::IOManager& iolcv, larlite::storage_manager& ioll ); larflow::prep::PrepMatchTriplets tripletalgo; void _fillProfileHist( const std::vector& truehit_v, std::vector& shower_dir, std::vector& shower_vtx ); void _dist2line( const std::vector& ray_start, const std::vector& ray_dir, const std::vector& pt, float& radial_dist, float& projection ); std::vector< cluster_t > cluster_v; void _make_truehit_clusters( std::vector< larlite::larflow3dhit >& truehit_v ); int _find_closest_cluster( std::vector& claimed_cluster_v, std::vector& shower_vtx, std::vector& shower_dir ); int _trunk_cluster; std::vector< float > cluster_pcacos2trunk_v; std::vector< float > cluster_dist2trunk_v; std::vector< float > cluster_impactdist2trunk_v; void _analyze_clusters( std::vector< larlite::larflow3dhit >& truehit_v, std::vector& shower_dir, std::vector& shower_vtx ); larutil::SpaceChargeMicroBooNE* _psce; TH2F* _hll; TH2F* _hll_weighted; TTree* _tree_cluster_relationships; float _dist2trunk; TTree* _tree_trunk_features; void _impactdist( const std::vector& l_start, const std::vector& l_dir, const std::vector& m_start, const std::vector& m_dir, float& impact_dist, float& proj_l, float& proj_m ); }; } } #endif