10 #ifndef CLUSTERMATCHALG_H 11 #define CLUSTERMATCHALG_H 82 cluster_index = index;
86 start_time_max = peak_time_max = end_time_max = -1.;
87 start_time_min = peak_time_min = end_time_min = 1.e9;
200 bool Match_SpacePoint(
const size_t uindex,
const size_t vindex,
const size_t windex, std::vector<recob::SpacePoint> &sps_v);
std::vector< uint16_t > _w_nhits_v
Use summed charge comparison ... see Match_SumCharge() description.
void ClearMatchInputInfo()
Method to clear input cluster information.
std::vector< std::vector< unsigned int > > GetMatchedClusters() const
Method to retrieve matched cluster combinations. The format is [wire_plane][cluster_index].
trkf::SpacePointAlg * _sps_algo
SpacePointFinder algorithm pointer.
double peak_time_max
Maximum "peak time" among all hits in this cluster.
std::vector< art::PtrVector< recob::Hit > > _vhits_v
Local Hit pointer vector container ... V-plane.
void FillMCInfo(const art::Event &evt)
Internal method to fill MCTruth information when available.
void SetMCTruthModName(std::string name)
Method to specify input MCTruth's module name (optional)
double _time_offset_wplane
bool Match_RoughTime(const cluster_match_info &ci1, const cluster_match_info &ci2)
Checks min/max hit timing among two clusters and make sure there is an overlap.
double end_time_min
Minimum "end time" among all hits in this cluster.
std::vector< double > _vw_tratio_v
unsigned short wire_min
Minimum wire number in this cluster.
std::vector< art::PtrVector< recob::Hit > > _whits_v
Local Hit pointer vector container ... W-plane.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
double _time_offset_uplane
double end_time_max
Maximum "end time" among all hits in this cluster.
unsigned short _tot_pass_t
Declaration of signal hit object.
std::vector< double > _wu_tratio_v
std::vector< double > _qratio_v
void ClearEventInfo()
Method to clear event-wise information.
void FillHitInfo(cluster_match_info &ci, art::PtrVector< recob::Hit > &out_hit_v, const std::vector< art::Ptr< recob::Hit > > &in_hit_v)
double _qratio_cut
Maximum difference among clusters' charge sum used in Match_SumCharge method.
void ClearMatchOutputInfo()
Method to clear output matched cluster information.
bool _store_sps
Boolean to enable storage of SpacePoint vector.
bool Match_RoughZ(const cluster_match_info &ci1, const cluster_match_info &ci2, const geo::View_t v1, const geo::View_t v2) const
MatchMethod_t
Enum switch for various matching methods.
Set of hits with a 2D structure.
Use SpacePoint finder algorithm ... see Match_SpacePoint() description.
void MatchTwoPlanes()
Two plane version of cluster matching method.
void AppendClusterInfo(const recob::Cluster &in_cluster, const std::vector< art::Ptr< recob::Hit > > &in_hit_v)
Method to fill cluster information to be used for matching.
std::vector< cluster_match_info > _wcluster_v
Local cluster data container... W-plane.
Cluster finding and building.
unsigned short _tot_pass_sps
bool StoreSpacePoints() const
Method to check if it is configured to store SpacePoint.
std::vector< double > _tpeak_max_v
double _overlay_tratio_cut
Minimum overlayed time fraction among two clusters used in Match_RoughTime method.
double _time_offset_vplane
std::vector< double > _charge_v
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::vector< uint16_t > _nhits_v
unsigned short cluster_index
Cluster's index position in the input cluster vector array.
void PrepareTTree()
Internal method to create output TTree for quality checking of the algorithm.
cluster_match_info()
Default constructor.
std::vector< double > _tend_max_v
std::vector< double > _tend_min_v
std::vector< uint16_t > _nsps
double peak_time_min
Minimum "peak time" among all hits in this cluster.
double sum_charge
Summed charge among all hits in this cluster.
Rough-Time comparison method ... see Match_RoughTime() description.
std::string _ModName_MCTruth
MCTruth producer's module name.
bool Match_SpacePoint(const size_t uindex, const size_t vindex, const size_t windex, std::vector< recob::SpacePoint > &sps_v)
std::vector< art::PtrVector< recob::Hit > > _uhits_v
Local Hit pointer vector container ... U-plane.
std::vector< uint16_t > _u_nhits_v
Declaration of cluster object.
void AppendClusterTreeVariables(const cluster_match_info &ci)
Internal method to fill cluster-info tree.
std::vector< double > _tstart_max_v
std::vector< cluster_match_info > _vcluster_v
Local cluster data container... V-plane.
std::vector< double > _tstart_min_v
std::vector< double > _uv_tratio_v
bool _debug_mode
Boolean to enable debug mode (call all enabled matching methods)
ClusterMatchAlg(fhicl::ParameterSet const &pset)
Default constructor with fhicl parameters.
const std::vector< std::vector< recob::SpacePoint > > & GetMatchedSpacePoints() const
Method to retrieve matched SpacePoint for each combinations.
void ClearTTreeInfo()
Method to clear TTree variables.
bool Match_SumCharge(const cluster_match_info &uc, const cluster_match_info &vc)
size_t _num_sps_cut
Number of SpacePoint used to cut in Match_SpacePoint method.
std::vector< uint16_t > _view_v
unsigned short _tot_pass_qsum
unsigned short wire_max
Maximum wire number in this cluster.
bool _det_params_prepared
std::vector< uint16_t > _v_nhits_v
std::vector< unsigned int > _matched_uclusters_v
U plane matched clusters' index.
std::vector< std::vector< recob::SpacePoint > > _matched_sps_v
Local SpacePoint vector container.
unsigned int nhits
Number of hits.
unsigned short _tot_pass_z
double start_time_max
Maximum "start time" among all hits in this cluster.
bool _match_methods[kMATCH_METHOD_MAX]
Boolean list for enabled algorithms.
geo::View_t view
Wire plane ID.
void PrepareDetParams()
Internal method, called only once, to fill detector-wise information.
void ReportConfig() const
Method to report the current configuration.
Algorithm for generating space points from hits.
cluster_match_info(unsigned short index)
Constructor with cluster's index ID.
std::vector< unsigned int > _matched_wclusters_v
W plane matched clusters' index.
std::vector< unsigned int > _matched_vclusters_v
V plane matched clusters' index.
Rough-Z comparison method ... see Match_RoughZ() description.
art framework interface to geometry description
std::vector< double > _tpeak_min_v
std::vector< cluster_match_info > _ucluster_v
Local cluster data container... U-plane.
virtual ~ClusterMatchAlg()
Default destructor.
double start_time_min
Minimum "start time" among all hits in this cluster.