12 #ifndef BlurredClustering_h 13 #define BlurredClustering_h 25 #include "larevt/CalibrationDBI/Interface/ChannelStatusService.h" 27 class DetectorProperties;
30 class ChannelStatusProvider;
47 class BlurredClusteringAlg;
56 void CreateDebugPDF(
int run,
int subrun,
int event);
59 void ConvertBinsToClusters(
std::vector<std::vector<double>>
const& image,
60 std::vector<std::vector<int>>
const& allClusterBins,
64 std::vector<std::vector<double>> ConvertRecobHitsToVector(
66 int readoutWindowSize);
69 int FindClusters(
std::vector<std::vector<double>>
const& image,
76 std::vector<std::vector<double>> GaussianBlur(
77 std::vector<std::vector<double>>
const& image)
const;
80 unsigned int GetMinSize() const noexcept {
return fMinSize; }
83 TH2F* MakeHistogram(
std::vector<std::vector<double>>
const& image, TString name)
const;
87 void SaveImage(TH2F* image,
94 void SaveImage(TH2F* image,
int pad,
int tpc,
int plane);
98 void SaveImage(TH2F* image,
99 std::vector<std::vector<int>>
const& allClusterBins,
107 std::vector<int>
const& bins)
const;
114 int ConvertWireTickToBin(
std::vector<std::vector<double>>
const& image,
int xbin,
int ybin)
const;
117 double ConvertBinToCharge(
std::vector<std::vector<double>>
const& image,
int bin)
const;
121 std::pair<int, int>
DeadWireCount(
int wire_bin,
int width)
const;
124 std::array<int, 4> FindBlurringParameters()
const;
127 double GetTimeOfBin(
std::vector<std::vector<double>>
const& image,
int bin)
const;
130 std::vector<std::vector<std::vector<double>>> MakeKernels()
const;
133 unsigned int NumNeighbours(
int nx, std::vector<bool>
const& used,
int bin)
const;
136 bool PassesTimeCut(std::vector<double>
const& times,
double time)
const;
161 std::vector<std::vector<art::Ptr<recob::Hit>>>
fHitMap;
168 TCanvas* fDebugCanvas{
nullptr};
169 std::string fDebugPDFName{};
174 lariov::ChannelStatusProvider
const& fChanStatus{
unsigned int fNeighboursThreshold
std::vector< std::vector< art::Ptr< recob::Hit > > > fHitMap
Declaration of signal hit object.
cout<< "Opened file "<< fin<< " ixs= "<< ixs<< endl;if(ixs==0) hhh=(TH1F *) fff-> Get("h1")
Cluster finding and building.
std::vector< bool > fDeadWires
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
IDparameter< geo::WireID > WireID
Member type of validated geo::WireID parameter.
float DeadWireCount(const TCSlice &slc, const TrajPoint &tp1, const TrajPoint &tp2)
Interface for a class providing readout channel mapping to geometry.
unsigned int fMinNeighbours
General LArSoft Utilities.
Filters for channels, events, etc.
std::vector< std::vector< std::vector< double > > > fAllKernels
art framework interface to geometry description
unsigned int GetMinSize() const noexcept
Minimum size of cluster to save.
Event finding and building.