LArHierarchyHelper class.
More...
#include <LArHierarchyHelper.h>
|
typedef std::set< const
pandora::MCParticle * > | MCParticleSet |
|
typedef std::set< const
pandora::ParticleFlowObject * > | PfoSet |
|
|
static const pandora::MCParticle * | GetMCPrimaries (const pandora::MCParticleList &mcParticleList, MCParticleSet &primaries) |
| Retrieves the primary MC particles from a list and returns the root (neutrino) for hierarchy, if it exists. More...
|
|
static const
pandora::ParticleFlowObject * | GetRecoPrimaries (const pandora::PfoList &pfoList, PfoSet &primaries) |
| Retrieves the primary PFOs from a list and returns the root (neutrino) for hierarchy, if it exists. More...
|
|
void lar_content::LArHierarchyHelper::FillMCHierarchy |
( |
const pandora::MCParticleList & |
mcParticleList, |
|
|
const pandora::CaloHitList & |
caloHitList, |
|
|
const FoldingParameters & |
foldParameters, |
|
|
MCHierarchy & |
hierarchy |
|
) |
| |
|
static |
Fill an MC hierarchy based on the specified folding criteria (see MCHierarchy::FillHierarchy for details)
- Parameters
-
mcParticleList | The MCParticle list to use to fill this hierarchy |
caloHitList | The list of CaloHits to use to fill this hierarchy |
foldParameters | The folding parameters to use for the hierarchy |
hierarchy | The output MC hierarchy |
Definition at line 1401 of file LArHierarchyHelper.cc.
1404 hierarchy.FillHierarchy(mcParticleList, caloHitList, foldParameters);
void lar_content::LArHierarchyHelper::FillRecoHierarchy |
( |
const pandora::PfoList & |
pfoList, |
|
|
const FoldingParameters & |
foldParameters, |
|
|
RecoHierarchy & |
hierarchy |
|
) |
| |
|
static |
Fill a reconstructed hierarchy based on the specified folding criteria (see RecoHierarchy::FillHierarchy for details)
- Parameters
-
pfoList | The ParticleFlowObject list to use to fill this hierarchy |
foldParameters | The folding parameters to use for the hierarchy |
hierarchy | The output reconstructed hierarchy |
Definition at line 1409 of file LArHierarchyHelper.cc.
1411 hierarchy.FillHierarchy(pfoList, foldParameters);
const MCParticle * lar_content::LArHierarchyHelper::GetMCPrimaries |
( |
const pandora::MCParticleList & |
mcParticleList, |
|
|
MCParticleSet & |
primaries |
|
) |
| |
|
staticprivate |
Retrieves the primary MC particles from a list and returns the root (neutrino) for hierarchy, if it exists.
- Parameters
-
mcParticleList | The input list of MC particles |
primaries | The output set of primary MC particles |
- Returns
- The root neutrino, if it exists, or nullptr
Definition at line 1424 of file LArHierarchyHelper.cc.
1426 const MCParticle *pRoot{
nullptr};
1427 for (
const MCParticle *pMCParticle : mcParticleList)
1433 primaries.insert(pPrimary);
1435 primaries.insert(pPrimary);
1437 catch (
const StatusCodeException &)
1440 pRoot = pMCParticle;
1441 else if (pMCParticle->GetParticleId() != 111 && pMCParticle->GetParticleId() < 1e9)
1442 std::cout <<
"LArHierarchyHelper::MCHierarchy::FillHierarchy: MC particle with PDG code " << pMCParticle->GetParticleId()
1443 <<
" at address " << pMCParticle <<
" has no associated primary particle" << std::endl;
static const pandora::MCParticle * GetPrimaryMCParticle(const pandora::MCParticle *const pMCParticle)
Get the primary parent mc particle.
static bool IsTriggeredBeamParticle(const pandora::MCParticle *const pMCParticle)
Returns true if passed a primary triggered beam MCParticle.
BEGIN_PROLOG could also be cout
static bool IsNeutrino(const pandora::MCParticle *const pMCParticle)
Whether a mc particle is a neutrino or antineutrino.
const ParticleFlowObject * lar_content::LArHierarchyHelper::GetRecoPrimaries |
( |
const pandora::PfoList & |
pfoList, |
|
|
PfoSet & |
primaries |
|
) |
| |
|
staticprivate |
Retrieves the primary PFOs from a list and returns the root (neutrino) for hierarchy, if it exists.
- Parameters
-
pfoList | The input list of PFOs |
primaries | The output set of primary PFOs |
- Returns
- The root neutrino, if it exists, or nullptr
Definition at line 1450 of file LArHierarchyHelper.cc.
1452 const ParticleFlowObject *pRoot{
nullptr};
1454 for (
const ParticleFlowObject *pPfo : pfoList)
1476 primaries.insert(pPfo);
1484 cosmicPfos.insert(pPfo);
1491 const PfoList &children{pRoot->GetDaughterPfoList()};
1492 for (
const ParticleFlowObject *pPrimary : children)
1493 primaries.insert(pPrimary);
1497 for (
const ParticleFlowObject *pPfo : cosmicPfos)
1498 primaries.insert(pPfo);
static int GetHierarchyTier(const pandora::ParticleFlowObject *const pPfo)
Determine the position in the hierarchy for the MCParticle.
static bool IsTestBeam(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a test beam particle.
static const pandora::ParticleFlowObject * GetParentPfo(const pandora::ParticleFlowObject *const pPfo)
Get the primary parent pfo.
static bool IsNeutrino(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a neutrino or (antineutrino)
std::set< const pandora::ParticleFlowObject * > PfoSet
Finds the matches between reconstructed and MC hierarchies.
- Parameters
-
mcHierarchy | The MC hiearchy |
recoHierarchy | The reconstructed hierarchy |
matchInfo | The output match information |
Definition at line 1416 of file LArHierarchyHelper.cc.
1418 matchInfo.Match(mcHierarchy, recoHierarchy);
The documentation for this class was generated from the following files: