Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::DeltaRayParentAlgorithm Class Reference

DeltaRayParentAlgorithm class. More...

#include "DeltaRayParentAlgorithm.h"

Inheritance diagram for lar_content::DeltaRayParentAlgorithm:
Collaboration diagram for lar_content::DeltaRayParentAlgorithm:

Public Types

typedef std::map< const pandora::ParticleFlowObject *, float > PfoLengthMap
 

Public Member Functions

 DeltaRayParentAlgorithm ()
 Default constructor.
 
pandora::StatusCode Run ()
 Run the algorithm.
 
const std::string & GetType () const
 Get the type.
 
const std::string & GetInstanceName () const
 Get the instance name.
 
const PandoraGetPandora () const
 Get the associated pandora instance.
 

Protected Member Functions

virtual StatusCode Initialize ()
 Perform any operations that must occur after reading settings, but before running the process.
 
virtual StatusCode Reset ()
 Perform any operations when pandora is reset, typically at the end of each event.
 
StatusCode RegisterDetails (const Pandora *const pPandora, const std::string &type, const std::string &instanceName)
 Register i) the pandora instance that will run the process and ii) the process type.
 

Protected Attributes

const Pandoram_pPandora
 The pandora object that will run the process.
 
std::string m_type
 The process type.
 
std::string m_instanceName
 The process instance name.
 

Private Member Functions

void InitialisePfoLengthMap (const pandora::PfoList *const muonPfoList, const pandora::PfoList *const deltaRayPfoList, PfoLengthMap &pfoLengthMap) const
 Initialise the delta ray pfo length map.
 
void FindParentPfo (const PfoLengthMap &pfoLengthMap, const pandora::ParticleFlowObject *const pPfo, const pandora::ParticleFlowObject *&pParentPfo) const
 Identify the parent pfo of a given delta ray pfo (can be either a cosmic ray or delta ray pfo)
 
pandora::StatusCode GetTwoDSeparation (const pandora::ParticleFlowObject *const pPfo1, const pandora::ParticleFlowObject *const pPfo2, float &separation) const
 Get distance between two Pfos using 2D clusters.
 
void AssignToParentPfo (const pandora::PfoList *const muonPfoList, const pandora::PfoList *const deltaRayPfoList, const pandora::ParticleFlowObject *const pPfo, const pandora::ParticleFlowObject *const pParentPfo, PfoLengthMap &pfoLengthMap) const
 Apply parent-child link (if parent is a cosmic ray create parent-child link else merge the delta ray cluster into parent delta ray pfo)
 
void UpdatePfoLengthMap (const pandora::PfoList &pfosToRemove, const pandora::ParticleFlowObject *const pPfoToAdd, PfoLengthMap &pfoLengthMap) const
 Update the pfo length map after a parent-child delta ray merge.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

std::string m_muonPfoListName
 The list of reconstructed muon pfos.
 
std::string m_deltaRayPfoListName
 The list of reconstructed delta ray pfos.
 
float m_distanceForMatching
 The maximum separation of a delta ray pfo from its parent.
 

Detailed Description

DeltaRayParentAlgorithm class.

Definition at line 19 of file DeltaRayParentAlgorithm.h.

Member Typedef Documentation

◆ PfoLengthMap

Constructor & Destructor Documentation

◆ DeltaRayParentAlgorithm()

lar_content::DeltaRayParentAlgorithm::DeltaRayParentAlgorithm ( )

Default constructor.

Definition at line 21 of file DeltaRayParentAlgorithm.cc.

Member Function Documentation

◆ AssignToParentPfo()

void lar_content::DeltaRayParentAlgorithm::AssignToParentPfo ( const pandora::PfoList *const  muonPfoList,
const pandora::PfoList *const  deltaRayPfoList,
const pandora::ParticleFlowObject *const  pPfo,
const pandora::ParticleFlowObject *const  pParentPfo,
PfoLengthMap pfoLengthMap 
) const
private

Apply parent-child link (if parent is a cosmic ray create parent-child link else merge the delta ray cluster into parent delta ray pfo)

Parameters
muonPfoListthe list of all cosmic ray pfos
deltaRayPfoListthe list of all delta ray pfos
pPfothe address of the input delta ray pfo
pParentPfothe address of the parent pfo
pfoLengthMapthe mapping of pfos to their 2D length

Definition at line 165 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindParentPfo()

void lar_content::DeltaRayParentAlgorithm::FindParentPfo ( const PfoLengthMap pfoLengthMap,
const pandora::ParticleFlowObject *const  pPfo,
const pandora::ParticleFlowObject *&  pParentPfo 
) const
private

Identify the parent pfo of a given delta ray pfo (can be either a cosmic ray or delta ray pfo)

Parameters
pfoLengthMapthe mapping of pfos to their 2D length
pPfothe address of the input delta ray pfo
pParentPfothe output address of the parent pfo

Definition at line 79 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetInstanceName()

