Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
lar_content::AmbiguousRegionFeatureTool Class Referenceabstract

AmbiguousRegionFeatureTool to calculate variables related to the shower region. More...

#include "ConnectionPathwayFeatureTool.h"

Inheritance diagram for lar_content::AmbiguousRegionFeatureTool:
Collaboration diagram for lar_content::AmbiguousRegionFeatureTool:

Public Types

typedef std::vector< MvaFeatureTool< Ts... > * > FeatureToolVector
 
typedef std::map< std::string, MvaFeatureTool< Ts... > * > FeatureToolMap
 

Public Member Functions

 AmbiguousRegionFeatureTool ()
 Default constructor.
 
void Run (LArMvaHelper::MvaFeatureVector &featureVector, const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pShowerPfo, const pandora::CartesianVector &nuVertex3D, const ProtoShowerMatch &protoShowerMatch, const pandora::CartesianPointVector &showerStarts3D)
 
void Run (LArMvaHelper::MvaFeatureMap &featureMap, pandora::StringVector &featureOrder, const std::string &featureToolName, const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pShowerPfo, const pandora::CartesianVector &nuVertex3D, const ProtoShowerMatch &protoShowerMatch, const pandora::CartesianPointVector &showerStarts3D)
 
virtual void Run (MvaTypes::MvaFeatureVector &featureVector, Ts... args)=0
 Run the algorithm tool.
 
virtual void Run (MvaTypes::MvaFeatureMap &featureMap, pandora::StringVector &featureOrder, const std::string &featureToolName, Ts...)
 
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 CalculateNAmbiguousViews (const ProtoShowerMatch &protoShowerMatch, float &nAmbiguousViews)
 Count the number of views with ambiguous hits.
 
bool GetViewAmbiguousHitVariables (const pandora::Algorithm *const pAlgorithm, const ProtoShowerMatch &protoShowerMatch, const pandora::HitType hitType, const pandora::CartesianVector &nuVertex3D, float &unaccountedHitEnergy)
 Calculate the ambiguous region variables for the input view.
 
void BuildAmbiguousSpines (const pandora::Algorithm *const pAlgorithm, const pandora::HitType hitType, const ProtoShower &protoShower, const pandora::CartesianVector &nuVertex2D, std::map< int, pandora::CaloHitList > &ambiguousHitSpines, pandora::CaloHitList &hitsToExcludeInEnergyCalcs)
 Determine the spine hits of the particles with which the ambiguous hits are shared.
 
pandora::StatusCode GetHitListOfType (const pandora::Algorithm *const pAlgorithm, const pandora::HitType hitType, const pandora::CaloHitList *&pCaloHitList) const
 Obtain the event hit list of a given view.
 
pandora::CaloHitList FindAmbiguousContinuousSpine (const pandora::CaloHitList &caloHitList, const pandora::CaloHitList &ambiguousHitList, const pandora::CartesianVector &nuVertex2D)
 Determine a continuous pathway of an ambigous particle's spine hits.
 

Private Attributes

float m_defaultFloat
 Default float value.
 
std::string m_caloHitListNameU
 The event U view hit list.
 
std::string m_caloHitListNameV
 The event V view hit list.
 
std::string m_caloHitListNameW
 The event W view hit list.
 
float m_maxTransverseDistance
 The max. proximity of a hits, included in a trajectory energy calcs.
 
unsigned int m_maxSampleHits
 The max. number of hits considered in the spine energy calcs.
 
float m_maxHitSeparation
 The max. separation of connected hits.
 
float m_maxTrackFraction
 The fraction of found hits which are considered in the energy calcs.
 

Detailed Description

AmbiguousRegionFeatureTool to calculate variables related to the shower region.

Definition at line 268 of file ConnectionPathwayFeatureTool.h.

Member Typedef Documentation

◆ FeatureToolMap

template<typename... Ts>
typedef std::map<std::string, MvaFeatureTool<Ts...> *> lar_content::MvaFeatureTool< Ts >::FeatureToolMap
inherited

