31 std::cout <<
"----> Running Algorithm Tool: " << this->
GetInstanceName() <<
", " << this->
GetType() << std::endl;
35 overlapTensor.GetSortedKeyClusters(sortedKeyClusters);
37 for (
const Cluster *
const pKeyCluster : sortedKeyClusters)
42 if (usedKeyClusters.count(pKeyCluster))
45 unsigned int nU(0), nV(0), nW(0);
46 TensorType::ElementList elementList;
52 if (nU * nV * nW == 0)
56 ClusterList allClusterListU, allClusterListV, allClusterListW;
57 std::cout <<
" Connections: nU " << nU <<
", nV " << nV <<
", nW " << nW <<
", nElements " << elementList.size() << std::endl;
59 for (TensorType::ElementList::const_iterator eIter = elementList.begin(); eIter != elementList.end(); ++eIter)
61 if (allClusterListU.end() == std::find(allClusterListU.begin(), allClusterListU.end(), eIter->GetClusterU()))
62 allClusterListU.push_back(eIter->GetClusterU());
63 if (allClusterListV.end() == std::find(allClusterListV.begin(), allClusterListV.end(), eIter->GetClusterV()))
64 allClusterListV.push_back(eIter->GetClusterV());
65 if (allClusterListW.end() == std::find(allClusterListW.begin(), allClusterListW.end(), eIter->GetClusterW()))
66 allClusterListW.push_back(eIter->GetClusterW());
67 usedKeyClusters.insert(eIter->GetClusterU());
69 std::cout <<
" Element " << counter++ <<
": MatchedFraction " << eIter->GetOverlapResult().GetMatchedFraction()
70 <<
", MatchedSamplingPoints " << eIter->GetOverlapResult().GetNMatchedSamplingPoints() <<
", xSpanU "
71 << eIter->GetOverlapResult().GetXOverlap().GetXSpanU() <<
", xSpanV " << eIter->GetOverlapResult().GetXOverlap().GetXSpanV()
72 <<
", xSpanW " << eIter->GetOverlapResult().GetXOverlap().GetXSpanW() <<
", xOverlapSpan "
73 << eIter->GetOverlapResult().GetXOverlap().GetXOverlapSpan() <<
", Availability (" << eIter->GetClusterU()->IsAvailable()
74 << eIter->GetClusterV()->IsAvailable() << eIter->GetClusterW()->IsAvailable() <<
") "
75 <<
", TrackFlags (" << (MU_MINUS == std::abs(eIter->GetClusterU()->GetParticleId()))
76 << (MU_MINUS == std::abs(eIter->GetClusterV()->GetParticleId()))
77 << (MU_MINUS == std::abs(eIter->GetClusterW()->GetParticleId())) <<
") " << std::endl;
81 const ClusterList clusterListU(1, eIter->GetClusterU()), clusterListV(1, eIter->GetClusterV()),
82 clusterListW(1, eIter->GetClusterW());
91 std::cout <<
" All Connected Clusters " << std::endl;
static const pandora::PandoraSettings * GetSettings(const pandora::Algorithm &algorithm)
Get the pandora settings instance.
const pandora::ClusterList & GetInputClusterList(const pandora::HitType hitType) const
Get the input cluster list corresponding to a specified hit type.
ThreeViewShowersAlgorithm class.