12 #ifndef BlurredClustering_h 13 #define BlurredClustering_h 23 class DetectorProperties;
29 class ChannelStatusProvider;
46 class BlurredClusteringAlg;
55 void CreateDebugPDF(
int run,
int subrun,
int event);
58 void ConvertBinsToClusters(
std::vector<std::vector<double>>
const& image,
59 std::vector<std::vector<int>>
const& allClusterBins,
63 std::vector<std::vector<double>> ConvertRecobHitsToVector(
65 int readoutWindowSize);
68 int FindClusters(
std::vector<std::vector<double>>
const& image,
75 std::vector<std::vector<double>> GaussianBlur(
76 std::vector<std::vector<double>>
const& image)
const;
86 TH2F* MakeHistogram(
std::vector<std::vector<double>>
const& image, TString
name)
const;
90 void SaveImage(TH2F* image,
97 void SaveImage(TH2F* image,
int pad,
int tpc,
int plane);
101 void SaveImage(TH2F* image,
102 std::vector<std::vector<int>>
const& allClusterBins,
110 std::vector<int>
const& bins)
const;
117 int ConvertWireTickToBin(
std::vector<std::vector<double>>
const& image,
int xbin,
int ybin)
const;
120 double ConvertBinToCharge(
std::vector<std::vector<double>>
const& image,
int bin)
const;
124 std::pair<int, int>
DeadWireCount(
int wire_bin,
int width)
const;
127 std::array<int, 4> FindBlurringParameters()
const;
130 double GetTimeOfBin(
std::vector<std::vector<double>>
const& image,
int bin)
const;
133 std::vector<std::vector<std::vector<double>>> MakeKernels()
const;
136 unsigned int NumNeighbours(
int nx, std::vector<bool>
const& used,
int bin)
const;
139 bool PassesTimeCut(std::vector<double>
const& times,
double time)
const;
164 std::vector<std::vector<art::Ptr<recob::Hit>>>
fHitMap;
171 TCanvas* fDebugCanvas{
nullptr};
unsigned int fNeighboursThreshold
std::vector< std::vector< art::Ptr< recob::Hit > > > fHitMap
Cluster finding and building.
std::vector< bool > fDeadWires
art framework interface to geometry description
IDparameter< geo::WireID > WireID
Member type of validated geo::WireID parameter.
float DeadWireCount(const TCSlice &slc, const TrajPoint &tp1, const TrajPoint &tp2)
Class providing information about the quality of channels.
unsigned int fMinNeighbours
General LArSoft Utilities.
art::ServiceHandle< geo::Geometry const > fGeom
Filters for channels, events, etc.
Declaration of signal hit object.
QTextStream & bin(QTextStream &s)
std::vector< std::vector< std::vector< double > > > fAllKernels
Interface for experiment-specific service for channel quality info.
LArSoft geometry interface.
unsigned int GetMinSize() const noexcept
Minimum size of cluster to save.
Event finding and building.