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

NeutrinoHierarchyAlgorithm class. More...

#include "NeutrinoHierarchyAlgorithm.h"

Inheritance diagram for lar_content::NeutrinoHierarchyAlgorithm:
Collaboration diagram for lar_content::NeutrinoHierarchyAlgorithm:

Classes

class  PfoInfo
 PfoInfo class. More...
 

Public Types

typedef std::unordered_map< const pandora::ParticleFlowObject *, PfoInfo * > PfoInfoMap
 

Public Member Functions

 NeutrinoHierarchyAlgorithm ()
 Default constructor.
 
void SeparatePfos (const NeutrinoHierarchyAlgorithm::PfoInfoMap &pfoInfoMap, pandora::PfoVector &assignedPfos, pandora::PfoVector &unassignedPfos) const
 Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex.
 
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 Types

typedef std::vector< PfoRelationTool * > PfoRelationToolVector
 

Private Member Functions

pandora::StatusCode Run ()
 Run the algorithm.
 
void GetNeutrinoPfo (const pandora::ParticleFlowObject *&pNeutrinoPfo) const
 Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists.
 
void GetCandidateDaughterPfoList (pandora::PfoList &candidateDaughterPfoList) const
 Get the list of candidate daughter pfos.
 
void GetInitialPfoInfoMap (const pandora::PfoList &pfoList, PfoInfoMap &pfoInfoMap) const
 Process a provided pfo list and populate an initial pfo info map.
 
void ProcessPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, PfoInfoMap &pfoInfoMap, const unsigned int callDepth=0) const
 Process the information in a pfo info map, creating pfo parent/daughter links.
 
void AdjustVertexAndPfoInfo (const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, PfoInfoMap &pfoInfoMap) const
 Adjust neutrino vertex to ensure agreement with at least one pfo (first in sorted input list)
 
void DisplayPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const PfoInfoMap &pfoInfoMap) const
 Display the information in a pfo info map, visualising pfo parent/daughter links.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

PfoRelationToolVector m_algorithmToolVector
 The algorithm tool vector.
 
std::string m_neutrinoPfoListName
 The neutrino pfo list name.
 
pandora::StringVector m_daughterPfoListNames
 The list of daughter pfo list names.
 
std::string m_neutrinoVertexListName
 The neutrino vertex list name - if not specified will assume current list.
 
unsigned int m_halfWindowLayers
 The number of layers to use for half-window of sliding fit.
 
bool m_displayPfoInfoMap
 Whether to display the pfo info map (if monitoring is enabled)
 

Detailed Description

NeutrinoHierarchyAlgorithm class.

Definition at line 27 of file NeutrinoHierarchyAlgorithm.h.

Member Typedef Documentation

◆ PfoInfoMap

◆ PfoRelationToolVector

Constructor & Destructor Documentation

◆ NeutrinoHierarchyAlgorithm()

lar_content::NeutrinoHierarchyAlgorithm::NeutrinoHierarchyAlgorithm ( )

Default constructor.

Definition at line 22 of file NeutrinoHierarchyAlgorithm.cc.

Member Function Documentation

◆ AdjustVertexAndPfoInfo()

void lar_content::NeutrinoHierarchyAlgorithm::AdjustVertexAndPfoInfo ( const pandora::ParticleFlowObject *const  pNeutrinoPfo,
const pandora::PfoList candidateDaughterPfoList,
PfoInfoMap pfoInfoMap 
) const
private

Adjust neutrino vertex to ensure agreement with at least one pfo (first in sorted input list)

Parameters
pNeutrinoPfothe address of the (original) parent neutrino pfo
candidateDaughterPfoListthe list of candidate daughter pfos
pfoInfoMapthe pfo info map

Definition at line 227 of file NeutrinoHierarchyAlgorithm.cc.

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

◆ DisplayPfoInfoMap()

void lar_content::NeutrinoHierarchyAlgorithm::DisplayPfoInfoMap ( const pandora::ParticleFlowObject *const  pNeutrinoPfo,
const PfoInfoMap pfoInfoMap 
) const
private

Display the information in a pfo info map, visualising pfo parent/daughter links.

Parameters
pNeutrinoPfothe address of the (original) parent neutrino pfo
pfoInfoMapthe pfo info map

Definition at line 281 of file NeutrinoHierarchyAlgorithm.cc.

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

◆ GetCandidateDaughterPfoList()

void lar_content::NeutrinoHierarchyAlgorithm::GetCandidateDaughterPfoList ( pandora::PfoList candidateDaughterPfoList) const
private