Definition at line 37 of file LArMvaHelper.h.

◆ FeatureToolVector

template<typename... Ts>
typedef std::vector<MvaFeatureTool<Ts...> *> lar_content::MvaFeatureTool< Ts >::FeatureToolVector
inherited

Definition at line 36 of file LArMvaHelper.h.

Constructor & Destructor Documentation

◆ AmbiguousRegionFeatureTool()

lar_content::AmbiguousRegionFeatureTool::AmbiguousRegionFeatureTool ( )

Default constructor.

Definition at line 869 of file ConnectionPathwayFeatureTool.cc.

Member Function Documentation

◆ BuildAmbiguousSpines()

void lar_content::AmbiguousRegionFeatureTool::BuildAmbiguousSpines ( const pandora::Algorithm *const  pAlgorithm,
const pandora::HitType  hitType,
const ProtoShower protoShower,
const pandora::CartesianVector nuVertex2D,
std::map< int, pandora::CaloHitList > &  ambiguousHitSpines,
pandora::CaloHitList hitsToExcludeInEnergyCalcs 
)
private

Determine the spine hits of the particles with which the ambiguous hits are shared.

Parameters
pAlgorithmthe algorithm
hitTypethe 2D view
protoShowerthe ProtoShower
nuVertex2Dthe 2D neutrino vertex
ambiguousHitSpinesthe output [particle index -> shower spine hits] map
hitsToExcludeInEnergyCalcsthe list of hits to exclude in energy calculations

Definition at line 1039 of file ConnectionPathwayFeatureTool.cc.

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

◆ CalculateNAmbiguousViews()

void lar_content::AmbiguousRegionFeatureTool::CalculateNAmbiguousViews ( const ProtoShowerMatch protoShowerMatch,
float &  nAmbiguousViews 
)
private

Count the number of views with ambiguous hits.

Parameters
protoShowerMatchthe ProtoShower match
nAmbiguousViewsthe output number of ambiguous views

Definition at line 936 of file ConnectionPathwayFeatureTool.cc.

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

◆ FindAmbiguousContinuousSpine()

CaloHitList lar_content::AmbiguousRegionFeatureTool::FindAmbiguousContinuousSpine ( const pandora::CaloHitList caloHitList,
const pandora::CaloHitList ambiguousHitList,
const pandora::CartesianVector nuVertex2D 
)
private

Determine a continuous pathway of an ambigous particle's spine hits.

Parameters
caloHitListthe input ambiguous particle spine hit list
ambiguousHitListthe ambiguous hit list
nuVertex2Dthe 2D neutrino vertex
Returns
a continuous hit pathway

Definition at line 1106 of file ConnectionPathwayFeatureTool.cc.

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

◆ GetHitListOfType()

StatusCode lar_content::AmbiguousRegionFeatureTool::GetHitListOfType ( const pandora::Algorithm *const  pAlgorithm,
const pandora::HitType  hitType,
const pandora::CaloHitList *&  pCaloHitList 
) const
private

Obtain the event hit list of a given view.

Parameters
pAlgorithmthe algorithm
hitTypethe 2D view
pCaloHitListthe output 2D hit list
Returns
whether a valid 2D hit list could be found

Definition at line 1091 of file ConnectionPathwayFeatureTool.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.

◆ GetType()

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

Get the type.

Returns
The type

Definition at line 102 of file Process.h.

◆ GetViewAmbiguousHitVariables()

bool lar_content::AmbiguousRegionFeatureTool::GetViewAmbiguousHitVariables ( const pandora::Algorithm *const  pAlgorithm,
const ProtoShowerMatch protoShowerMatch,
const pandora::HitType  hitType,
const pandora::CartesianVector nuVertex3D,
float &  unaccountedHitEnergy 
)
private

Calculate the ambiguous region variables for the input view.

Parameters
pAlgorithmthe algorithm
protoShowerMatchthe ProtoShower match
hitTypethe 2D view
nuVertex3Dthe 3D neutrino vertex
unaccountedHitEnergythe output unaccounted hit energy
Returns
whether the ambiguous region variables could be calculated

