LArPfoHelper class. More...
#include <LArPfoHelper.h>
Public Member Functions | |
template<typename T > | |
void | SlidingFitTrajectoryImpl (const T *const pT, const CartesianVector &vertexPosition, const unsigned int layerWindow, const float layerPitch, LArTrackStateVector &trackStateVector, IntVector *const pIndexVector) |
Static Public Member Functions | |
static void | GetCoordinateVector (const pandora::ParticleFlowObject *const pPfo, const pandora::HitType &hitType, pandora::CartesianPointVector &coordinateVector) |
Get a list of coordinates of a particular hit type from an input pfos. More... | |
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. More... | |
static void | GetCaloHits (const pandora::ParticleFlowObject *const pPfo, const pandora::HitType &hitType, pandora::CaloHitList &caloHitList) |
Get a list of calo hits of a particular hit type from a given pfo. More... | |
static void | GetIsolatedCaloHits (const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::CaloHitList &caloHitList) |
Get a list of isolated calo hits of a particular hit type from a list of pfos. More... | |
static void | GetIsolatedCaloHits (const pandora::ParticleFlowObject *const pPfo, const pandora::HitType &hitType, pandora::CaloHitList &caloHitList) |
Get a list of isolated calo hits of a particular hit type from a given pfo. More... | |
static void | GetAllCaloHits (const pandora::ParticleFlowObject *pPfo, pandora::CaloHitList &caloHitList) |
Get a list of all calo hits (including isolated) of all types from a given pfo. More... | |
static void | GetClusters (const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::ClusterList &clusterList) |
Get a list of clusters of a particular hit type from a list of pfos. More... | |
static void | GetClusters (const pandora::ParticleFlowObject *const pPfo, const pandora::HitType &hitType, pandora::ClusterList &clusterList) |
Get a list of clusters of a particular hit type from a given pfo. More... | |
static unsigned int | GetNumberOfTwoDHits (const pandora::ParticleFlowObject *const pPfo) |
Get the number of 2D hits of a PFO. More... | |
static void | GetTwoDClusterList (const pandora::ParticleFlowObject *const pPfo, pandora::ClusterList &clusterList) |
Get the list of 2D clusters from an input pfo. More... | |
static void | GetThreeDClusterList (const pandora::ParticleFlowObject *const pPfo, pandora::ClusterList &clusterList) |
Get the list of 3D clusters from an input pfo. More... | |
static void | GetAllConnectedPfos (const pandora::PfoList &inputPfoList, pandora::PfoList &outputPfoList) |
Get a flat list of all pfos, recursively including all daughters and parents associated with those pfos in an input list. More... | |
static void | GetAllConnectedPfos (const pandora::ParticleFlowObject *const pPfo, pandora::PfoList &outputPfoList) |
Get a flat list of all pfos, recursively including all daughters and parents associated with an input pfo. More... | |
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 list. More... | |
static void | GetAllDownstreamPfos (const pandora::ParticleFlowObject *const pPfo, pandora::PfoList &outputPfoList) |
Get a flat list of all pfos, recursively, of all daughters and parents associated with an input pfo. More... | |
static void | GetAllDownstreamPfos (const pandora::ParticleFlowObject *const pPfo, pandora::PfoList &outputTrackPfoList, pandora::PfoList &outputLeadingShowerPfoList) |
Get flat lists of all downstream track pfos and also shower-like pfos. This method collects together all track-like particles downstream of the root particle, stopping at a leading shower and then storing that leading shower in a separate list. More... | |
static int | GetHierarchyTier (const pandora::ParticleFlowObject *const pPfo) |
Determine the position in the hierarchy for the MCParticle. More... | |
static float | GetTwoDLengthSquared (const pandora::ParticleFlowObject *const pPfo) |
Calculate length of Pfo using 2D clusters. More... | |
static float | GetThreeDLengthSquared (const pandora::ParticleFlowObject *const pPfo) |
Calculate length of Pfo using 3D clusters. More... | |
static float | GetClosestDistance (const pandora::ParticleFlowObject *const pPfo, const pandora::Cluster *const pCluster) |
Get closest distance between Pfo and cluster. More... | |
static float | GetThreeDSeparation (const pandora::ParticleFlowObject *const pPfo1, const pandora::ParticleFlowObject *const pPfo2) |
Get distance between two Pfos using 3D clusters. More... | |
static bool | IsTwoD (const pandora::ParticleFlowObject *const pPfo) |
Does Pfo contain 2D clusters. More... | |
static bool | IsThreeD (const pandora::ParticleFlowObject *const pPfo) |
Does Pfo contain 3D clusters. More... | |
static bool | IsTrack (const pandora::ParticleFlowObject *const pPfo) |
Return track flag based on Pfo Particle ID. More... | |
static bool | IsShower (const pandora::ParticleFlowObject *const pPfo) |
Return shower flag based on Pfo Particle ID. More... | |
static int | GetPrimaryNeutrino (const pandora::ParticleFlowObject *const pPfo) |
Get primary neutrino or antineutrino. More... | |
static bool | IsFinalState (const pandora::ParticleFlowObject *const pPfo) |
Whether a pfo is a primary parent particle. More... | |
static bool | IsNeutrinoFinalState (const pandora::ParticleFlowObject *const pPfo) |
Whether a pfo is a final-state particle from a neutrino (or antineutrino) interaction. More... | |
static bool | IsNeutrino (const pandora::ParticleFlowObject *const pPfo) |
Whether a pfo is a neutrino or (antineutrino) More... | |
static bool | IsTestBeamFinalState (const pandora::ParticleFlowObject *const pPfo) |
Whether a pfo is a final-state particle from a test beam particle interaction. More... | |
static bool | IsTestBeam (const pandora::ParticleFlowObject *const pPfo) |
Whether a pfo is a test beam particle. More... | |
static void | GetRecoNeutrinos (const pandora::PfoList *const pPfoList, pandora::PfoList &recoNeutrinos) |
Get neutrino pfos from an input pfo list. More... | |
static const pandora::ParticleFlowObject * | GetParentPfo (const pandora::ParticleFlowObject *const pPfo) |
Get the primary parent pfo. More... | |
static const pandora::ParticleFlowObject * | GetParentNeutrino (const pandora::ParticleFlowObject *const pPfo) |
Get primary neutrino or antineutrino. More... | |
static const pandora::Vertex * | GetVertex (const pandora::ParticleFlowObject *const pPfo) |
Get the pfo vertex. More... | |
static const pandora::Vertex * | GetTestBeamInteractionVertex (const pandora::ParticleFlowObject *const pPfo) |
Get the pfo test beam interaction vertex. More... | |
static const pandora::Vertex * | GetVertexWithLabel (const pandora::VertexList &vertexList, const pandora::VertexLabel vertexLabel) |
Get the vertex with a specific vertex label in a given vertex list. More... | |
static void | GetSlidingFitTrajectory (const pandora::CartesianPointVector &pointVector, const pandora::CartesianVector &vertexPosition, const unsigned int layerWindow, const float layerPitch, LArTrackStateVector &trackStateVector, pandora::IntVector *const pIndexVector=nullptr) |
Apply 3D sliding fit to a set of 3D points and return track trajectory. More... | |
static void | GetSlidingFitTrajectory (const pandora::ParticleFlowObject *const pPfo, const pandora::Vertex *const pVertex, const unsigned int slidingFitHalfWindow, const float layerPitch, LArTrackStateVector &trackStateVector) |
Apply 3D sliding fit to Pfo and return track trajectory. More... | |
static LArShowerPCA | GetPrincipalComponents (const pandora::CartesianPointVector &pointVector, const pandora::CartesianVector &vertexPosition) |
Perform PCA analysis on a set of 3D points and return results. More... | |
static LArShowerPCA | GetPrincipalComponents (const pandora::ParticleFlowObject *const pPfo, const pandora::Vertex *const pVertex) |
Perform PCA analysis on Pfo and return results. More... | |
static bool | SortByHitProjection (const LArTrackTrajectoryPoint &lhs, const LArTrackTrajectoryPoint &rhs) |
Sort pfos by number of constituent hits. More... | |
static bool | SortByNHits (const pandora::ParticleFlowObject *const pLhs, const pandora::ParticleFlowObject *const pRhs) |
Sort pfos by number of constituent hits. More... | |
static void | GetBreadthFirstHierarchyRepresentation (const pandora::ParticleFlowObject *const pPfo, pandora::PfoList &pfoList) |
Retrieve a linearised representation of the PFO hierarchy in breadth first order. This iterates over the PFO hierarchy in a manor that sees primaries at the front of the list, with progressively deeper tiers later in the list. This is useful for some visualisation cases. More... | |
Static Private Member Functions | |
template<typename T > | |
static void | SlidingFitTrajectoryImpl (const T *const pT, const pandora::CartesianVector &vertexPosition, const unsigned int layerWindow, const float layerPitch, LArTrackStateVector &trackStateVector, pandora::IntVector *const pIndexVector=nullptr) |
Implementation of sliding fit trajectory extraction. More... | |
LArPfoHelper class.
Definition at line 23 of file LArPfoHelper.h.
|
static |
Get a list of all calo hits (including isolated) of all types from a given pfo.
pPfo | the input Pfo |
caloHitList | the output list of calo hits |
Definition at line 76 of file LArPfoHelper.cc.
|
static |
Get a flat list of all pfos, recursively including all daughters and parents associated with those pfos in an input list.
inputPfoList | the input pfo list |
outputPfoList | to receive the output pfo list |
|
static |
Get a flat list of all pfos, recursively including all daughters and parents associated with an input pfo.
pPfo | the input Pfo |
outputPfoList | to receive the output pfo list |
|
static |
Get a flat list of all pfos, recursively, of all daughters associated with those pfos in an input list.
inputPfoList | the input pfo list |
outputPfoList | to receive the output pfo list |
|
static |
Get a flat list of all pfos, recursively, of all daughters and parents associated with an input pfo.
pPfo | the input Pfo |
outputPfoList | to receive the output pfo list |
|
static |
Get flat lists of all downstream track pfos and also shower-like pfos. This method collects together all track-like particles downstream of the root particle, stopping at a leading shower and then storing that leading shower in a separate list.
pPfo | the input pfo |
outputTrackPfoList | the output list of descendent track-like particles |
outputLeadingShowerParticles | the output list of leading shower particles |
Definition at line 188 of file LArPfoHelper.cc.
|
static |
Retrieve a linearised representation of the PFO hierarchy in breadth first order. This iterates over the PFO hierarchy in a manor that sees primaries at the front of the list, with progressively deeper tiers later in the list. This is useful for some visualisation cases.
pPfo | a PFO in the hierarchy - can be any PFO |
pfoList | the output PFO list |
Definition at line 652 of file LArPfoHelper.cc.
|
static |
Get a list of calo hits of a particular hit type from a list of pfos.
pfoList | the input list of Pfos |
hitType | the cluster hit type |
caloHitList | the output list of calo hits |
|
static |
Get a list of calo hits of a particular hit type from a given pfo.
pPfo | the input Pfo |
hitType | the cluster hit type |
caloHitList | the output list of calo hits |
|
static |
Get closest distance between Pfo and cluster.
pPfo | the address of the input Pfo |
pCluster | the address of the input cluster |
Definition at line 278 of file LArPfoHelper.cc.
|
static |
Get a list of clusters of a particular hit type from a list of pfos.
pfoList | the input list of Pfos |
hitType | the cluster hit type |
clusterList | the output list of clusters |
|
static |
Get a list of clusters of a particular hit type from a given pfo.
pPfo | the input Pfo |
hitType | the cluster hit type |
clusterList | the output list of clusters |
|
static |
Get a list of coordinates of a particular hit type from an input pfos.
pPfo | the address of the input Pfo |
hitType | the cluster hit type |
coordinateVector | the output list of coordinates |
Definition at line 27 of file LArPfoHelper.cc.
|
static |
Determine the position in the hierarchy for the MCParticle.
pPfo | the input Pfo |
Definition at line 219 of file LArPfoHelper.cc.
|
static |
Get a list of isolated calo hits of a particular hit type from a list of pfos.
pfoList | the input list of Pfos |
hitType | the cluster hit type |
caloHitList | the output list of calo hits |
|
static |
Get a list of isolated calo hits of a particular hit type from a given pfo.
pPfo | the input Pfo |
hitType | the cluster hit type |
caloHitList | the output list of isolated calo hits |
|
static |
Get the number of 2D hits of a PFO.
pPfo | the pfo to check |
Definition at line 109 of file LArPfoHelper.cc.
|
static |
Get primary neutrino or antineutrino.
pPfo | the address of the Pfo |
Definition at line 459 of file LArPfoHelper.cc.
|
static |
Get the primary parent pfo.
pPfo | the address of the Pfo |
Definition at line 445 of file LArPfoHelper.cc.
|
static |
Get primary neutrino or antineutrino.
pPfo | the address of the Pfo |
Definition at line 364 of file LArPfoHelper.cc.
|
static |
Perform PCA analysis on a set of 3D points and return results.
pointVector | the input list of 3D positions |
vertexPosition | the input vertex position |
|
static |
Perform PCA analysis on Pfo and return results.
pPfo | the address of the input Pfo |
pVertex | the address of the input vertex |
|
static |
Get neutrino pfos from an input pfo list.
pPfoList | the input pfo list |
recoNeutrinos | to receive the list of neutrino pfos |
Definition at line 431 of file LArPfoHelper.cc.
|
static |
Apply 3D sliding fit to a set of 3D points and return track trajectory.
pointVector | the input list of 3D positions |
vertexPosition | the input vertex position |
slidingFitHalfWindow | size of half window for sliding linear fit |
layerPitch | size of pitch for sliding linear fit |
trackStateVector | the output track trajectory |
pIndexVector | lookup vector of spacepoint indices to store trajectory point sorting |
|
static |
Apply 3D sliding fit to Pfo and return track trajectory.
pPfo | the address of the input Pfo |
pVertex | the address of the input vertex |
slidingFitHalfWindow | size of half window for sliding linear fit |
layerPitch | size of pitch for sliding linear fit |
trackStateVector | the output track trajectory |
|
static |
Get the pfo test beam interaction vertex.
pPfo | the address of the Pfo |
Definition at line 499 of file LArPfoHelper.cc.
|
static |
Get the list of 3D clusters from an input pfo.
pPfo | the input Pfo |
clusterList | the output list of clusters |
Definition at line 136 of file LArPfoHelper.cc.
|
static |
Calculate length of Pfo using 3D clusters.
pPfo | the input Pfo |
Definition at line 258 of file LArPfoHelper.cc.
|
static |
Get distance between two Pfos using 3D clusters.
pPfo | the address of the first Pfo |
pPfo | the address of the second Pfo |
Definition at line 303 of file LArPfoHelper.cc.
|
static |
Get the list of 2D clusters from an input pfo.
pPfo | the input Pfo |
clusterList | the output list of clusters |
Definition at line 123 of file LArPfoHelper.cc.
|
static |
Calculate length of Pfo using 2D clusters.
pPfo | the input Pfo |
Definition at line 238 of file LArPfoHelper.cc.
|
static |
Get the pfo vertex.
pPfo | the address of the Pfo |
Definition at line 471 of file LArPfoHelper.cc.
|
static |
Get the vertex with a specific vertex label in a given vertex list.
vertexList | vertex list |
vertexLabel | target vertex label type |
Definition at line 514 of file LArPfoHelper.cc.
|
static |
Whether a pfo is a primary parent particle.
pPfo | the address of the Pfo |
Definition at line 379 of file LArPfoHelper.cc.
|
static |
Whether a pfo is a neutrino or (antineutrino)
pPfo | the address of the Pfo |
Definition at line 399 of file LArPfoHelper.cc.
|
static |
Whether a pfo is a final-state particle from a neutrino (or antineutrino) interaction.
pPfo | the address of the Pfo |
Definition at line 392 of file LArPfoHelper.cc.
|
static |
Return shower flag based on Pfo Particle ID.
pPfo | the address of the Pfo |
Definition at line 354 of file LArPfoHelper.cc.
|
static |
Whether a pfo is a test beam particle.
pPfo | the address of the Pfo |
Definition at line 418 of file LArPfoHelper.cc.
|
static |
Whether a pfo is a final-state particle from a test beam particle interaction.
pPfo | the address of the Pfo |
Definition at line 411 of file LArPfoHelper.cc.
|
static |
Does Pfo contain 3D clusters.
pPfo | the address of the Pfo |
Definition at line 331 of file LArPfoHelper.cc.
|
static |
|
static |
Does Pfo contain 2D clusters.
pPfo | the address of the Pfo |
Definition at line 318 of file LArPfoHelper.cc.
|
staticprivate |
Implementation of sliding fit trajectory extraction.
t | the input information |
pVertex | the address of the input vertex |
slidingFitHalfWindow | size of half window for sliding linear fit |
layerPitch | size of pitch for sliding linear fit |
trackStateVector | the output track trajectory |
pIndexVector | lookup vector of spacepoint indices to store trajectory point sorting |
void lar_content::LArPfoHelper::SlidingFitTrajectoryImpl | ( | const T *const | pT, |
const CartesianVector & | vertexPosition, | ||
const unsigned int | layerWindow, | ||
const float | layerPitch, | ||
LArTrackStateVector & | trackStateVector, | ||
IntVector *const | pIndexVector | ||
) |
Definition at line 682 of file LArPfoHelper.cc.
|
static |
Sort pfos by number of constituent hits.
pLhs | address of first pfo |
pRhs | address of second pfo |
Definition at line 593 of file LArPfoHelper.cc.
|
static |
Sort pfos by number of constituent hits.
pLhs | address of first pfo |
pRhs | address of second pfo |
Definition at line 610 of file LArPfoHelper.cc.