10 #include "Objects/Cluster.h"
17 TwoViewDeltaRayOverlapResult::TwoViewDeltaRayOverlapResult() :
18 m_isInitialized(
false),
20 m_commonMuonPfoList(),
21 m_pBestMatchedCluster(nullptr),
22 m_matchedClusterList(),
23 m_reducedChiSquared(
std::numeric_limits<float>::max())
30 const Cluster *
const pBestMatchedCluster,
const ClusterList &matchedClusterList,
const float reducedChiSquared) :
31 m_isInitialized(
true),
33 m_commonMuonPfoList(commonMuonPfoList),
34 m_pBestMatchedCluster(pBestMatchedCluster),
35 m_matchedClusterList(matchedClusterList),
36 m_reducedChiSquared(reducedChiSquared)
43 m_isInitialized(rhs.m_isInitialized),
44 m_xOverlap(rhs.GetXOverlap()),
45 m_commonMuonPfoList(rhs.GetCommonMuonPfoList()),
46 m_pBestMatchedCluster(rhs.GetBestMatchedCluster()),
47 m_matchedClusterList(rhs.GetMatchedClusterList()),
48 m_reducedChiSquared(rhs.GetReducedChiSquared())
62 unsigned int highestNHits(0);
63 const Cluster *pBestMatchedCluster(
nullptr);
67 if (!pMatchedCluster->IsAvailable())
70 if (pMatchedCluster->GetNCaloHits() > highestNHits)
72 highestNHits = pMatchedCluster->GetNCaloHits();
73 pBestMatchedCluster = pMatchedCluster;
77 return pBestMatchedCluster;
102 throw StatusCodeException(STATUS_CODE_NOT_INITIALIZED);
129 m_isInitialized(rhs.m_isInitialized),
130 m_matchingScore(rhs.m_matchingScore)
148 throw StatusCodeException(STATUS_CODE_NOT_INITIALIZED);
166 return !(*
this < rhs);
174 throw StatusCodeException(STATUS_CODE_INVALID_PARAMETER);
187 m_downsamplingFactor(0.f),
188 m_nSamplingPoints(0),
189 m_nMatchedSamplingPoints(0),
190 m_correlationCoefficient(0.f),
198 const unsigned int nMatchedSamplingPoints,
const float correlationCoefficient,
const TwoViewXOverlap &twoViewXOverlap) :
200 m_downsamplingFactor(downsamplingFactor),
201 m_nSamplingPoints(nSamplingPoints),
202 m_nMatchedSamplingPoints(nMatchedSamplingPoints),
203 m_correlationCoefficient(correlationCoefficient),
204 m_twoViewXOverlap(twoViewXOverlap)
212 m_downsamplingFactor(rhs.m_downsamplingFactor),
213 m_nSamplingPoints(rhs.m_nSamplingPoints),
214 m_nMatchedSamplingPoints(rhs.m_nMatchedSamplingPoints),
215 m_correlationCoefficient(rhs.m_correlationCoefficient),
216 m_twoViewXOverlap(rhs.m_isInitialized ? rhs.m_twoViewXOverlap :
TwoViewXOverlap(0.f, 0.f, 0.f, 0.f))
234 throw StatusCodeException(STATUS_CODE_NOT_INITIALIZED);
TwoViewTransverseOverlapResult & operator=(const TwoViewTransverseOverlapResult &rhs)
Track overlap result assigment operator.
TwoViewTransverseOverlapResult class.
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
virtual ~TrackTwoViewOverlapResult()
Destructor.
TrackTwoViewOverlapResult & operator=(const TrackTwoViewOverlapResult &rhs)
Track overlap result assigment operator.
float GetReducedChiSquared() const
Get the reduced chi squared value.
pandora::ClusterList m_matchedClusterList
The list of clusters that lie on the projected hits.
TrackTwoViewOverlapResult()
Default constructor.
virtual ~TwoViewDeltaRayOverlapResult()
Destructor.
bool m_isInitialized
Whether the track overlap result has been initialized.
TwoViewDeltaRayOverlapResult()
Default constructor.
float m_reducedChiSquared
The reduced chi squared of the best matched cluster.
bool operator<(const TwoViewTransverseOverlapResult &rhs) const
Track two view overlap result less than operator.
TwoViewTransverseOverlapResult()
Default constructor.
float GetLocallyMatchedFraction() const
Get the locally matched fraction.
pandora::PfoList m_commonMuonPfoList
The list of muon pfos whose clusters lie close to delta ray clusters in all views.
const pandora::Cluster * GetBestMatchedAvailableCluster() const
Get the best matched available cluster.
float GetXSpan0() const
Get the x span in the view 0.
bool operator>(const TrackTwoViewOverlapResult &rhs) const
Track two view overlap result greater than operator.
TwoViewXOverlap m_xOverlap
The x overlap object.
float GetXSpan1() const
Get the x span in the view 1.
const pandora::Cluster * GetBestMatchedCluster() const
Get the best matched cluster.
TwoViewDeltaRayOverlapResult class.
~TwoViewTransverseOverlapResult()
Destructor.
float m_correlationCoefficient
The correlation coefficient.
bool operator<(const TwoViewDeltaRayOverlapResult &rhs) const
Track two view overlap result less than operator.
float m_matchingScore
The compatability score for the two objects associated with the overlap result.
TwoViewDeltaRayOverlapResult & operator=(const TwoViewDeltaRayOverlapResult &rhs)
Track overlap result assigment operator.
required by fuzzyCluster table::sbnd_g4_services gaushitTruthMatch pandora
const pandora::Cluster * m_pBestMatchedCluster
The largest cluster that lies on the projected hits.
float GetTwoViewXOverlapSpan() const
Get the x overlap span.
float m_downsamplingFactor
The downsampling factor.
TrackTwoViewOverlapResult class.
unsigned int m_nSamplingPoints
The number of sampling points.
const pandora::ClusterList & GetMatchedClusterList() const
Get the matched cluster list.
bool operator<(const TrackTwoViewOverlapResult &rhs) const
Track two view overlap result less than operator.
Header file for the lar track two view overlap result class.
TwoViewXOverlap m_twoViewXOverlap
The two view x overlap object.
const pandora::PfoList & GetCommonMuonPfoList() const
Get the common muon pfo list.
BEGIN_PROLOG don t mess with this pandoraTrackGausCryoW true
bool m_isInitialized
Whether the two view delta ray overlap result has been initialized.
unsigned int m_nMatchedSamplingPoints
The number of matched sampling points.
const TwoViewXOverlap & GetXOverlap() const
Get the x overlap object.