Definition at line 952 of file ConnectionPathwayFeatureTool.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::AmbiguousRegionFeatureTool::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
privatevirtual

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 1161 of file ConnectionPathwayFeatureTool.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() [1/4]

void lar_content::AmbiguousRegionFeatureTool::Run ( LArMvaHelper::MvaFeatureMap featureMap,
pandora::StringVector featureOrder,
const std::string &  featureToolName,
const pandora::Algorithm *const  pAlgorithm,
const pandora::ParticleFlowObject *const  pShowerPfo,
const pandora::CartesianVector nuVertex3D,
const ProtoShowerMatch protoShowerMatch,
const pandora::CartesianPointVector showerStarts3D 
)

Definition at line 908 of file ConnectionPathwayFeatureTool.cc.

Here is the call graph for this function:

◆ Run() [2/4]

void lar_content::AmbiguousRegionFeatureTool::Run ( LArMvaHelper::MvaFeatureVector featureVector,
const pandora::Algorithm *const  pAlgorithm,
const pandora::ParticleFlowObject *const  pShowerPfo,
const pandora::CartesianVector nuVertex3D,
const ProtoShowerMatch protoShowerMatch,
const pandora::CartesianPointVector showerStarts3D 
)

Definition at line 883 of file ConnectionPathwayFeatureTool.cc.

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

◆ Run() [3/4]

template<typename... Ts>
virtual void lar_content::MvaFeatureTool< Ts >::Run ( MvaTypes::MvaFeatureMap featureMap,
pandora::StringVector featureOrder,
const std::string &  featureToolName,
Ts...   
)
inlinevirtualinherited

Definition at line 51 of file LArMvaHelper.h.

◆ Run() [4/4]

template<typename... Ts>
virtual void lar_content::MvaFeatureTool< Ts >::Run ( MvaTypes::MvaFeatureVector featureVector,
Ts...  args 
)
pure virtualinherited

Run the algorithm tool.

Parameters
featureVectorthe vector of features to append
argsarguments to pass to the tool

Member Data Documentation

◆ m_caloHitListNameU

std::string lar_content::AmbiguousRegionFeatureTool::m_caloHitListNameU
private

The event U view hit list.

Definition at line 348 of file ConnectionPathwayFeatureTool.h.

◆ m_caloHitListNameV

std::string lar_content::AmbiguousRegionFeatureTool::m_caloHitListNameV
private

The event V view hit list.

Definition at line 349 of file ConnectionPathwayFeatureTool.h.

◆ m_caloHitListNameW

std::string lar_content::AmbiguousRegionFeatureTool::m_caloHitListNameW
private

The event W view hit list.

Definition at line 350 of file ConnectionPathwayFeatureTool.h.

◆ m_defaultFloat

float lar_content::AmbiguousRegionFeatureTool::m_defaultFloat
private

Default float value.

Definition at line 347 of file ConnectionPathwayFeatureTool.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_maxHitSeparation

float lar_content::AmbiguousRegionFeatureTool::m_maxHitSeparation
private

The max. separation of connected hits.

Definition at line 353 of file ConnectionPathwayFeatureTool.h.

◆ m_maxSampleHits

unsigned int lar_content::AmbiguousRegionFeatureTool::m_maxSampleHits
private

The max. number of hits considered in the spine energy calcs.

Definition at line 352 of file ConnectionPathwayFeatureTool.h.

◆ m_maxTrackFraction

float lar_content::AmbiguousRegionFeatureTool::m_maxTrackFraction
private

The fraction of found hits which are considered in the energy calcs.

Definition at line 354 of file ConnectionPathwayFeatureTool.h.

◆ m_maxTransverseDistance

float lar_content::AmbiguousRegionFeatureTool::m_maxTransverseDistance
private

The max. proximity of a hits, included in a trajectory energy calcs.

Definition at line 351 of file ConnectionPathwayFeatureTool.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: