Public Member Functions | Private Member Functions | List of all members
lar_dl_content::DLMasterAlgorithm Class Reference

MasterAlgorithm class. More...

#include <DLMasterAlgorithm.h>

Inheritance diagram for lar_dl_content::DLMasterAlgorithm:
lar_content::MasterAlgorithm

Public Member Functions

 DLMasterAlgorithm ()=default
 Default constructor. More...
 
- Public Member Functions inherited from lar_content::MasterAlgorithm
 MasterAlgorithm ()
 Default constructor. More...
 
void ShiftPfoHierarchy (const pandora::ParticleFlowObject *const pParentPfo, const PfoToLArTPCMap &pfoToLArTPCMap, const float x0) const
 Shift a Pfo hierarchy by a specified x0 value. More...
 
void StitchPfos (const pandora::ParticleFlowObject *const pPfoToEnlarge, const pandora::ParticleFlowObject *const pPfoToDelete, PfoToLArTPCMap &pfoToLArTPCMap) const
 Stitch together a pair of pfos. More...
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode RegisterCustomContent (const pandora::Pandora *const pPandora) const
 Register custom content, such as algorithms or algorithm tools, with a specified pandora instance. More...
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 

Additional Inherited Members

- Public Types inherited from lar_content::MasterAlgorithm
typedef std::unordered_map< const pandora::ParticleFlowObject *, const pandora::LArTPC * > PfoToLArTPCMap
 
- Protected Types inherited from lar_content::MasterAlgorithm
typedef std::map< unsigned int, LArTPCHitListVolumeIdToHitListMap
 
typedef std::vector< StitchingBaseTool * > StitchingToolVector
 
typedef std::vector< CosmicRayTaggingBaseTool * > CosmicRayTaggingToolVector
 
typedef std::vector< SliceIdBaseTool * > SliceIdToolVector
 
typedef std::vector< SliceSelectionBaseTool * > SliceSelectionToolVector
 
- Protected Member Functions inherited from lar_content::MasterAlgorithm
pandora::StatusCode Run ()
 
pandora::StatusCode InitializeWorkerInstances ()
 Initialize pandora worker instances. More...
 
pandora::StatusCode CopyMCParticles () const
 Copy mc particles in the named input list to all pandora worker instances. More...
 
pandora::StatusCode GetVolumeIdToHitListMap (VolumeIdToHitListMap &volumeIdToHitListMap) const
 Get the mapping from lar tpc volume id to lists of all hits, and truncated hits. More...
 
pandora::StatusCode RunCosmicRayReconstruction (const VolumeIdToHitListMap &volumeIdToHitListMap) const
 Run the cosmic-ray reconstruction worker instances. More...
 
pandora::StatusCode RecreateCosmicRayPfos (PfoToLArTPCMap &pfoToLArTPCMap) const
 Recreate cosmic-ray pfos (created by worker instances) in the master instance. More...
 
pandora::StatusCode StitchCosmicRayPfos (PfoToLArTPCMap &pfoToLArTPCMap, PfoToFloatMap &stitchedPfosToX0Map) const
 Stitch together cosmic-ray pfos crossing between adjacent lar tpcs. More...
 
pandora::StatusCode TagCosmicRayPfos (const PfoToFloatMap &stitchedPfosToX0Map, pandora::PfoList &clearCosmicRayPfos, pandora::PfoList &ambiguousPfos) const
 Tag clear, unambiguous cosmic-ray pfos. More...
 
pandora::StatusCode RunCosmicRayHitRemoval (const pandora::PfoList &ambiguousPfos) const
 Run cosmic-ray hit removal, freeing hits in ambiguous pfos for further processing. More...
 
pandora::StatusCode RunSlicing (const VolumeIdToHitListMap &volumeIdToHitListMap, SliceVector &sliceVector) const
 Run the event slicing procedures, dividing available hits up into distinct 3D regions. More...
 
