LArSoft
v07_13_02
Liquid Argon Software toolkit - http://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 Private Member Functions | |
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) |
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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 | BuildParticleMetadata (const art::Event &event, const art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, const std::string &instanceLabel, const pandora::PfoVector &pfoVector, T0Collection &outputT0s, const CaloHitToArtHitMap &pandoraHitToArtHitMap, 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 (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 (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 pandora::ParticleFlowObject *const pPfo, const pandora::PfoVector &pfoVector, size_t &nextId, const CaloHitToArtHitMap &pandoraHitToArtHitMap, anab::T0 &t0) |
If required, build a T0 for the input pfo. More... | |
static double | CalculateT0 (const art::Ptr< recob::Hit > hit, const pandora::CaloHit *const pCaloHit) |
Convert X0 correction into T0 correction. More... | |
template<typename A , typename B > | |
static void | AddAssociation (const art::Event &event, const art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 art::EDProducer *const pProducer, 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 31 of file LArPandoraOutput.h.
typedef std::map<const pandora::CaloHit *, art::Ptr<recob::Hit> > lar_pandora::LArPandoraOutput::CaloHitToArtHitMap |
Definition at line 36 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<recob::Cluster> > lar_pandora::LArPandoraOutput::ClusterCollection |
Definition at line 40 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::Cluster, recob::Hit> > lar_pandora::LArPandoraOutput::ClusterToHitCollection |
Definition at line 53 of file LArPandoraOutput.h.
typedef std::map<size_t, IdVector> lar_pandora::LArPandoraOutput::IdToIdVectorMap |
Definition at line 35 of file LArPandoraOutput.h.
typedef std::vector<size_t> lar_pandora::LArPandoraOutput::IdVector |
Definition at line 34 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<recob::PFParticle> > lar_pandora::LArPandoraOutput::PFParticleCollection |
Definition at line 38 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<larpandoraobj::PFParticleMetadata> > lar_pandora::LArPandoraOutput::PFParticleMetadataCollection |
Definition at line 43 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, recob::Cluster> > lar_pandora::LArPandoraOutput::PFParticleToClusterCollection |
Definition at line 48 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, larpandoraobj::PFParticleMetadata> > lar_pandora::LArPandoraOutput::PFParticleToMetadataCollection |
Definition at line 46 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, recob::Slice> > lar_pandora::LArPandoraOutput::PFParticleToSliceCollection |
Definition at line 51 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, recob::SpacePoint> > lar_pandora::LArPandoraOutput::PFParticleToSpacePointCollection |
Definition at line 47 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, anab::T0> > lar_pandora::LArPandoraOutput::PFParticleToT0Collection |
Definition at line 50 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::PFParticle, recob::Vertex> > lar_pandora::LArPandoraOutput::PFParticleToVertexCollection |
Definition at line 49 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<recob::Slice> > lar_pandora::LArPandoraOutput::SliceCollection |
Definition at line 44 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::Slice, recob::Hit> > lar_pandora::LArPandoraOutput::SliceToHitCollection |
Definition at line 55 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<recob::SpacePoint> > lar_pandora::LArPandoraOutput::SpacePointCollection |
Definition at line 41 of file LArPandoraOutput.h.
typedef std::unique_ptr< art::Assns<recob::SpacePoint, recob::Hit> > lar_pandora::LArPandoraOutput::SpacePointToHitCollection |
Definition at line 54 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<anab::T0> > lar_pandora::LArPandoraOutput::T0Collection |
Definition at line 42 of file LArPandoraOutput.h.
typedef std::unique_ptr< std::vector<recob::Vertex> > lar_pandora::LArPandoraOutput::VertexCollection |
Definition at line 39 of file LArPandoraOutput.h.
|
inlinestaticprivate |
Add an association between objects with two given ids.
event | the ART event |
pProducer | the address of the producer module |
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 559 of file LArPandoraOutput.h.
Referenced by BuildClusters(), BuildParticleMetadata(), BuildPFParticles(), BuildSlice(), BuildSlices(), BuildSpacePoints(), BuildT0s(), and CopyAllHitsToSingleSlice().
|
inlinestaticprivate |
Add associations between input objects.
event | the ART event |
pProducer | the address of the producer module |
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 574 of file LArPandoraOutput.h.
|
inlinestaticprivate |
Add associations between input objects.
event | the ART event |
pProducer | the address of the producer module |
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 595 of file LArPandoraOutput.h.
|
staticprivate |
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 817 of file LArPandoraOutput.cxx.
References geo::kUnknown, max, cluster::ClusterCreator::move(), recob::Cluster::Sentry, and cluster::ClusterParamsAlgBase::SetHits().
Referenced by BuildClusters().
|
staticprivate |
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 |
pProducer | the address of the producer module |
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 487 of file LArPandoraOutput.cxx.
References AddAssociation().
Referenced by ProduceArtOutput().
|
staticprivate |
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 765 of file LArPandoraOutput.cxx.
References BuildCluster(), GetHitsInCluster(), GetId(), and recob::Hit::WireID().
|
staticprivate |
Build a new slice object with dummy information.
outputSlices | the output collection of slices to populate |
Definition at line 634 of file LArPandoraOutput.cxx.
References max.
Referenced by BuildSlice(), and CopyAllHitsToSingleSlice().
|
staticprivate |
Build metadata objects from a list of input pfos.
event | the art event |
pProducer | the address of the producer module |
pfoVector | the input list of pfos |
outputParticleMetadata | the output vector of PFParticleMetadata |
outputParticlesToMetadata | the output associations between PFParticles and metadata |
Definition at line 557 of file LArPandoraOutput.cxx.
References AddAssociation(), and lar_pandora::LArPandoraHelper::GetPFParticleMetadata().
Referenced by ProduceArtOutput().
|
staticprivate |
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 721 of file LArPandoraOutput.cxx.
References GetId(), and recob::PFParticle::kPFParticlePrimary.
Referenced by BuildPFParticles().
|
staticprivate |
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 |
pProducer | the address of the producer module |
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 532 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildPFParticle().
Referenced by ProduceArtOutput().
|
staticprivate |
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 |
pProducer | the address of the pandora producer |
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 671 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().
|
staticprivate |
Build slices - collections of hits which each describe a single particle hierarchy.
settings | the settings |
pPrimaryPandora | the primary pandora instance |
event | the art event |
pProducer | the address of the pandora producer |
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 573 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().
|
staticprivate |
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 900 of file LArPandoraOutput.cxx.
Referenced by BuildSpacePoints().
|
staticprivate |
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 |
pProducer | the address of the producer module |
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 465 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildSpacePoint().
Referenced by ProduceArtOutput().
|
staticprivate |
If required, build a T0 for the input pfo.
pPfo | the input pfo |
pfoVector | the input list of pfos |
nextId | the ID of the T0 - will be incremented if the t0 was produced |
pandoraHitToArtHitMap | the input mapping from pandora hits to ART hits |
t0 | the output T0 |
Definition at line 917 of file LArPandoraOutput.cxx.
References CalculateT0(), Collect3DHits(), and GetId().
Referenced by BuildT0s().
|
staticprivate |
Calculate the T0 of each pfos and add them to the output vector Create the associations between PFParticle and T0s.
event | the art event |
pProducer | the address of the producer module |
pfoVector | the input list of pfos |
outputT0s | the output vector of T0s |
pandoraHitToArtHitMap | the input mapping from pandora hits to ART hits |
outputParticlesToT0s | the output associations between PFParticles and T0s |
Definition at line 702 of file LArPandoraOutput.cxx.
References AddAssociation(), and BuildT0().
Referenced by ProduceArtOutput().
|
staticprivate |
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 742 of file LArPandoraOutput.cxx.
Referenced by BuildVertices().
|
staticprivate |
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 457 of file LArPandoraOutput.cxx.
References BuildVertex().
Referenced by ProduceArtOutput().
|
staticprivate |
Convert X0 correction into T0 correction.
hit | the input ART hit |
pCaloHit | the output Pandora hit |
Definition at line 959 of file LArPandoraOutput.cxx.
References geo::GeometryCore::Cryostat(), dir, geo::kNegX, recob::Hit::PeakTime(), geo::CryostatGeo::TPC(), and recob::Hit::WireID().
Referenced by BuildT0().
|
staticprivate |
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 381 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetCaloHits(), and lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by BuildT0(), Collect3DHits(), and ProduceArtOutput().
|
staticprivate |
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 352 of file LArPandoraOutput.cxx.
References Collect3DHits().
|
staticprivate |
Collect the pfos (including all downstream pfos) from the master and daughter pandora instances.
pPrimaryPandora | address of master pandora instance |
Definition at line 178 of file LArPandoraOutput.cxx.
References CollectPfos(), GetPandoraInstance(), GetPandoraSlices(), IsClearCosmic(), and util::flags::to_string().
Referenced by ProduceArtOutput().
|
staticprivate |
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 324 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetTwoDClusterList(), and lar_content::LArClusterHelper::SortByNHits().
Referenced by ProduceArtOutput().
|
staticprivate |
Collect the current pfos (including all downstream pfos) from the master pandora instance.
pPrimaryPandora | address of master pandora instance |
Definition at line 267 of file LArPandoraOutput.cxx.
Referenced by CollectAllPfoOutcomes(), and ProduceArtOutput().
|
staticprivate |
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 280 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetAllConnectedPfos(), and lar_content::LArPfoHelper::SortByNHits().
|
staticprivate |
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) |
Definition at line 294 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetVertex().
Referenced by ProduceArtOutput().
|
staticprivate |
Ouput a single slice containing all of the input hits.
settings | the settings |
event | the art event |
pProducer | the address of the pandora producer |
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 649 of file LArPandoraOutput.cxx.
References AddAssociation(), BuildDummySlice(), lar_pandora::LArPandoraHelper::CollectHits(), hits(), and lar_pandora::LArPandoraOutput::Settings::m_hitfinderModuleLabel.
Referenced by BuildSlices().
|
staticprivate |
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 425 of file LArPandoraOutput.cxx.
Referenced by BuildSlice(), and GetPandoraToArtHitMap().
|
staticprivate |
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 750 of file LArPandoraOutput.cxx.
References lar_content::LArClusterHelper::SortHitsByPosition().
Referenced by BuildClusters(), and GetPandoraToArtHitMap().
|
inlinestaticprivate |
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 533 of file LArPandoraOutput.h.
Referenced by BuildClusters(), BuildPFParticle(), and BuildT0().
|
inlinestaticprivate |
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 546 of file LArPandoraOutput.h.
|
staticprivate |
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 134 of file LArPandoraOutput.cxx.
References MultiPandoraApi::GetDaughterPandoraInstanceList().
Referenced by CollectAllPfoOutcomes(), and GetPandoraSlices().
|
staticprivate |
Get the slice pfos - one pfo per slice.
pPrimaryPandora | the primary pandora instance |
slicePfos | the output vector of slice pfos |
Definition at line 159 of file LArPandoraOutput.cxx.
References GetPandoraInstance().
Referenced by BuildSlices(), and CollectAllPfoOutcomes().
|
staticprivate |
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 393 of file LArPandoraOutput.cxx.
References lar_content::LArClusterHelper::GetClusterHitType(), GetHit(), and GetHitsInCluster().
Referenced by ProduceArtOutput().
|
staticprivate |
Get the index of the slice from which this pfo was produced.
pPfo | the input pfo |
Definition at line 252 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetParentPfo().
Referenced by BuildSlices().
|
staticprivate |
Check if the input pfo is an unambiguous cosmic ray.
pPfo | the input pfo |
Definition at line 227 of file LArPandoraOutput.cxx.
References lar_content::LArPfoHelper::GetParentPfo().
Referenced by CollectAllPfoOutcomes().
|
staticprivate |
Check if the input pfo is from a slice.
pPfo | the input pfo |
Definition at line 242 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 50 of file LArPandoraOutput.cxx.
References BuildClusters(), BuildParticleMetadata(), BuildPFParticles(), BuildSlices(), BuildSpacePoints(), BuildT0s(), BuildVertices(), Collect3DHits(), CollectAllPfoOutcomes(), CollectClusters(), CollectPfos(), CollectVertices(), GetPandoraToArtHitMap(), lar_pandora::LArPandoraOutput::Settings::m_allOutcomesInstanceLabel, lar_pandora::LArPandoraOutput::Settings::m_pPrimaryPandora, lar_pandora::LArPandoraOutput::Settings::m_pProducer, lar_pandora::LArPandoraOutput::Settings::m_shouldProduceAllOutcomes, lar_pandora::LArPandoraOutput::Settings::m_shouldRunStitching, art::Event::put(), and lar_pandora::LArPandoraOutput::Settings::Validate().
Referenced by lar_pandora::LArPandora::ProcessPandoraOutput().