331 if (PandoraContentApi::GetSettings(*pAlgorithm)->ShouldDisplayAlgorithmInfo())
332 std::cout <<
"----> Running Algorithm Tool: " << this->GetInstanceName() <<
", " << this->GetType() << std::endl;
334 CaloHitList parent3DHitList;
336 const unsigned int nParentHits3D(parent3DHitList.size());
338 PfoList allDaughtersPfoList;
340 const unsigned int nDaughterPfos(allDaughtersPfoList.empty() ? 0 : allDaughtersPfoList.size() - 1);
342 unsigned int nDaughterHits3DTotal(0);
344 if (nDaughterPfos > 0)
347 allDaughtersPfoList.pop_front();
349 for (
const ParticleFlowObject *
const pDaughterPfo : allDaughtersPfoList)
351 CaloHitList daughter3DHitList;
353 nDaughterHits3DTotal += daughter3DHitList.size();
360 (nParentHits3D > 0) ? static_cast<double>(nDaughterHits3DTotal) / static_cast<double>(nParentHits3D) : 0.);
362 featureVector.push_back(nDaughters);
363 featureVector.push_back(nDaughterHits3D);
364 featureVector.push_back(daughterParentNHitsRatio);
MvaTypes::MvaFeature MvaFeature
static void GetAllDownstreamPfos(const pandora::PfoList &inputPfoList, pandora::PfoList &outputPfoList)
Get a flat list of all pfos, recursively, of all daughters associated with those pfos in an input lis...
static void GetCaloHits(const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::CaloHitList &caloHitList)
Get a list of calo hits of a particular hit type from a list of pfos.