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

#include "ShowerSpineFinderTool.h"

Inheritance diagram for lar_content::ShowerSpineFinderTool:
Collaboration diagram for lar_content::ShowerSpineFinderTool:

Public Member Functions

 ShowerSpineFinderTool ()
 
pandora::StatusCode Run (const pandora::CartesianVector &nuVertex3D, const pandora::CaloHitList *const pViewHitList, const pandora::HitType hitType, const pandora::CartesianVector &peakDirection, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList)
 
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

pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 
void FindShowerSpine (const pandora::CaloHitList *const pViewHitList, const pandora::CartesianVector &nuVertex2D, const pandora::CartesianVector &initialDirection, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList) const
 Perform a running fit to collect the hits of the shower spine.
 
bool CollectSubsectionHits (const TwoDSlidingFitResult &extrapolatedFit, const pandora::CartesianVector &extrapolatedStartPosition, const pandora::CartesianVector &extrapolatedEndPosition, const pandora::CartesianVector &extrapolatedDirection, const bool isEndDownstream, const pandora::CaloHitList *const pViewHitList, pandora::CartesianPointVector &runningFitPositionVector, pandora::CaloHitList &unavailableHitList, pandora::CaloHitList &showerSpineHitList) const
 Perform a running fit step: collect hits which lie close to the shower spine projection.
 
bool IsCloseToLine (const pandora::CartesianVector &hitPosition, const pandora::CartesianVector &lineStart, const pandora::CartesianVector &lineDirection, const float distanceToLine) const
 Determine whether a hit lies close to the shower spine projection.
 
void CollectConnectedHits (const pandora::CaloHitList &collectedHits, const pandora::CartesianVector &extrapolatedStartPosition, const pandora::CartesianVector &extrapolatedDirection, pandora::CartesianPointVector &runningFitPositionVector, pandora::CaloHitList &showerSpineHitList) const
 Add to the shower spine the connecting hits.
 
float GetClosestDistance (const pandora::CartesianVector &position, const pandora::CartesianPointVector &testPositions) const
 Find the smallest distance between a position and a list of other positions.
 

Private Attributes

unsigned int m_hitThresholdForSpine
 The hit threshold for a significant spine.
 
float m_growingFitInitialLength
 The first step distance.
 
float m_initialFitDistanceToLine
 The max. proximity to the spine projection for collection in the first step.
 
unsigned int m_minInitialHitsFound
 The min. number of hits collected in the first step for continuation.
 
unsigned int m_maxFittingHits
 The number of hits to consider in the running fit.
 
unsigned int m_localSlidingFitWindow
 The standard sliding fit window for spine fits.
 
float m_growingFitSegmentLength
 The standard step distance.
 
unsigned int m_highResolutionSlidingFitWindow
 The high resolution sliding fit window for spine fits.
 
float m_distanceToLine
 The max. proximity to the spine projection for collection.
 
float m_hitConnectionDistance
 The max. separation between connected hits.
 

Detailed Description

Definition at line 19 of file ShowerSpineFinderTool.h.

Constructor & Destructor Documentation

◆ ShowerSpineFinderTool()

lar_content::ShowerSpineFinderTool::ShowerSpineFinderTool ( )

Definition at line 25 of file ShowerSpineFinderTool.cc.

Member Function Documentation

◆ CollectConnectedHits()

void lar_content::ShowerSpineFinderTool::CollectConnectedHits ( const pandora::CaloHitList collectedHits,
const pandora::CartesianVector extrapolatedStartPosition,
const pandora::CartesianVector extrapolatedDirection,
pandora::CartesianPointVector runningFitPositionVector,
pandora::CaloHitList showerSpineHitList 
) const
private

Add to the shower spine the connecting hits.

Parameters
collectedHitsthe input list of close hits
extrapolatedStartPositionthe shower spine projection start position
extrapolatedDirectionthe shower spine projection direction
runningFitPositionVectorthe vector of the collected hit positions
showerSpineHitListthe list of collected shower spine hits

Definition at line 228 of file ShowerSpineFinderTool.cc.

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

◆ CollectSubsectionHits()

bool lar_content::ShowerSpineFinderTool::CollectSubsectionHits ( const TwoDSlidingFitResult extrapolatedFit,
const pandora::CartesianVector extrapolatedStartPosition,
const pandora::CartesianVector extrapolatedEndPosition,
const pandora::CartesianVector extrapolatedDirection,
const bool  isEndDownstream,
const pandora::CaloHitList *const  pViewHitList,
pandora::CartesianPointVector runningFitPositionVector,
pandora::CaloHitList unavailableHitList,
pandora::CaloHitList showerSpineHitList 
) const
private

Perform a running fit step: collect hits which lie close to the shower spine projection.

