.. _program_listing_file_larflow_KeyPoints_PrepAffinityField.h: Program Listing for File PrepAffinityField.h ============================================ |exhale_lsh| :ref:`Return to documentation for file ` (``larflow/KeyPoints/PrepAffinityField.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef __PREP_AFFINITY_FIELD_H__ #define __PREP_AFFINITY_FIELD_H__ #include // ROOT #include "TTree.h" // larcv #include "larcv/core/DataFormat/IOManager.h" #include "larcv/core/Base/larcv_base.h" #include "larcv/core/DataFormat/EventImage2D.h" // larlite #include "LArUtil/SpaceChargeMicroBooNE.h" #include "DataFormat/storage_manager.h" #include "DataFormat/mctrack.h" #include "DataFormat/mcshower.h" // larflow #include "larflow/PrepFlowMatchData/PrepMatchTriplets.h" namespace larflow { namespace keypoints { class PrepAffinityField : public larcv::larcv_base { public: PrepAffinityField(); virtual ~PrepAffinityField(); void process( larcv::IOManager& iolcv, larlite::storage_manager& ioll, const larflow::prep::PrepMatchTriplets& match_proposals ); protected: // Ana Tree int _run; int _subrun; int _event; TTree* _label_tree; public: void defineAnaTree(); void fillAnaTree(); void writeAnaTree(); protected: larutil::SpaceChargeMicroBooNE* psce; protected: std::vector< std::vector > _match_labels_v; void _determine_triplet_labels( const std::vector< std::vector >& pixlist_v, const std::vector& spacepoint_v, const std::vector< larcv::Image2D >& instance_v, const larlite::event_mctrack& ev_mctrack_v, const larlite::event_mcshower& ev_mcshower_v, std::vector& label_v, float& weight ); bool _get_track_direction( const larlite::mctrack& track, const std::vector& pt, const std::vector& img_v, std::vector& label_v, float& weight ); bool _get_shower_direction( const larlite::mcshower& shower, const std::vector& pt, const std::vector& img_v, std::vector& label_v, float& weight ); }; } } #endif