11 #include "canvas/Persistency/Common/FindManyP.h" 62 produces<std::vector<recob::Seed>>();
69 auto seeds = std::make_unique<std::vector<recob::Seed>>();
71 std::vector<std::vector<recob::SpacePoint>> SpacePointsWithSeeds;
80 std::vector<std::vector<art::PtrVector<recob::Hit>>> HitsPerSeed;
82 std::vector<std::vector<art::PtrVector<recob::Hit>>> SortedHits;
85 std::vector<std::vector<recob::Seed>> Seeds =
88 for (
size_t i = 0; i != Seeds.size(); ++i)
89 for (
size_t j = 0; j != Seeds.at(i).size(); ++j)
90 SeedVector.push_back(Seeds.at(i).at(j));
97 std::vector<art::PtrVector<recob::Hit>> HitCatalogue;
104 if (SeedVector.size() > 0) {
105 for (
size_t i = 0; i != SeedVector.size(); ++i) {
106 seeds->push_back(SeedVector.at(i));
110 mf::LogInfo(
"SeedFinder") <<
"Seed finder made no seeds : no space points in event" 128 SortedHits.resize(3);
129 std::vector<art::Ptr<recob::Cluster>> Clusters;
136 art::FindManyP<recob::Hit>
fm(clusterh, evt, ClusterModuleLabel);
138 for (
size_t iclus = 0; iclus < Clusters.size(); ++iclus) {
141 std::vector<art::Ptr<recob::Hit>> ihits = fm.at(iclus);
148 SortedHits[ThisCluster->
View()].push_back(HitsThisCluster);
162 for (
unsigned int i = 0; i < hith->size(); ++i) {
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
EDProducer(fhicl::ParameterSet const &pset)
art framework interface to geometry description
bool isValid() const noexcept
std::vector< art::Ptr< recob::Seed > > SeedVector
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
#define DEFINE_ART_MODULE(klass)
void push_back(Ptr< U > const &p)
ProductID put(std::unique_ptr< PROD > &&edp, std::string const &instance={})
std::vector< recob::Seed > GetSeedsFromUnSortedHits(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, art::PtrVector< recob::Hit > const &, std::vector< art::PtrVector< recob::Hit >> &, unsigned int StopAfter=0) const
std::vector< TrajPoint > seeds
geo::View_t View() const
Returns the view for this cluster.
Declaration of signal hit object.
void GetSortedHitsFromClusters(std::string ClusterModuleLabel, art::Event &evt, std::vector< std::vector< art::PtrVector< recob::Hit >>> &SortedHits)
std::string fInputModuleLabel
static constexpr double fm
SeedFinderModule(fhicl::ParameterSet const &pset)
void fill_ptr_vector(std::vector< Ptr< T >> &ptrs, H const &h)
art::PtrVector< recob::Hit > GetHitsFromEvent(std::string HitModuleLabel, art::Event &evt)
SeedFinderAlgorithm fSeedAlg
std::vector< std::vector< recob::Seed > > GetSeedsFromSortedHits(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, std::vector< std::vector< art::PtrVector< recob::Hit >>> const &SortedHits, std::vector< std::vector< art::PtrVector< recob::Hit >>> &HitsPerSeed, unsigned int StopAfter=0) const
void produce(art::Event &evt) override
cet::coded_exception< error, detail::translate > exception
QTextStream & endl(QTextStream &s)