Get the list of candidate daughter pfos.

Parameters
candidateDaughterPfoListto receive the candidate daughter pfo list

Definition at line 127 of file NeutrinoHierarchyAlgorithm.cc.

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

◆ GetInitialPfoInfoMap()

void lar_content::NeutrinoHierarchyAlgorithm::GetInitialPfoInfoMap ( const pandora::PfoList pfoList,
PfoInfoMap pfoInfoMap 
) const
private

Process a provided pfo list and populate an initial pfo info map.

Parameters
pfoListthe provided pfo list
pfoInfoMapto receive the initial pfo info map

Definition at line 149 of file NeutrinoHierarchyAlgorithm.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.

◆ GetNeutrinoPfo()

void lar_content::NeutrinoHierarchyAlgorithm::GetNeutrinoPfo ( const pandora::ParticleFlowObject *&  pNeutrinoPfo) const
private

Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists.

Parameters
toreceive the address of the input neutrino pfo

Definition at line 104 of file NeutrinoHierarchyAlgorithm.cc.

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

◆ 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.

◆ GetType()

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

Get the type.

Returns
The type

Definition at line 102 of file Process.h.

◆ 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:

◆ ProcessPfoInfoMap()

void lar_content::NeutrinoHierarchyAlgorithm::ProcessPfoInfoMap ( const pandora::ParticleFlowObject *const  pNeutrinoPfo,
const pandora::PfoList candidateDaughterPfoList,
PfoInfoMap pfoInfoMap,
const unsigned int  callDepth = 0 
) const
private

Process the information in a pfo info map, creating pfo parent/daughter links.

Parameters
pNeutrinoPfothe address of the (original) parent neutrino pfo
candidateDaughterPfoListthe list of candidate daughter pfos
pfoInfoMapthe pfo info map
callDepthdepth of callstack for this function, tracking recursive use

Definition at line 174 of file NeutrinoHierarchyAlgorithm.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 467 of file NeutrinoHierarchyAlgorithm.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::NeutrinoHierarchyAlgorithm::Run ( )
privatevirtual

Run the algorithm.

Implements pandora::Algorithm.

Definition at line 52 of file NeutrinoHierarchyAlgorithm.cc.

Here is the call graph for this function:

◆ SeparatePfos()

void lar_content::NeutrinoHierarchyAlgorithm::SeparatePfos ( const NeutrinoHierarchyAlgorithm::PfoInfoMap pfoInfoMap,
pandora::PfoVector assignedPfos,
pandora::PfoVector unassignedPfos 
) const

Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex.

Parameters
pfoInfoMapthe pfo info map
assignedPfosto receive the sorted vector of assigned pfos
unassignedPfosto receive the sorted vector of unassigned pfos

Definition at line 28 of file NeutrinoHierarchyAlgorithm.cc.

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

Member Data Documentation

◆ m_algorithmToolVector

PfoRelationToolVector lar_content::NeutrinoHierarchyAlgorithm::m_algorithmToolVector
private

The algorithm tool vector.

Definition at line 238 of file NeutrinoHierarchyAlgorithm.h.

◆ m_daughterPfoListNames

pandora::StringVector lar_content::NeutrinoHierarchyAlgorithm::m_daughterPfoListNames
private

The list of daughter pfo list names.

Definition at line 241 of file NeutrinoHierarchyAlgorithm.h.

◆ m_displayPfoInfoMap

bool lar_content::NeutrinoHierarchyAlgorithm::m_displayPfoInfoMap
private

Whether to display the pfo info map (if monitoring is enabled)

Definition at line 246 of file NeutrinoHierarchyAlgorithm.h.

◆ m_halfWindowLayers

unsigned int lar_content::NeutrinoHierarchyAlgorithm::m_halfWindowLayers
private

The number of layers to use for half-window of sliding fit.

Definition at line 245 of file NeutrinoHierarchyAlgorithm.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_neutrinoPfoListName

std::string lar_content::NeutrinoHierarchyAlgorithm::m_neutrinoPfoListName
private

The neutrino pfo list name.

Definition at line 240 of file NeutrinoHierarchyAlgorithm.h.

◆ m_neutrinoVertexListName

std::string lar_content::NeutrinoHierarchyAlgorithm::m_neutrinoVertexListName
private

The neutrino vertex list name - if not specified will assume current list.

Definition at line 243 of file NeutrinoHierarchyAlgorithm.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: