116 if(allHits.size() ==0 )
118 if (
verbose) std::cout <<
" no hits received! exiting " << std::endl;
128 HitIter != allHits.end(); HitIter ++){
130 unsigned int p(0),
w(0), t(0),cs(0);
147 for (
unsigned int ip=0; ip<
fNPlanes; ip++){
155 for(
unsigned int ip=0;ip<
fNPlanes;ip++) {
198 for(
unsigned int iplane=0;iplane<
fNPlanes;iplane++){
206 std::vector<art::Ptr<recob::Hit> > splittingVector =
hitlistrefined[iplane];
208 while (splittingVector.size() != 0){
216 std::vector<int> index;
217 std::vector< art::Ptr<recob::Hit> > thiscluster;
226 unsigned int plane(0),cstat(0),tpc(0),wire(0);
234 if (
verbose) std::cout <<
"Done writing " << thiscluster.size() <<
" hits to cluster with ID " << plane *100 + i << std::endl;
239 while (index.size() != 0){
244 splittingVector.erase( splittingVector.begin() + ( index.back() ) );
284 unsigned int plane,cstat,tpc,wire;
292 if ( linear_dist < radlimit ) hitlistlocal.push_back(theHit);
305 std::vector<int> &index)
312 unsigned int plane,cstat,tpc,wire;
320 if ( linear_dist<radlimit ) {
321 hitlistlocal.push_back(theHit);
330 std::sort (index.begin(), index.end());
342 std::vector< art::Ptr<recob::Hit> > hitlist_total;
344 std::vector < art::Ptr<recob::Hit> > hitlistlocal;
349 for(
unsigned int ix = 0; ix< hitlist.size(); ix++){
354 unsigned int plane(0),cstat(0),tpc(0),wire(0);
365 hitlist_total.push_back(theHit);
366 if (
verbose) std::cout <<
" adding hit @ w,t " << wire <<
" "<< time <<
" on plane " << plane << std::endl;
370 leftovers.push_back(theHit);
373 hitlistlocal.clear();
383 return hitlist_total;
395 unsigned int channel = a->
Channel();
397 p = a -> WireID().Plane;
399 w = a -> WireID().Wire;
411 std::vector< std::vector <art::Ptr< recob::Hit> > > vec;
421 std::vector <art::Ptr< recob::Hit> > vec;
std::vector< std::vector< art::Ptr< recob::Hit > > > hitlistbyplane
Double_t Get2DDistance(Double_t wire1, Double_t time1, Double_t wire2, Double_t time2) const
Collect all the geometry header files together.
void ClearandResizeVectors()
virtual double SamplingRate() const =0
Returns the period of the TPC readout electronics clock.
void FindSmallClusters(std::vector< art::Ptr< recob::Hit > > allHits)
std::vector< geo::WireID > ChannelToWire(raw::ChannelID_t const channel) const
Returns a list of wires connected to the specified TPC channel.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::vector< std::vector< art::Ptr< recob::Hit > > > hitlistleftover
virtual double Temperature() const =0
std::vector< art::Ptr< recob::Hit > > GetLeftoversByPlane(unsigned int iPlane)
T get(std::string const &key) const
void SelectLocalHitlist(std::vector< art::Ptr< recob::Hit > > hitlist, std::vector< art::Ptr< recob::Hit > > &hitlistlocal, double wire_start, double time_start, double radlimit)
util::GeometryUtilities gser
std::vector< std::vector< art::Ptr< recob::Hit > > > hitlistrefined
std::vector< art::Ptr< recob::Hit > > CreateHighHitlist(std::vector< art::Ptr< recob::Hit > > hitlist, std::vector< art::Ptr< recob::Hit > > &hitlistleftover)
float PeakTime() const
Time of the signal peak, in tick units.
Utility object to perform functions of association.
void reconfigure(fhicl::ParameterSet const &pset)
std::vector< std::vector< art::Ptr< recob::Hit > > > GetSmallClustersByPlane(unsigned int iPlane)
virtual double DriftVelocity(double efield=0., double temperature=0.) const =0
virtual double Efield(unsigned int planegap=0) const =0
Returns the nominal electric field in the specified volume.
art::ServiceHandle< geo::Geometry > geom
int GetPlaneAndTPC(art::Ptr< recob::Hit > a, unsigned int &p, unsigned int &cs, unsigned int &t, unsigned int &w)
raw::ChannelID_t Channel() const
ID of the readout channel the hit was extracted from.
std::vector< std::vector< std::vector< art::Ptr< recob::Hit > > > > smallClustList