LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
ClusterMergeHelper.h
Go to the documentation of this file.
1 // \file ClusterMergeHelper.h
3 //
4 // \brief ClusterMergeHelper header file
5 //
6 // \author kazuhiro@nevis.columbia.edu
7 //
9 
10 #ifndef CLUSTERMERGEHELPER_H
11 #define CLUSTERMERGEHELPER_H
12 
13 // ART includes
14 #include "fhiclcpp/ParameterSet.h"
25 
26 // LArSoft
33 
34 // STL
35 #include <set>
36 #include <vector>
37 #include <sstream>
38 
39 // ROOT
40 #include <TString.h>
41 #include <TTree.h>
42 
43 namespace cluster
44 {
45 
47 
48  public:
49 
52 
54  virtual ~ClusterMergeHelper(){}
55 
58 
60  void SetClusters(const std::vector<std::vector<art::Ptr<recob::Hit> > > &clusters);
61 
63  void SetClusters(const art::Event &evt, const std::string &cluster_module_label);
64 
66  void Process();
67 
69  const std::vector<std::vector<art::Ptr<recob::Hit> > >& GetMergedClusterHits() const;
70 
72  const std::vector<cluster::ClusterParamsAlg>& GetMergedCPAN() const;
73 
76  art::Event &ev,
77  std::vector<recob::Cluster> &out_clusters,
79 
80  protected:
81 
83  void SetClusters(const std::vector<std::vector<util::PxHit> > &clusters)
84  {
85  fMgr.Reset();
86  fMgr.SetClusters(clusters);
87  }
88 
89  protected:
90 
93 
96 
98  std::vector<std::vector<art::Ptr<recob::Hit> > > fInputClusters;
99 
101  std::vector<std::vector<art::Ptr<recob::Hit> > > fOutputClusters;
102 
103  }; // class ClusterMergeHelper
104 
105 } //namespace cluster
106 #endif
std::vector< std::vector< art::Ptr< recob::Hit > > > fInputClusters
Input clusters in terms of a vector of art::Ptr<recob::Hit> collection.
Declaration of signal hit object.
void SetClusters(const std::vector< std::vector< util::PxHit > > &clusters)
A simple method to add a cluster.
void SetClusters(const std::vector< std::vector< util::PxHit > > &clusters)
Internal method to transfer input cluster information in the right format to CMergeManager.
Cluster finding and building.
ClusterMergeHelper()
Default constructor with fhicl parameters.
const std::vector< std::vector< art::Ptr< recob::Hit > > > & GetMergedClusterHits() const
Utility method to retrieve merged clusters in terms of a vector of art::Ptr<recob::Hit> ...
void AppendResult(art::EDProducer &ed, art::Event &ev, std::vector< recob::Cluster > &out_clusters, art::Assns< recob::Cluster, recob::Hit > &assns) const
Utility method to append result set to user&#39;s data product storage.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
void Process()
Function to execute CMergeManager::Process()
virtual void Reset()
Method to reset itself.
std::vector< std::vector< art::Ptr< recob::Hit > > > fOutputClusters
Output clusters in terms of a vector of art::Ptr<recob::Hit> collection.
::util::GeometryUtilities fGeoU
GeometryUtilities.
Declaration of cluster object.
::cmtool::CMergeManager & GetManager()
A method to retrieve Manager.
Utility object to perform functions of association.
const std::vector< cluster::ClusterParamsAlg > & GetMergedCPAN() const
Utility method to retrieve merged clusters in terms of a vector of CPAN.
void SetClusters(const std::vector< std::vector< art::Ptr< recob::Hit > > > &clusters)
Utility method to set cluster input information to CMergeManager from LArSoft data product (vector of...
::cmtool::CMergeManager fMgr
CMergeManager instance.
virtual ~ClusterMergeHelper()
Default destructor.
Class def header for a class CMergeManager.
art framework interface to geometry description