pandora::StatusCode RunSliceReconstruction (SliceVector &sliceVector, SliceHypotheses &nuSliceHypotheses, SliceHypotheses &crSliceHypotheses) const
 Process each slice under different reconstruction hypotheses. More...
 
pandora::StatusCode SelectBestSliceHypotheses (const SliceHypotheses &nuSliceHypotheses, const SliceHypotheses &crSliceHypotheses) const
 Examine slice hypotheses to identify the most appropriate to provide in final event output. More...
 
pandora::StatusCode Reset ()
 Reset all worker instances. More...
 
pandora::StatusCode Copy (const pandora::Pandora *const pPandora, const pandora::CaloHit *const pCaloHit) const
 Copy a specified calo hit to the provided pandora instance. More...
 
pandora::StatusCode Copy (const pandora::Pandora *const pPandora, const pandora::MCParticle *const pMCParticle, const LArMCParticleFactory *const pMCParticleFactory) const
 Copy a specified mc particle to the provided pandora instance. More...
 
pandora::StatusCode Recreate (const pandora::PfoList &inputPfoList, pandora::PfoList &newPfoList) const
 Recreate a specified list of pfos in the current pandora instance. More...
 
pandora::StatusCode Recreate (const pandora::ParticleFlowObject *const pInputPfo, const pandora::ParticleFlowObject *const pNewParentPfo, pandora::PfoList &newPfoList) const
 Recreate a specified pfo in the current pandora instance. More...
 
const pandora::CaloHit * CreateCaloHit (const pandora::CaloHit *const pInputCaloHit, const pandora::CaloHit *const pParentCaloHit) const
 Create a new calo hit in the current pandora instance, based upon the provided input calo hit. More...
 
const pandora::Cluster * CreateCluster (const pandora::Cluster *const pInputCluster, const pandora::CaloHitList &newCaloHitList, const pandora::CaloHitList &newIsolatedCaloHitList) const
 Create a new cluster in the current pandora instance, based upon the provided input cluster. More...
 
const pandora::Vertex * CreateVertex (const pandora::Vertex *const pInputVertex) const
 Create a new vertex in the current pandora instance, based upon the provided input vertex. More...
 
const pandora::ParticleFlowObject * CreatePfo (const pandora::ParticleFlowObject *const pInputPfo, const pandora::ClusterList &newClusterList, const pandora::VertexList &newVertexList) const
 Create a new pfo in the current pandora instance, based upon the provided input pfo. More...
 
const pandora::Pandora * CreateWorkerInstance (const pandora::LArTPC &larTPC, const pandora::DetectorGapList &gapList, const std::string &settingsFile, const std::string &name) const
 Create a pandora worker instance to handle a single LArTPC. More...
 
const pandora::Pandora * CreateWorkerInstance (const pandora::LArTPCMap &larTPCMap, const pandora::DetectorGapList &gapList, const std::string &settingsFile, const std::string &name) const
 Create a pandora worker instance to handle a number of LArTPCs. More...
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
pandora::StatusCode ReadExternalSettings (const ExternalSteeringParameters *const pExternalParameters, const pandora::InputBool inputBool, const pandora::TiXmlHandle xmlHandle, const std::string &xmlTag, bool &outputBool)
 Read settings from external steering parameters block, if present, otherwise from xml as standard. More...
 
- Protected Attributes inherited from lar_content::MasterAlgorithm
bool m_workerInstancesInitialized
 Whether all worker instances have been initialized. More...
 
unsigned int m_larCaloHitVersion
 The LArCaloHit version for LArCaloHitFactory. More...
 
bool m_shouldRunAllHitsCosmicReco
 Whether to run all hits cosmic-ray reconstruction. More...
 
bool m_shouldRunStitching
 Whether to stitch cosmic-ray muons crossing between volumes. More...
 
bool m_shouldRunCosmicHitRemoval
 Whether to remove hits from tagged cosmic-rays. More...
 
bool m_shouldRunSlicing
 Whether to slice events into separate regions for processing. More...
 
bool m_shouldRunNeutrinoRecoOption
 Whether to run neutrino reconstruction for each slice. More...
 