Parameters
extrapolatedFitthe fit to the hitherto collected hits
extrapolatedStartPositionthe shower spine projection start position
extrapolatedEndPositionthe shower spine projection end position
extrapolatedDirectionthe shower spine projection direction
isEndDownstreamwhether the shower direction is downstream (in Z) of the neutrino vertex
pViewHitListthe 2D event hit list
runningFitPositionVectorthe vector of the hitherto collected hit positions
unavailableHitListprotected hits that cannot be collected
showerSpineHitListthe output list of shower spine hits
Returns
whether any hits were collected in the running fit step

Definition at line 155 of file ShowerSpineFinderTool.cc.

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

◆ FindShowerSpine()

void lar_content::ShowerSpineFinderTool::FindShowerSpine ( const pandora::CaloHitList *const  pViewHitList,
const pandora::CartesianVector nuVertex2D,
const pandora::CartesianVector initialDirection,
pandora::CaloHitList unavailableHitList,
pandora::CaloHitList showerSpineHitList 
) const
private

Perform a running fit to collect the hits of the shower spine.

Parameters
pViewHitListthe 2D event hit list
nuVertex2Dthe 2D neutrino vertex
initialDirectionthe initial direction of the pathway
unavailableHitListprotected hits that cannot be collected
showerSpineHitListthe output list of shower spine hits

Definition at line 57 of file ShowerSpineFinderTool.cc.

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

◆ GetClosestDistance()

float lar_content::ShowerSpineFinderTool::GetClosestDistance ( const pandora::CartesianVector position,
const pandora::CartesianPointVector testPositions 
) const
private

Find the smallest distance between a position and a list of other positions.

Parameters
positionthe input position
testPositionsthe list of other positions
Returns
the closest distance

Definition at line 262 of file ShowerSpineFinderTool.cc.

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.

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

◆ IsCloseToLine()

bool lar_content::ShowerSpineFinderTool::IsCloseToLine ( const pandora::CartesianVector hitPosition,
const pandora::CartesianVector lineStart,
const pandora::CartesianVector lineDirection,
const float  distanceToLine 
) const
private

Determine whether a hit lies close to the shower spine projection.

Parameters
hitPositionthe hit position
lineStartthe shower spine projection start position
lineDirectionthe shower spine projection direction
distanceToLinethe comparison distance for 'is close'
Returns
whether the hit is close to the shower spine projection

Definition at line 215 of file ShowerSpineFinderTool.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 279 of file ShowerSpineFinderTool.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::ShowerSpineFinderTool::Run ( const pandora::CartesianVector nuVertex3D,
const pandora::CaloHitList *const  pViewHitList,
const pandora::HitType  hitType,
const pandora::CartesianVector peakDirection,
pandora::CaloHitList unavailableHitList,
pandora::CaloHitList showerSpineHitList 
)

Definition at line 41 of file ShowerSpineFinderTool.cc.

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

Member Data Documentation

◆ m_distanceToLine

float lar_content::ShowerSpineFinderTool::m_distanceToLine
private

The max. proximity to the spine projection for collection.

Definition at line 106 of file ShowerSpineFinderTool.h.

◆ m_growingFitInitialLength

float lar_content::ShowerSpineFinderTool::m_growingFitInitialLength
private

The first step distance.

Definition at line 99 of file ShowerSpineFinderTool.h.

◆ m_growingFitSegmentLength

float lar_content::ShowerSpineFinderTool::m_growingFitSegmentLength
private

The standard step distance.

Definition at line 104 of file ShowerSpineFinderTool.h.

◆ m_highResolutionSlidingFitWindow

unsigned int lar_content::ShowerSpineFinderTool::m_highResolutionSlidingFitWindow
private

The high resolution sliding fit window for spine fits.

Definition at line 105 of file ShowerSpineFinderTool.h.

◆ m_hitConnectionDistance

float lar_content::ShowerSpineFinderTool::m_hitConnectionDistance
private

The max. separation between connected hits.

Definition at line 107 of file ShowerSpineFinderTool.h.

◆ m_hitThresholdForSpine

unsigned int lar_content::ShowerSpineFinderTool::m_hitThresholdForSpine
private

The hit threshold for a significant spine.

Definition at line 98 of file ShowerSpineFinderTool.h.

◆ m_initialFitDistanceToLine

float lar_content::ShowerSpineFinderTool::m_initialFitDistanceToLine
private

The max. proximity to the spine projection for collection in the first step.

Definition at line 100 of file ShowerSpineFinderTool.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_localSlidingFitWindow

unsigned int lar_content::ShowerSpineFinderTool::m_localSlidingFitWindow
private

The standard sliding fit window for spine fits.

Definition at line 103 of file ShowerSpineFinderTool.h.

◆ m_maxFittingHits

unsigned int lar_content::ShowerSpineFinderTool::m_maxFittingHits
private

The number of hits to consider in the running fit.

Definition at line 102 of file ShowerSpineFinderTool.h.

◆ m_minInitialHitsFound

unsigned int lar_content::ShowerSpineFinderTool::m_minInitialHitsFound
private

The min. number of hits collected in the first step for continuation.

Definition at line 101 of file ShowerSpineFinderTool.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: