9 #ifndef CLUSTERPARAMSALG_H 10 #define CLUSTERPARAMSALG_H 19 class GeometryUtilities;
43 int SetHits(
const std::vector<util::PxHit>&);
57 template <
typename Stream>
58 void TimeReport(Stream&
stream)
const;
67 void GetFANNVector(std::vector<float>&
data);
75 void PrintFANNVector();
90 bool override_DoGetAverages =
false,
91 bool override_DoGetRoughAxis =
false,
92 bool override_DoGetProfileInfo =
false,
93 bool override_DoRefineStartPointsAndDirection =
false,
94 bool override_DoGetFinalSlope =
false,
95 bool override_DoTrackShowerSep =
false,
96 bool override_DoEndCharge =
false);
117 void GetAverages(
bool override =
false);
126 void GetRoughAxis(
bool override =
false);
165 void RefineDirection(
bool override =
false);
169 void TrackShowerSeparation(
bool override =
false);
179 void GetOpeningAngle();
184 return fRoughBeginPoint;
189 return fRoughEndPoint;
195 return fRough2DSlope;
200 return fRough2DIntercept;
230 unsigned int nbins = 10);
245 unsigned int nbins = 10);
254 float MultipleHitWires();
276 return fHitVector.size();
278 const std::vector<util::PxHit>&
288 void SetPlane(
int p);
376 unsigned int fit_first_bin,
377 unsigned int fit_end_bin);
380 static double LinearIntegral(
double m,
double q,
double x1,
double x2);
400 template <
typename Stream>
402 ClusterParamsAlg::TimeReport(Stream&
stream)
const 405 stream <<
" <<ClusterParamsAlg::TimeReport>> starts...\n";
406 for (
size_t i = 0; i < fTimeRecord_ProcName.size(); ++i) {
408 stream <<
" Function: " << fTimeRecord_ProcName[i].c_str()
409 <<
" ... Time = " << fTimeRecord_ProcTime[i] <<
" [s]\n";
411 stream <<
" <<ClusterParamsAlg::TimeReport>> ends...\n";
const util::PxPoint & RoughStartPoint()
bool fFinishedGetRoughAxis
Namespace for general, non-LArSoft-specific utilities.
std::vector< double > fCoarseChargeProfile
void SetRefineDirectionQMin(double qmin)
std::vector< std::string > fTimeRecord_ProcName
util::PxPoint fRoughBeginPoint
void setNeuralNetPath(std::string s)
std::vector< util::PxHit > fHitVector
Cluster finding and building.
bool fFinishedGetFinalSlope
double fProfileIntegralBackward
bool fFinishedRefineStartPointAndDirection
const cluster_params & GetParams() const
double fProfileIntegralForward
cluster::cluster_params fParams
bool fFinishedGetEndCharges
const std::vector< util::PxHit > & GetHitVector() const
std::vector< double > fTimeRecord_ProcTime
bool fFinishedGetProfileInfo
std::vector< double > fChargeProfile
void SetMinNHits(size_t nhit)
bool fFinishedRefineDirection
std::vector< double > fChargeProfileNew
util::PxPoint fRoughEndPoint
size_t fMinNHits
Cut value for # hits: below this value clusters are not evaluated.
bool fFinishedRefineStartPoints
const util::PxPoint & RoughEndPoint()
bool fFinishedTrackShowerSep
bool fFinishedGetAverages
void SetVerbose(bool yes=true)
std::string fNeuralNetPath
std::vector< double > fChargeCutoffThreshold