bool m_shouldRunCosmicRecoOption
 Whether to run cosmic-ray reconstruction for each slice. More...
 
bool m_shouldPerformSliceId
 Whether to identify slices and select most appropriate pfos. More...
 
bool m_printOverallRecoStatus
 Whether to print current operation status messages. More...
 
bool m_visualizeOverallRecoStatus
 Whether to display results of current operations. More...
 
bool m_shouldRemoveOutOfTimeHits
 Whether to remove out of time hits. More...
 
PandoraInstanceList m_crWorkerInstances
 The list of cosmic-ray reconstruction worker instances. More...
 
const pandora::Pandora * m_pSlicingWorkerInstance
 The slicing worker instance. More...
 
const pandora::Pandora * m_pSliceNuWorkerInstance
 The per-slice neutrino reconstruction worker instance. More...
 
const pandora::Pandora * m_pSliceCRWorkerInstance
 The per-slice cosmic-ray reconstruction worker instance. More...
 
bool m_fullWidthCRWorkerWireGaps
 Whether wire-type line gaps in cosmic-ray worker instances should cover all drift time. More...
 
bool m_passMCParticlesToWorkerInstances
 Whether to pass mc particle details (and links to calo hits) to worker instances. More...
 
StitchingToolVector m_stitchingToolVector
 The stitching tool vector. More...
 
CosmicRayTaggingToolVector m_cosmicRayTaggingToolVector
 The cosmic-ray tagging tool vector. More...
 
SliceIdToolVector m_sliceIdToolVector
 The slice id tool vector. More...
 
SliceSelectionToolVector m_sliceSelectionToolVector
 The slice selection tool vector. More...
 
std::string m_filePathEnvironmentVariable
 The environment variable providing a list of paths to xml files. More...
 
std::string m_crSettingsFile
 The cosmic-ray reconstruction settings file. More...
 
std::string m_nuSettingsFile
 The neutrino reconstruction settings file. More...
 
std::string m_slicingSettingsFile
 The slicing settings file. More...
 
std::string m_inputMCParticleListName
 The input mc particle list name. More...
 
std::string m_inputHitListName
 The input hit list name. More...
 
std::string m_recreatedPfoListName
 The output recreated pfo list name. More...
 
std::string m_recreatedClusterListName
 The output recreated cluster list name. More...
 
std::string m_recreatedVertexListName
 The output recreated vertex list name. More...
 
float m_inTimeMaxX0
 Cut on X0 to determine whether particle is clear cosmic ray. More...
 
LArCaloHitFactory m_larCaloHitFactory
 Factory for creating LArCaloHits during hit copying. More...
 

Detailed Description

MasterAlgorithm class.

Definition at line 19 of file DLMasterAlgorithm.h.

Constructor & Destructor Documentation

lar_dl_content::DLMasterAlgorithm::DLMasterAlgorithm ( )
default

Default constructor.

Member Function Documentation

StatusCode lar_dl_content::DLMasterAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
private

Definition at line 37 of file DLMasterAlgorithm.cc.

38 {
39  return MasterAlgorithm::ReadSettings(xmlHandle);
40 }
StatusCode lar_dl_content::DLMasterAlgorithm::RegisterCustomContent ( const pandora::Pandora *const  pPandora) const
privatevirtual

Register custom content, such as algorithms or algorithm tools, with a specified pandora instance.

Parameters
pPandorathe address of the pandora instance

Reimplemented from lar_content::MasterAlgorithm.

Definition at line 28 of file DLMasterAlgorithm.cc.

29 {
30  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, LArDLContent::RegisterAlgorithms(*pPandora));
31 
32  return STATUS_CODE_SUCCESS;
33 }
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar dl content algorithms and tools with pandora.
Definition: LArDLContent.cc:89
StatusCode lar_dl_content::DLMasterAlgorithm::Run ( )
private

Definition at line 21 of file DLMasterAlgorithm.cc.

22 {
23  return MasterAlgorithm::Run();
24 }

The documentation for this class was generated from the following files: