47 produces< std::vector<novaddt::Cluster> >();
48 produces< art::Assns<novaddt::Cluster, novaddt::HitList> >();
63 std::unique_ptr<std::vector<novaddt::Cluster>>
product(
new std::vector<Cluster>);
64 std::unique_ptr<art::Assns<novaddt::Cluster, novaddt::HitList> >
68 unsigned int ngroups = lists->size();
71 e.
put(std::move(product));
72 e.
put(std::move(assn));
77 for(
size_t i = 0;
i != ngroups; ++
i){
90 for(
auto const&
hit: *hl){
92 if (
hit.TDC().val < lowt) lowt =
hit.TDC().val;
93 else if(hight <
hit.TDC().val) hight =
hit.TDC().val;
97 if (
hit.Cell().val < lowxc) lowxc =
hit.Cell().val;
98 else if(highxc <
hit.Cell().val) highxc =
hit.Cell().val;
101 if (
hit.Cell().val < lowyc) lowyc =
hit.Cell().val;
102 else if(highyc <
hit.Cell().val) highyc =
hit.Cell().val;
106 if (
hit.Plane().val < lowp) lowp =
hit.Plane().val;
107 else if(highp <
hit.Plane().val) highp =
hit.Plane().val;
110 asum = asum +
hit.ADC().val;
115 novaddt::Cluster clust(lowxc, lowyc, highxc, highyc, lowp, highp, lowt, hight, asum);
118 if (!(lowxc.
val == highxc.
val || lowyc.
val == highyc.
val)){
119 product->push_back(clust);
131 e.
put(std::move(product));
132 e.
put(std::move(assn));
static bool CreateAssn(art::EDProducer const &prod, art::Event &evt, std::vector< T > &a, art::Ptr< U > b, art::Assns< T, U > &assn, size_t indx=UINT_MAX, std::string const &instance=std::string())
Create a 1 to 1 association between a new product and one already in the event.
DEFINE_ART_MODULE(TestTMapFile)
Clusterer(fhicl::ParameterSet const &p)
Identifier for the Y measuring view of the detector (side)
ProductID put(std::unique_ptr< PROD > &&product)
Identifier for the X measuring view of the detector (top)
bool filter(art::Event &e) override
T product(std::vector< T > dims)
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const