9 #ifndef CLUSTERPARAMSALG_H 10 #define CLUSTERPARAMSALG_H 19 class GeometryUtilities;
35 int SetHits(
const std::vector<util::PxHit>&);
41 template <
typename Stream>
42 void TimeReport(Stream& stream)
const;
51 void GetFANNVector(std::vector<float>& data);
59 void PrintFANNVector();
74 bool override_DoGetAverages =
false,
75 bool override_DoGetRoughAxis =
false,
76 bool override_DoGetProfileInfo =
false,
77 bool override_DoRefineStartPointsAndDirection =
false,
78 bool override_DoGetFinalSlope =
false,
79 bool override_DoTrackShowerSep =
false,
80 bool override_DoEndCharge =
false);
97 void GetAverages(
bool override =
false);
106 void GetRoughAxis(
bool override =
false);
145 void RefineDirection(
bool override =
false);
149 void TrackShowerSeparation(
bool override =
false);
155 void GetOpeningAngle();
190 unsigned int nbins = 10);
205 unsigned int nbins = 10);
214 float MultipleHitWires();
229 size_t GetNHits()
const {
return fHitVector.size(); }
230 const std::vector<util::PxHit>&
GetHitVector()
const {
return fHitVector; }
231 int Plane()
const {
return fPlane; }
232 void SetPlane(
int p);
320 unsigned int fit_first_bin,
321 unsigned int fit_end_bin);
324 static double LinearIntegral(
double m,
double q,
double x1,
double x2);
344 template <
typename Stream>
345 void ClusterParamsAlg::TimeReport(Stream& stream)
const 348 stream <<
" <<ClusterParamsAlg::TimeReport>> starts...\n";
349 for (
size_t i = 0; i < fTimeRecord_ProcName.size(); ++i) {
351 stream <<
" Function: " << fTimeRecord_ProcName[i].c_str()
352 <<
" ... Time = " << fTimeRecord_ProcTime[i] <<
" [s]\n";
354 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
Float_t x1[n_points_granero]
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
Float_t x2[n_points_geant4]
void SetVerbose(bool yes=true)
std::string fNeuralNetPath
std::vector< double > fChargeCutoffThreshold