36 caloHits.insert(caloHits.end(), isolatedHits.begin(), isolatedHits.end());
40 for (
const CaloHit *pCaloHit : caloHits)
44 const float pShower{pLArCaloHit->GetShowerProbability()};
45 if ((pTrack + pShower) > std::numeric_limits<float>::epsilon())
46 trackLikelihoods.emplace_back(pTrack / (pTrack + pShower));
49 const unsigned long N{trackLikelihoods.size()};
52 float mean{std::accumulate(std::begin(trackLikelihoods), std::end(trackLikelihoods), 0.f) / N};
73 for (
const Cluster *pCluster : allClusters)
78 const CaloHitList &isolatedHits{pCluster->GetIsolatedCaloHitList()};
79 caloHits.insert(caloHits.end(), isolatedHits.begin(), isolatedHits.end());
82 for (
const CaloHit *pCaloHit : caloHits)
86 const float pShower{pLArCaloHit->GetShowerProbability()};
87 if ((pTrack + pShower) > std::numeric_limits<float>::epsilon())
88 trackLikelihoods.emplace_back(pTrack / (pTrack + pShower));
96 const unsigned long N{trackLikelihoods.size()};
99 float mean{std::accumulate(std::begin(trackLikelihoods), std::end(trackLikelihoods), 0.f) / N};
float GetTrackProbability() const
Get the probability that the hit is track-like.
static void GetTwoDClusterList(const pandora::ParticleFlowObject *const pPfo, pandora::ClusterList &clusterList)
Get the list of 2D clusters from an input pfo.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Read the algorithm settings.
DlPfoCharacterisationAlgorithm()
Default constructor.
bool IsClearTrack(const pandora::Cluster *const pCluster) const
Whether cluster is identified as a clear track.
ParticleFlowObject class.