LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "LArPandoraOutput.h"
Classes | |
class | Settings |
Settings class. More... | |
Static Public Member Functions | |
static void | ProduceArtOutput (const Settings &settings, const IdToHitMap &idToHitMap, art::Event &evt) |
Convert the Pandora PFOs into ART clusters and write into ART event. More... | |
static bool | GetPandoraInstance (const pandora::Pandora *const pPrimaryPandora, const std::string &name, const pandora::Pandora *&pPandoraInstance) |
Get the address of a pandora instance with a given name. More... | |
static void | GetPandoraSlices (const pandora::Pandora *const pPrimaryPandora, pandora::PfoVector &slicePfos) |
Get the slice pfos - one pfo per slice. More... | |
static bool | IsClearCosmic (const pandora::ParticleFlowObject *const pPfo) |
Check if the input pfo is an unambiguous cosmic ray. More... | |
static bool | IsFromSlice (const pandora::ParticleFlowObject *const pPfo) |
Check if the input pfo is from a slice. More... | |
static unsigned int | GetSliceIndex (const pandora::ParticleFlowObject *const pPfo) |
Get the index of the slice from which this pfo was produced. More... | |
static pandora::PfoVector | CollectPfos (const pandora::Pandora *const pPrimaryPandora) |
Collect the current pfos (including all downstream pfos) from the master pandora instance. More... | |
static pandora::PfoVector | CollectAllPfoOutcomes (const pandora::Pandora *const pPrimaryPandora) |
Collect the pfos (including all downstream pfos) from the master and daughter pandora instances. More... | |
static void | CollectPfos (const pandora::PfoList &parentPfoList, pandora::PfoVector &pfoVector) |
Collect a sorted list of all downstream pfos of an input list of parent. More... | |
static pandora::VertexVector | CollectVertices (const pandora::PfoVector &pfoVector, IdToIdVectorMap &pfoToVerticesMap, std::function< const pandora::Vertex *const (const pandora::ParticleFlowObject *const)> fCriteria) |
Collect all vertices contained in the input pfo list Order is guaranteed provided pfoVector is ordered. More... | |
static pandora::ClusterList | CollectClusters (const pandora::PfoVector &pfoVector, IdToIdVectorMap &pfoToClustersMap) |
Collect a sorted list of all 2D clusters contained in the input pfo list Order is guaranteed provided pfoVector is ordered. More... | |
static void | Collect3DHits (const pandora::ParticleFlowObject *const pPfo, pandora::CaloHitVector &caloHits) |
Collect a sorted vector of all 3D hits in the input pfo. More... | |
static pandora::CaloHitList | Collect3DHits (const pandora::PfoVector &pfoVector, IdToIdVectorMap &pfoToThreeDHitsMap) |
Collect a sorted list of all 3D hits contained in the input pfo list Order is guaranteed provided pfoVector is ordered. More... | |
template<typename T > | |
static size_t | GetId (const T *const pT, const std::list< const T * > &tList) |
Find the index of an input object in an input list. Throw an exception if it doesn't exist. More... | |
template<typename T > | |
static size_t | GetId (const T *const pT, const std::vector< const T * > &tVector) |
Find the index of an input object in an input vector. Throw an exception if it doesn't exist. More... | |
static void | GetPandoraToArtHitMap (const pandora::ClusterList &clusterList, const pandora::CaloHitList &threeDHitList, const IdToHitMap &idToHitMap, CaloHitToArtHitMap &pandoraHitToArtHitMap) |
Collect all 2D and 3D hits that were used / produced in the reconstruction and map them to their corresponding ART hit. More... | |
static art::Ptr< recob::Hit > | GetHit (const IdToHitMap &idToHitMap, const pandora::CaloHit *const pCaloHit) |
Look up ART hit from an input Pandora hit. More... | |
static void | BuildVertices (const pandora::VertexVector &vertexVector, VertexCollection &outputVertices) |
Convert pandora vertices to ART vertices and add them to the output vector. More... | |
static void | BuildSpacePoints (const art::Event &event, const std::string &instanceLabel, const pandora::CaloHitList &threeDHitList, const CaloHitToArtHitMap &pandoraHitToArtHitMap, SpacePointCollection &outputSpacePoints, SpacePointToHitCollection &outputSpacePointsToHits) |
Convert pandora 3D hits to ART spacepoints and add them to the output vector Create the associations between spacepoints and hits. More... | |
static void | BuildClusters (const art::Event &event, const std::string &instanceLabel, const pandora::ClusterList &clusterList, const CaloHitToArtHitMap &pandoraHitToArtHitMap, const IdToIdVectorMap &pfoToClustersMap, ClusterCollection &outputClusters, ClusterToHitCollection &outputClustersToHits, IdToIdVectorMap &pfoToArtClustersMap) |
Convert pandora 2D clusters to ART clusters and add them to the output vector Create the associations between clusters and hits. For multiple drift volumes, each pandora cluster can correspond to multiple ART clusters. More... | |
static void | BuildPFParticles (const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, const IdToIdVectorMap &pfoToVerticesMap, const IdToIdVectorMap &pfoToThreeDHitsMap, const IdToIdVectorMap &pfoToArtClustersMap, PFParticleCollection &outputParticles, PFParticleToVertexCollection &outputParticlesToVertices, PFParticleToSpacePointCollection &outputParticlesToSpacePoints, PFParticleToClusterCollection &outputParticlesToClusters) |
Convert between pfos and PFParticles and add them to the output vector Create the associations between PFParticle and vertices, spacepoints and clusters. More... | |
static void | AssociateAdditionalVertices (const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, const IdToIdVectorMap &pfoToVerticesMap, PFParticleToVertexCollection &outputParticlesToVertices) |
Convert Create the associations between pre-existing PFParticle and additional vertices. More... | |
static void | BuildParticleMetadata (const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, PFParticleMetadataCollection &outputParticleMetadata, PFParticleToMetadataCollection &outputParticlesToMetadata) |
Build metadata objects from a list of input pfos. More... | |
static void | BuildSlices (const Settings &settings, const pandora::Pandora *const pPrimaryPandora, const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, const IdToHitMap &idToHitMap, SliceCollection &outputSlices, PFParticleToSliceCollection &outputParticlesToSlices, SliceToHitCollection &outputSlicesToHits) |
Build slices - collections of hits which each describe a single particle hierarchy. More... | |
static unsigned int | BuildDummySlice (SliceCollection &outputSlices) |
Build a new slice object with dummy information. More... | |
static void | CopyAllHitsToSingleSlice (const Settings &settings, const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, const IdToHitMap &idToHitMap, SliceCollection &outputSlices, PFParticleToSliceCollection &outputParticlesToSlices, SliceToHitCollection &outputSlicesToHits) |
Ouput a single slice containing all of the input hits. More... | |
static unsigned int | BuildSlice (const pandora::ParticleFlowObject *const pParentPfo, const art::Event &event, const std::string &instanceLabel, const IdToHitMap &idToHitMap, SliceCollection &outputSlices, SliceToHitCollection &outputSlicesToHits) |
Build a new slice object from a PFO, this can be a top-level parent in a hierarchy or a "slice PFO" from the slicing instance. More... | |
static void | BuildT0s (const art::Event &event, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, T0Collection &outputT0s, PFParticleToT0Collection &outputParticlesToT0s) |
Calculate the T0 of each pfos and add them to the output vector Create the associations between PFParticle and T0s. More... | |
static recob::Vertex | BuildVertex (const pandora::Vertex *const pVertex, const size_t vertexId) |
Convert from a pandora vertex to an ART vertex. More... | |
static recob::SpacePoint | BuildSpacePoint (const pandora::CaloHit *const pCaloHit, const size_t spacePointId) |
Convert from a pandora 3D hit to an ART spacepoint. More... | |
static void | GetHitsInCluster (const pandora::Cluster *const pCluster, pandora::CaloHitVector &sortedHits) |
Collect a sorted list of all 2D hits in a cluster. More... | |
static std::vector< recob::Cluster > | BuildClusters (util::GeometryUtilities const &gser, const pandora::Cluster *const pCluster, const pandora::ClusterList &clusterList, const CaloHitToArtHitMap &pandoraHitToArtHitMap, IdToIdVectorMap &pandoraClusterToArtClustersMap, std::vector< HitVector > &hitVectors, size_t &nextId, cluster::ClusterParamsAlgBase &algo) |
Convert from a pandora 2D cluster to a vector of ART clusters (produce multiple if the cluster is split over drift volumes) More... | |
static recob::Cluster | BuildCluster (util::GeometryUtilities const &gser, const size_t id, const HitVector &hitVector, const HitList &isolatedHits, cluster::ClusterParamsAlgBase &algo) |
Build an ART cluster from an input vector of ART hits. More... | |
static recob::PFParticle | BuildPFParticle (const pandora::ParticleFlowObject *const pPfo, const size_t pfoId, const pandora::PfoVector &pfoVector) |
Convert from a pfo to and ART PFParticle. More... | |
static bool | BuildT0 (const art::Event &event, const pandora::ParticleFlowObject *const pPfo, const pandora::PfoVector &pfoVector, size_t &nextId, anab::T0 &t0) |
If required, build a T0 for the input pfo. More... | |
template<typename A , typename B > | |
static void | AddAssociation (const art::Event &event, const std::string &instanceLabel, const size_t idA, const size_t idB, std::unique_ptr< art::Assns< A, B >> &association) |
Add an association between objects with two given ids. More... | |
template<typename A , typename B > | |
static void | AddAssociation (const art::Event &event, const std::string &instanceLabel, const size_t idA, const IdToIdVectorMap &aToBMap, std::unique_ptr< art::Assns< A, B >> &association) |
Add associations between input objects. More... | |
template<typename A , typename B > | |
static void | AddAssociation (const art::Event &event, const std::string &instanceLabel, const size_t idA, const std::vector< art::Ptr< B >> &bVector, std::unique_ptr< art::Assns< A, B >> &association) |
Add associations between input objects. More... | |
Definition at line 46 of file LArPandoraOutput.h.
typedef std::map<const pandora::CaloHit*, art::Ptr<recob::Hit> > lar_pandora::LArPandoraOutput::CaloHitToArtHitMap |
Definition at line 50 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<recob::Cluster> > lar_pandora::LArPandoraOutput::ClusterCollection |
Definition at line 54 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::Cluster, recob::Hit> > lar_pandora::LArPandoraOutput::ClusterToHitCollection |
Definition at line 73 of file LArPandoraOutput.h.
typedef std::map<size_t, IdVector> lar_pandora::LArPandoraOutput::IdToIdVectorMap |
Definition at line 49 of file LArPandoraOutput.h.
typedef std::vector<size_t> lar_pandora::LArPandoraOutput::IdVector |
Definition at line 48 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<recob::PFParticle> > lar_pandora::LArPandoraOutput::PFParticleCollection |
Definition at line 52 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<larpandoraobj::PFParticleMetadata> > lar_pandora::LArPandoraOutput::PFParticleMetadataCollection |
Definition at line 58 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, recob::Cluster> > lar_pandora::LArPandoraOutput::PFParticleToClusterCollection |
Definition at line 66 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, larpandoraobj::PFParticleMetadata> > lar_pandora::LArPandoraOutput::PFParticleToMetadataCollection |
Definition at line 62 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, recob::Slice> > lar_pandora::LArPandoraOutput::PFParticleToSliceCollection |
Definition at line 71 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, recob::SpacePoint> > lar_pandora::LArPandoraOutput::PFParticleToSpacePointCollection |
Definition at line 64 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, anab::T0> > lar_pandora::LArPandoraOutput::PFParticleToT0Collection |
Definition at line 69 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::PFParticle, recob::Vertex> > lar_pandora::LArPandoraOutput::PFParticleToVertexCollection |
Definition at line 68 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<recob::Slice> > lar_pandora::LArPandoraOutput::SliceCollection |
Definition at line 59 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::Slice, recob::Hit> > lar_pandora::LArPandoraOutput::SliceToHitCollection |
Definition at line 75 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<recob::SpacePoint> > lar_pandora::LArPandoraOutput::SpacePointCollection |
Definition at line 55 of file LArPandoraOutput.h.
typedef std::unique_ptr<art::Assns<recob::SpacePoint, recob::Hit> > lar_pandora::LArPandoraOutput::SpacePointToHitCollection |
Definition at line 74 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<anab::T0> > lar_pandora::LArPandoraOutput::T0Collection |
Definition at line 56 of file LArPandoraOutput.h.
typedef std::unique_ptr<std::vector<recob::Vertex> > lar_pandora::LArPandoraOutput::VertexCollection |
Definition at line 53 of file LArPandoraOutput.h.
|
inlinestatic |
Add an association between objects with two given ids.
event | the ART event |
idA | the id of an object of type A |
idB | the id of an object of type B to associate to the first object |
association | the output association to update |
Definition at line 653 of file LArPandoraOutput.h.
Referenced by AssociateAdditionalVertices(), BuildClusters(), BuildParticleMetadata(), BuildPFParticles(), BuildSlice(), BuildSlices(), BuildSpacePoints(), BuildT0s(), and CopyAllHitsToSingleSlice().
|
inlinestatic |
Add associations between input objects.
event | the ART event |
idA | the id of an object of type A |
aToBMap | the input mapping from IDs of objects of type A to IDs of objects of type B to associate |
association | the output association to update |
Definition at line 671 of file LArPandoraOutput.h.
|
inlinestatic |
Add associations between input objects.
event | the ART event |
idA | the id of an object of type A |
bVector | the input vector of IDs of objects of type B to associate |
association | the output association to update |
Definition at line 695 of file LArPandoraOutput.h.
|
static |
Convert Create the associations between pre-existing PFParticle and additional vertices.
event | the art event |
instanceLabel | instance label |
pfoVector | the input list of pfos to convert |
pfoToVerticesMap | the input mapping from pfo ID to vertex IDs |
outputParticlesToVertices | the output associations between PFParticles and vertices |
Definition at line 713 of file LArPandoraOutput.cxx.
References AddAssociation().
Referenced by ProduceArtOutput().
|
static |
Build an ART cluster from an input vector of ART hits.
id | the id code for the cluster |
hitVector | the input vector of hits |
isolatedHits | the input list of isolated hits |
algo | algorithm set to fill cluster members |
If you don't know which algorithm to pick, StandardClusterParamsAlg is a good default. The hits that are isolated (that is, present in isolatedHits) are not fed to the cluster parameter algorithms.
Definition at line 1049 of file LArPandoraOutput.cxx.
References geo::kUnknown, cluster::ClusterCreator::move(), recob::Cluster::Sentry, and cluster::ClusterParamsAlgBase::SetHitsFromPointers().
Referenced by BuildClusters().
|
static |
Convert pandora 2D clusters to ART clusters and add them to the output vector Create the associations between clusters and hits. For multiple drift volumes, each pandora cluster can correspond to multiple ART clusters.
event | the art event |
clusterList | the input list of 2D pandora clusters to convert |
pandoraHitToArtHitMap | the input mapping from pandora hits to ART hits |
pfoToClustersMap | the input mapping from pfo ID to cluster IDs |
outputClusters | the output vector of clusters |
outputClustersToHits | the output associations between clusters and hits |
pfoToArtClustersMap | the output mapping from pfo ID to art cluster ID |
Definition at line 612 of file LArPandoraOutput.cxx.
References AddAssociation().
Referenced by ProduceArtOutput().
|
static |
Convert from a pandora 2D cluster to a vector of ART clusters (produce multiple if the cluster is split over drift volumes)
pCluster | the input cluster |
clusterList | the input list of clusters |
pandoraHitToArtHitMap | the input mapping from pandora hits to ART hits |
pandoraClusterToArtClustersMap | output mapping from pandora cluster ID to art cluster IDs |
hitVectors | the output vectors of hits for each cluster produced used to produce associations |
algo | algorithm set to fill cluster members |
the | vector of ART clusters |
Definition at line 990 of file LArPandoraOutput.cxx.
References BuildCluster(), GetHitsInCluster(), GetId(), and recob::Hit::WireID().
|
static |
Build a new slice object with dummy information.
outputSlices | the output collection of slices to populate |
Definition at line 829 of file LArPandoraOutput.cxx.
Referenced by BuildSlice(), and CopyAllHitsToSingleSlice().
|
static |
Build metadata objects from a list of input pfos.
event | the art event |
pfoVector | the input list of pfos |
outputParticleMetadata | the output vector of PFParticleMetadata |
outputParticlesToMetadata | the output associations between PFParticles and metadata |
Definition at line 729 of file LArPandoraOutput.cxx.
References AddAssociation(), and lar_pandora::LArPandoraHelper::GetPFParticleMetadata().
Referenced by ProduceArtOutput().
|
static |
Convert from a pfo to and ART PFParticle.
pPfo | the input pfo to convert |
pfoId | the id of the pfo to produce |
pfoVector | the input list of pfos |
the | ART PFParticle |
Definition at line 934 of file LArPandoraOutput.cxx.
References GetId(), and recob::PFParticle::kPFParticlePrimary.
Referenced by BuildPFParticles().
|
static |
Convert between pfos and PFParticles and add them to the output vector Create the associations between PFParticle and vertices, spacepoints and clusters.
event | the art event |
pfoVector | the input list of pfos to convert |
pfoToVerticesMap | the input mapping from pfo ID to vertex IDs |
pfoToThreeDHitsMap | the input mapping from pfo ID to 3D hit IDs |
pfoToArtClustersMap | the input mapping from pfo ID to ART cluster IDs |
outputParticle | the output vector of PFParticles |
outputParticlesToVertices | the output associations between PFParticles and vertices |
outputParticlesToSpacePoints | the output associations between PFParticles and spacepoints |
outputParticlesToClusters | the output associations between PFParticles and clusters |
Definition at line 679 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildPFParticle().
Referenced by ProduceArtOutput().
|
static |
Build a new slice object from a PFO, this can be a top-level parent in a hierarchy or a "slice PFO" from the slicing instance.
pParentPfo | the parent pfo from which to build the slice |
event | the art event |
instanceLabel | the label for the collections to be produced |
idToHitMap | input mapping from pandora hit ID to ART hit |
outputSlices | the output collection of slices to populate |
outputSlicesToHits | the output association from slices to hits |
Definition at line 876 of file LArPandoraOutput.cxx.
References AddAssociation(), BuildDummySlice(), lar_content::LArPfoHelper::GetAllConnectedPfos(), lar_content::LArPfoHelper::GetCaloHits(), GetHit(), lar_content::LArPfoHelper::GetIsolatedCaloHits(), hits(), and lar_content::LArPfoHelper::SortByNHits().
Referenced by BuildSlices().
|
static |
Build slices - collections of hits which each describe a single particle hierarchy.
settings | the settings |
pPrimaryPandora | the primary pandora instance |
event | the art event |
instanceLabel | the label for the collections to be produced |
pfoVector | the input vector of all pfos to be output |
idToHitMap | input mapping from pandora hit ID to ART hit |
outputSlices | the output collection of slices to populate |
outputParticlesToSlices | the output association from particles to slices |
outputSlicesToHits | the output association from slices to hits |
Definition at line 749 of file LArPandoraOutput.cxx.
References AddAssociation(), BuildSlice(), CopyAllHitsToSingleSlice(), GetPandoraSlices(), lar_content::LArPfoHelper::GetParentPfo(), GetSliceIndex(), IsFromSlice(), and lar_pandora::LArPandoraOutput::Settings::m_isNeutrinoRecoOnlyNoSlicing.
Referenced by ProduceArtOutput().
|
static |
Convert from a pandora 3D hit to an ART spacepoint.
pCaloHit | the input hit |
spacePointId | the id of the space-point to produce |
the | ART spacepoint |
Definition at line 1132 of file LArPandoraOutput.cxx.
Referenced by BuildSpacePoints().
|
static |
Convert pandora 3D hits to ART spacepoints and add them to the output vector Create the associations between spacepoints and hits.
event | the art event |
threeDHitList | the input list of 3D hits to convert |
pandoraHitToArtHitMap | the input mapping from pandora hits to ART hits |
outputSpacePoints | the output vector of spacepoints |
outputSpacePointsToHits | the output associations between spacepoints and hits |
Definition at line 586 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildSpacePoint().
Referenced by ProduceArtOutput().
|
static |
If required, build a T0 for the input pfo.
event | the ART event |
pPfo | the input pfo |
pfoVector | the input list of pfos |
nextId | the ID of the T0 - will be incremented if the t0 was produced |
t0 | the output T0 |
Definition at line 1151 of file LArPandoraOutput.cxx.
References GetId(), lar_content::LArPfoHelper::GetParentPfo(), and detinfo::sampling_rate().
Referenced by BuildT0s().
|
static |
Calculate the T0 of each pfos and add them to the output vector Create the associations between PFParticle and T0s.
event | the art event |
instanceLabel | the label for the collections to be produced |
pfoVector | the input list of pfos |
outputT0s | the output vector of T0s |
outputParticlesToT0s | the output associations between PFParticles and T0s |
Definition at line 913 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildT0().
Referenced by ProduceArtOutput().
|
static |
Convert from a pandora vertex to an ART vertex.
pVertex | the input vertex |
vertexId | the id of the vertex to produce |
the | ART vertex |
Definition at line 960 of file LArPandoraOutput.cxx.
Referenced by BuildVertices().
|
static |
Convert pandora vertices to ART vertices and add them to the output vector.
vertexVector | the input list of pandora vertices |
outputVertices | the output vector of ART vertices |
Definition at line 577 of file LArPandoraOutput.cxx.
References BuildVertex().
Referenced by ProduceArtOutput().
|
static |
Collect a sorted vector of all 3D hits in the input pfo.
pPfo | the input pfo |
caloHits | the sorted output vector of 3D hits |
Definition at line 489 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetCaloHits(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by Collect3DHits(), and ProduceArtOutput().
|
static |
Collect a sorted list of all 3D hits contained in the input pfo list Order is guaranteed provided pfoVector is ordered.
pfoVector | the input list of pfos |
pfoToThreeDHitsMap | the output mapping from pfo ID to 3D hit IDs |
Definition at line 457 of file LArPandoraOutput.cxx.
References Collect3DHits().
|
static |
Collect the pfos (including all downstream pfos) from the master and daughter pandora instances.
pPrimaryPandora | address of master pandora instance |
Definition at line 265 of file LArPandoraOutput.cxx.
References CollectPfos(), GetPandoraInstance(), GetPandoraSlices(), IsClearCosmic(), and util::to_string().
Referenced by ProduceArtOutput().
|
static |
Collect a sorted list of all 2D clusters contained in the input pfo list Order is guaranteed provided pfoVector is ordered.
pfoVector | the input list of pfos |
pfoToClustersMap | the output mapping from pfo ID to cluster IDs |
Definition at line 428 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetTwoDClusterList(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by ProduceArtOutput().
|
static |
Collect the current pfos (including all downstream pfos) from the master pandora instance.
pPrimaryPandora | address of master pandora instance |
Definition at line 360 of file LArPandoraOutput.cxx.
Referenced by CollectAllPfoOutcomes(), and ProduceArtOutput().
|
static |
Collect a sorted list of all downstream pfos of an input list of parent.
parentPfoList | the input list of parent pfos |
pfoVector | the sorted output list of all downstream pfos |
Definition at line 375 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetAllConnectedPfos(), and lar_content::LArPfoHelper::SortByNHits().
|
static |
Collect all vertices contained in the input pfo list Order is guaranteed provided pfoVector is ordered.
pfoVector | the input list of pfos |
pfoToVerticesMap | the output mapping from pfo ID to vertex IDs (zero or one) |
fCriteria | function to extract vertex from pfo |
Definition at line 391 of file LArPandoraOutput.cxx.
Referenced by ProduceArtOutput().
|
static |
Ouput a single slice containing all of the input hits.
settings | the settings |
event | the art event |
instanceLabel | the label for the collections to be produced |
pfoVector | the input vector of all pfos to be output |
idToHitMap | input mapping from pandora hit ID to ART hit |
outputSlices | the output collection of slices to populate |
outputParticlesToSlices | the output association from particles to slices |
outputSlicesToHits | the output association from slices to hits |
Definition at line 845 of file LArPandoraOutput.cxx.
References AddAssociation(), BuildDummySlice(), lar_pandora::LArPandoraHelper::CollectHits(), hits(), and lar_pandora::LArPandoraOutput::Settings::m_hitfinderModuleLabel.
Referenced by BuildSlices().
|
static |
Look up ART hit from an input Pandora hit.
idToHitMap | the mapping between Pandora and ART hits |
pCaloHit | the input Pandora hit (2D) |
Definition at line 545 of file LArPandoraOutput.cxx.
Referenced by BuildSlice(), and GetPandoraToArtHitMap().
|
static |
Collect a sorted list of all 2D hits in a cluster.
pCluster | the input cluster |
sortedHits | the output vector of sorted 2D hits |
Definition at line 970 of file LArPandoraOutput.cxx.
References lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by BuildClusters(), and GetPandoraToArtHitMap().
|
inlinestatic |
Find the index of an input object in an input list. Throw an exception if it doesn't exist.
pT | the input object for which the ID should be found |
tList | a list of objects of type pT to query |
Definition at line 624 of file LArPandoraOutput.h.
Referenced by BuildClusters(), BuildPFParticle(), and BuildT0().
|
inlinestatic |
Find the index of an input object in an input vector. Throw an exception if it doesn't exist.
pT | the input object for which the ID should be found |
tVector | a list of objects of type pT to query |
Definition at line 638 of file LArPandoraOutput.h.
|
static |
Get the address of a pandora instance with a given name.
pPrimaryPandora | the primary pandora instance |
name | the name of the instance to collect |
pPandoraInstance | the output address of the pandora instance requested |
Definition at line 213 of file LArPandoraOutput.cxx.
References MultiPandoraApi::GetDaughterPandoraInstanceList().
Referenced by CollectAllPfoOutcomes(), and GetPandoraSlices().
|
static |
Get the slice pfos - one pfo per slice.
pPrimaryPandora | the primary pandora instance |
slicePfos | the output vector of slice pfos |
Definition at line 242 of file LArPandoraOutput.cxx.
References GetPandoraInstance().
Referenced by BuildSlices(), and CollectAllPfoOutcomes().
|
static |
Collect all 2D and 3D hits that were used / produced in the reconstruction and map them to their corresponding ART hit.
clusterList | input list of all 2D clusters to be output |
threeDHitList | input list of all 3D hits to be output (as spacepoints) |
idToHitMap | input mapping from pandora hit ID to ART hit |
pandoraHitToArtHitMap | output mapping from pandora hit to ART hit |
Definition at line 502 of file LArPandoraOutput.cxx.
References lar_content::LArClusterHelper::GetClusterHitType(), GetHit(), and GetHitsInCluster().
Referenced by ProduceArtOutput().
|
static |
Get the index of the slice from which this pfo was produced.
pPfo | the input pfo |
Definition at line 344 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetParentPfo().
Referenced by BuildSlices().
|
static |
Check if the input pfo is an unambiguous cosmic ray.
pPfo | the input pfo |
Definition at line 320 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetParentPfo().
Referenced by CollectAllPfoOutcomes().
|
static |
Check if the input pfo is from a slice.
pPfo | the input pfo |
Definition at line 334 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetParentPfo().
Referenced by BuildSlices().
|
static |
Convert the Pandora PFOs into ART clusters and write into ART event.
settings | the settings |
idToHitMap | the mapping from Pandora hit ID to ART hit |
evt | the ART event |
Definition at line 41 of file LArPandoraOutput.cxx.
References AssociateAdditionalVertices(), BuildClusters(), BuildParticleMetadata(), BuildPFParticles(), BuildSlices(), BuildSpacePoints(), BuildT0s(), BuildVertices(), Collect3DHits(), CollectAllPfoOutcomes(), CollectClusters(), CollectPfos(), CollectVertices(), GetPandoraToArtHitMap(), lar_content::LArPfoHelper::GetTestBeamInteractionVertex(), lar_content::LArPfoHelper::GetVertex(), lar_pandora::LArPandoraOutput::Settings::m_allOutcomesInstanceLabel, lar_pandora::LArPandoraOutput::Settings::m_pPrimaryPandora, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceSlices, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceTestBeamInteractionVertices, lar_pandora::LArPandoraOutput::Settings::m_shouldRunStitching, lar_pandora::LArPandoraOutput::Settings::m_testBeamInteractionVerticesInstanceLabel, art::Event::put(), and lar_pandora::LArPandoraOutput::Settings::Validate().
Referenced by lar_pandora::LArPandora::ProcessPandoraOutput().