const std::string & pandora::Process::GetInstanceName ( ) const
inlineinherited

Get the instance name.

Returns
The instance name

Definition at line 109 of file Process.h.

◆ GetPandora()

const Pandora & pandora::Process::GetPandora ( ) const
inlineinherited

Get the associated pandora instance.

Returns
the associated pandora instance

Definition at line 116 of file Process.h.

◆ GetTwoDSeparation()

StatusCode lar_content::DeltaRayParentAlgorithm::GetTwoDSeparation ( const pandora::ParticleFlowObject *const  pPfo1,
const pandora::ParticleFlowObject *const  pPfo2,
float &  separation 
) const
private

Get distance between two Pfos using 2D clusters.

Parameters
pPfothe address of the first Pfo
pPfothe address of the second Pfo
torecieve the output pfo separation
Returns
whether the pfo separation could be calculated

Definition at line 122 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetType()

const std::string & pandora::Process::GetType ( ) const
inlineinherited

Get the type.

Returns
The type

Definition at line 102 of file Process.h.

◆ InitialisePfoLengthMap()

void lar_content::DeltaRayParentAlgorithm::InitialisePfoLengthMap ( const pandora::PfoList *const  muonPfoList,
const pandora::PfoList *const  deltaRayPfoList,
PfoLengthMap pfoLengthMap 
) const
private

Initialise the delta ray pfo length map.

Parameters
muonPfoListthe list of all cosmic ray pfos
deltaRayPfoListthe list of all delta ray pfos
pfoLengthMapthe output mapping of pfos to their 2D length

Definition at line 68 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Initialize()

StatusCode pandora::Process::Initialize ( )
inlineprotectedvirtualinherited

Perform any operations that must occur after reading settings, but before running the process.

Reimplemented in lar_content::BdtBeamParticleIdTool, lar_content::BeamParticleIdTool, lar_content::CosmicRayTaggingTool, lar_content::EventReadingAlgorithm, lar_content::EventWritingAlgorithm, lar_content::LArPseudoLayerPlugin, lar_content::LArRotationalTransformationPlugin, EventReadingAlgorithm, and EventWritingAlgorithm.

Definition at line 126 of file Process.h.

Here is the caller graph for this function:

◆ ReadSettings()

StatusCode lar_content::DeltaRayParentAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 204 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:

◆ RegisterDetails()

StatusCode pandora::Process::RegisterDetails ( const Pandora *const  pPandora,
const std::string &  type,
const std::string &  instanceName 
)
inlineprotectedinherited

Register i) the pandora instance that will run the process and ii) the process type.

Parameters
pPandoraaddress of the pandora object that will run the process
typethe process type
instanceNamethe process instance name

Definition at line 146 of file Process.h.

Here is the caller graph for this function:

◆ Reset()

StatusCode pandora::Process::Reset ( )
inlineprotectedvirtualinherited

Perform any operations when pandora is reset, typically at the end of each event.

Reimplemented in lar_content::MasterAlgorithm, lar_content::PostProcessingAlgorithm, and lar_content::PreProcessingAlgorithm.

Definition at line 133 of file Process.h.

Here is the caller graph for this function:

◆ Run()

StatusCode lar_content::DeltaRayParentAlgorithm::Run ( )
virtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 27 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:

◆ UpdatePfoLengthMap()

void lar_content::DeltaRayParentAlgorithm::UpdatePfoLengthMap ( const pandora::PfoList pfosToRemove,
const pandora::ParticleFlowObject *const  pPfoToAdd,
PfoLengthMap pfoLengthMap 
) const
private

Update the pfo length map after a parent-child delta ray merge.

Parameters
pfosToRemovethe list of pfos to remove from the map
pPfoToAddthe address of the pfo to add to the map
pfoLengthMapthe mapping of pfos to their 2D length

Definition at line 187 of file DeltaRayParentAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_deltaRayPfoListName

std::string lar_content::DeltaRayParentAlgorithm::m_deltaRayPfoListName
private

The list of reconstructed delta ray pfos.

Definition at line 86 of file DeltaRayParentAlgorithm.h.

◆ m_distanceForMatching

float lar_content::DeltaRayParentAlgorithm::m_distanceForMatching
private

The maximum separation of a delta ray pfo from its parent.

Definition at line 87 of file DeltaRayParentAlgorithm.h.

◆ m_instanceName

std::string pandora::Process::m_instanceName
protectedinherited

The process instance name.

Definition at line 89 of file Process.h.

◆ m_muonPfoListName

std::string lar_content::DeltaRayParentAlgorithm::m_muonPfoListName
private

The list of reconstructed muon pfos.

Definition at line 85 of file DeltaRayParentAlgorithm.h.

◆ m_pPandora

const Pandora* pandora::Process::m_pPandora
protectedinherited

The pandora object that will run the process.

Definition at line 87 of file Process.h.

◆ m_type

std::string pandora::Process::m_type
protectedinherited

The process type.

Definition at line 88 of file Process.h.


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