65 fPosition(Eigen::Vector3f::Zero()),
85 unsigned int statusBits,
92 float overlapFraction,
93 float chargeAsymmetry,
97 const std::vector<float>& hitDelTSigVec,
98 const std::vector<geo::WireID>& wireIDs) :
138 unsigned int statusBits,
145 float overlapFraction,
146 float chargeAsymmetry,
150 const std::vector<float>& hitDelTSigVec,
151 const std::vector<geo::WireID>& wireIDs)
179 o <<
"ClusterHit3D has " << c.
getHits().size() <<
" hits associated";
195 m_avePosition(Eigen::Vector3f::Zero()),
230 o <<
" Principal Components Axis is not valid" <<
std::endl;
246 m_startPosition{0.,0.,0.},
247 m_endPosition{0.,0.,0.},
254 const float* startPosition,
255 const float* endPosition,
257 m_statusBits(statusBits),
258 m_pcaResults(pcaResults),
259 m_totalCharge(totalCharge),
260 m_startPosition{startPosition[0],startPosition[1],startPosition[2]},
386 m_view = hit->
View();
388 m_hitVector.push_back(clusterHit);
void initialize(size_t id, unsigned int statusBits, const Eigen::Vector3f &position, float totalCharge, float avePeakTime, float deltaPeakTime, float sigmaPeakTime, float hitChiSquare, float overlapFraction, float chargeAsymmetry, float docaToAxis, float arclenToPoca, const ClusterHit2DVec &hitVec, const std::vector< float > &hitDelTSigVec, const std::vector< geo::WireID > &wireIDVec)
float fDeltaPeakTime
Largest delta peak time of associated recob::Hits.
void setWireID(const geo::WireID &wid) const
bool m_svdOK
SVD Decomposition was successful.
Cluster3D operator+(Cluster3D)
float fTotalCharge
Sum of charges of all associated recob::Hits.
void flipAxis(size_t axis)
double m_aveHitDoca
Average doca of hits used in PCA.
const geo::WireID & WireID() const
const float * getStartPosition() const
unsigned m_statusBits
Volatile status information of this 3D hit.
size_t fID
"id" of this hit (useful for indexing)
float Integral() const
Integral under the calibrated signal waveform of the hit, in tick x ADC units.
geo::View_t View() const
View for the plane of the hit.
WireID_t Wire
Index of the wire within its plane.
float fSigmaPeakTime
Quad sum of peak time sigmas.
float m_docaToAxis
DOCA of hit at POCA to associated cluster axis.
friend bool operator<(const ClusterHit2D &a, const ClusterHit2D &b)
float fAvePeakTime
Average peak time of all associated recob::Hits.
Q_EXPORT QTSManip setprecision(int p)
friend bool operator<(const Cluster3D &a, const Cluster3D &b)
const recob::Hit * getHit() const
std::vector< geo::WireID > fWireIDVector
Wire ID's for the planes making up hit.
std::vector< float > fHitDelTSigVec
Delta t of hit to matching pair / sig.
EigenValues m_eigenValues
Eigen values from SVD decomposition.
const recob::Hit * m_hit
Hit we are augmenting.
IDparameter< geo::WireID > WireID
Member type of validated geo::WireID parameter.
float m_arcLenToPoca
arc length to POCA along cluster axis
float m_totalCharge
Total charge in the cluster.
Eigen::Vector3f EigenValues
unsigned int fStatusBits
Volatile status information of this 3D hit.
float m_timeTicks
The time (in ticks) for this hit.
float fOverlapFraction
Hit overlap fraction start/stop of triplet.
float m_endPosition[3]
"end" position for cluster
Eigen::Vector3f m_avePosition
Average position of hits fed to PCA.
static int max(int a, int b)
float fHitChiSquare
Hit ChiSquare relative to the average time.
PlaneID_t Plane
Index of the plane within its TPC.
float fDocaToAxis
DOCA to the associated cluster axis.
float PeakTimeMinusRMS(float sigmas=+1.) const
Detector simulation of raw signals on wires.
Q_EXPORT QTSManip setw(int w)
std::vector< const reco::ClusterHit2D * > ClusterHit2DVec
Declaration of signal hit object.
float fChargeAsymmetry
Assymetry of average of two closest to third charge.
ClusterHit2DVec fHitVector
Hits comprising this 3D hit.
float fArclenToPoca
arc length along axis to DOCA point
geo::WireID m_wireID
Keep track this particular hit's wireID.
Eigen::Matrix3f EigenVectors
int m_clusterIdx
ID for this cluster.
float SigmaPeakTime() const
Uncertainty for the signal peak, in tick units.
2D representation of charge deposited in the TDC/wire plane
constexpr PlaneID const & planeID() const
friend bool operator<(const PrincipalComponents &a, const PrincipalComponents &b)
EigenVectors m_eigenVectors
The three principle axes.
float m_xPosition
The x coordinate for this hit.
float PeakTimePlusRMS(float sigmas=+1.) const
Returns a time sigmas RMS away from the peak time.
friend std::ostream & operator<<(std::ostream &o, const ClusterHit2D &c)
LArSoft geometry interface.
const ClusterHit2DVec & getHits() const
int getClusterIdx() const
void UpdateParameters(const reco::ClusterHit2D *hit)
QTextStream & endl(QTextStream &s)
friend std::ostream & operator<<(std::ostream &o, const Cluster3D &c)
Eigen::Vector3f fPosition
position of this hit combination in world coordinates
friend std::ostream & operator<<(std::ostream &o, const ClusterHit3D &c)
int m_numHitsUsed
Number of hits in the decomposition.
friend std::ostream & operator<<(std::ostream &o, const PrincipalComponents &a)