23 #include <sys/types.h> 94 :
fEPAlg(pset.get<
fhicl::ParameterSet >(
"EndPointAlg"))
97 produces< std::vector<recob::EndPoint2D> >();
98 produces< art::Assns<recob::EndPoint2D, recob::Hit> >();
124 for(
unsigned int ii = 0; ii < clusterListHandle->size(); ++ii)
132 std::vector<recob::EndPoint2D> vtxOut;
133 std::vector< art::PtrVector<recob::Hit> > vtxHitsOut;
136 LOG_DEBUG(
"Vertex") <<
"found " << numvtx <<
"vertices with VertexService";
139 std::unique_ptr<std::vector<recob::EndPoint2D> > vtxcol(
new std::vector<recob::EndPoint2D>(vtxOut));
142 for(
size_t v = 0; v < vtxcol->size(); ++v)
143 util::CreateAssn(*
this, evt, *(vtxcol.get()), vtxHitsOut[v], *(assn.get()), v);
145 evt.
put(std::move(vtxcol));
146 evt.
put(std::move(assn));
algorithm to find 2D endpoints
void reconfigure(fhicl::ParameterSet const &pset)
Declaration of signal hit object.
void produce(art::Event &evt)
Cluster finding and building.
size_t EndPoint(const art::PtrVector< recob::Cluster > &clusIn, std::vector< recob::EndPoint2D > &vtxcol, std::vector< art::PtrVector< recob::Hit > > &vtxHitsOut, art::Event const &evt, std::string const &label)
ProductID put(std::unique_ptr< PROD > &&product)
#define DEFINE_ART_MODULE(klass)
void push_back(Ptr< U > const &p)
T get(std::string const &key) const
std::string fDBScanModuleLabel
bool CreateAssn(PRODUCER const &prod, art::Event &evt, std::vector< T > const &a, art::Ptr< U > const &b, art::Assns< U, T > &assn, std::string a_instance, size_t indx=UINT_MAX)
Creates a single one-to-one association.
Declaration of cluster object.
Algorithm to find 2D end points.
void reconfigure(fhicl::ParameterSet const &p)
Utility object to perform functions of association.
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
virtual ~EndPointModule()
EndPointAlg fEPAlg
object that contains the end point finding algorithm
module to find 2D end points
EndPointModule(fhicl::ParameterSet const &pset)