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

BeamParticleIdTool class. More...

#include "BeamParticleIdTool.h"

Inheritance diagram for lar_content::BeamParticleIdTool:
Collaboration diagram for lar_content::BeamParticleIdTool:

Classes

class  Plane
 Plane class. More...
 

Public Member Functions

 BeamParticleIdTool ()
 Default constructor.
 
void SelectOutputPfos (const pandora::Algorithm *const pAlgorithm, const SliceHypotheses &beamSliceHypotheses, const SliceHypotheses &crSliceHypotheses, pandora::PfoList &selectedPfos)
 Select which reconstruction hypotheses to use; neutrino outcomes or cosmic-ray muon outcomes for each slice.
 
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 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< PlanePlaneVector
 

Private Member Functions

pandora::StatusCode Initialize ()
 Perform any operations that must occur after reading settings, but before running the process.
 
void GetSelectedCaloHits (const pandora::CaloHitList &inputCaloHitList, pandora::CaloHitList &outputCaloHitList, float &closestHitToFaceDistance) const
 Select a given fraction of a slice's calo hits that are closest to the beam spot.
 
void GetTPCIntercepts (const pandora::CartesianVector &a0, const pandora::CartesianVector &majorAxis, pandora::CartesianVector &interceptOne, pandora::CartesianVector &interceptTwo) const
 Find the intercepts of a line with the protoDUNE detector.
 
bool IsContained (const pandora::CartesianVector &spacePoint) const
 Check if a given 3D spacepoint is inside the global TPC volume.
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 Read the algorithm settings.
 

Private Attributes

bool m_selectAllBeamParticles
 First approach: select all beam particles, as opposed to selecting all cosmics.
 
bool m_selectOnlyFirstSliceBeamParticles
 First approach: select first slice beam particles, cosmics for all subsequent slices.
 
float m_tpcMinX
 Global TPC volume minimum x extent.
 
float m_tpcMaxX
 Global TPC volume maximum x extent.
 
float m_tpcMinY
 Global TPC volume minimum y extent.
 
float m_tpcMaxY
 Global TPC volume maximum y extent.
 
float m_tpcMinZ
 Global TPC volume minimum z extent.
 
float m_tpcMaxZ
 Global TPC volume maximum z extent.
 
pandora::CartesianVector m_beamTPCIntersection
 Intersection of beam and global TPC volume.
 
pandora::CartesianVector m_beamDirection
 Beam direction.
 
PlaneVector m_tpcPlanes
 Vector of all planes making up global TPC volume.
 
float m_projectionIntersectionCut
 Projection intersection distance cut, used in beam event selection.
 
float m_closestDistanceCut
 Closest distance (of hit to beam spot), used in beam event selection.
 
float m_angleToBeamCut
 Angle between major axis and beam direction, used in beam event selection.
 
float m_selectedFraction
 Fraction of hits to use in 3D cluster fits.
 
unsigned int m_nSelectedHits
 Minimum number of hits to use in 3D cluster fits.
 

Detailed Description

BeamParticleIdTool class.

Definition at line 19 of file BeamParticleIdTool.h.

Member Typedef Documentation

◆ PlaneVector

Definition at line 90 of file BeamParticleIdTool.h.

Constructor & Destructor Documentation

◆ BeamParticleIdTool()

lar_content::BeamParticleIdTool::BeamParticleIdTool ( )

Default constructor.

Definition at line 21 of file BeamParticleIdTool.cc.

Member Function Documentation

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

◆ GetSelectedCaloHits()

void lar_content::BeamParticleIdTool::GetSelectedCaloHits ( const pandora::CaloHitList inputCaloHitList,
pandora::CaloHitList outputCaloHitList,
float &  closestHitToFaceDistance 
) const
private

Select a given fraction of a slice's calo hits that are closest to the beam spot.

Parameters
inputCaloHitListall calo hits in slice
outputCaloHitListto receive the list of selected calo hits
closestHitToFaceDistanceto receive the distance of closest hit to beam spot

Definition at line 180 of file BeamParticleIdTool.cc.

Here is the caller graph for this function:

◆ GetTPCIntercepts()

void lar_content::BeamParticleIdTool::GetTPCIntercepts ( const pandora::CartesianVector a0,
const pandora::CartesianVector majorAxis,
pandora::CartesianVector interceptOne,
pandora::CartesianVector interceptTwo 
) const
private

Find the intercepts of a line with the protoDUNE detector.

Parameters
a0a point on the line in question
majorAxisthe direction of the line in question
interceptOneto receive the first intersection between line and protoDUNE detector
interceptTwoto receive the second intersection between line and protoDUNE detector

Definition at line 212 of file BeamParticleIdTool.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.

◆ Initialize()

StatusCode lar_content::BeamParticleIdTool::Initialize ( )
privatevirtual

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

Reimplemented from pandora::Process.

Definition at line 133 of file BeamParticleIdTool.cc.

Here is the call graph for this function:

◆ IsContained()

bool lar_content::BeamParticleIdTool::IsContained ( const pandora::CartesianVector spacePoint) const
private

Check if a given 3D spacepoint is inside the global TPC volume.

Parameters
spacePoint

Definition at line 239 of file BeamParticleIdTool.cc.

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

◆ ReadSettings()

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

Read the algorithm settings.

Parameters
xmlHandlethe relevant xml handle

Implements pandora::Process.

Definition at line 283 of file BeamParticleIdTool.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:

◆ SelectOutputPfos()

void lar_content::BeamParticleIdTool::SelectOutputPfos ( const pandora::Algorithm *const  pAlgorithm,
const SliceHypotheses nuSliceHypotheses,
const SliceHypotheses crSliceHypotheses,
pandora::PfoList selectedPfos 
)
virtual

Select which reconstruction hypotheses to use; neutrino outcomes or cosmic-ray muon outcomes for each slice.

Parameters
pAlgorithmthe address of the master instance, used to access MCParticles when in training mode
nuSliceHypothesesthe parent pfos representing the neutrino outcome for each slice
crSliceHypothesesthe parent pfos representing the cosmic-ray muon outcome for each slice
sliceNuPfosto receive the list of selected pfos

Implements lar_content::SliceIdBaseTool.

Definition at line 42 of file BeamParticleIdTool.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_angleToBeamCut

float lar_content::BeamParticleIdTool::m_angleToBeamCut
private

Angle between major axis and beam direction, used in beam event selection.

Definition at line 106 of file BeamParticleIdTool.h.

◆ m_beamDirection

pandora::CartesianVector lar_content::BeamParticleIdTool::m_beamDirection
private

Beam direction.

Definition at line 101 of file BeamParticleIdTool.h.

◆ m_beamTPCIntersection

pandora::CartesianVector lar_content::BeamParticleIdTool::m_beamTPCIntersection
private

Intersection of beam and global TPC volume.

Definition at line 100 of file BeamParticleIdTool.h.

◆ m_closestDistanceCut

float lar_content::BeamParticleIdTool::m_closestDistanceCut
private

Closest distance (of hit to beam spot), used in beam event selection.

Definition at line 105 of file BeamParticleIdTool.h.

◆ m_instanceName

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

The process instance name.

Definition at line 89 of file Process.h.

◆ m_nSelectedHits

unsigned int lar_content::BeamParticleIdTool::m_nSelectedHits
private

Minimum number of hits to use in 3D cluster fits.

Definition at line 108 of file BeamParticleIdTool.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_projectionIntersectionCut

float lar_content::BeamParticleIdTool::m_projectionIntersectionCut
private

Projection intersection distance cut, used in beam event selection.

Definition at line 104 of file BeamParticleIdTool.h.

◆ m_selectAllBeamParticles

bool lar_content::BeamParticleIdTool::m_selectAllBeamParticles
private

First approach: select all beam particles, as opposed to selecting all cosmics.

Definition at line 92 of file BeamParticleIdTool.h.

◆ m_selectedFraction

float lar_content::BeamParticleIdTool::m_selectedFraction
private

Fraction of hits to use in 3D cluster fits.

Definition at line 107 of file BeamParticleIdTool.h.

◆ m_selectOnlyFirstSliceBeamParticles

bool lar_content::BeamParticleIdTool::m_selectOnlyFirstSliceBeamParticles
private

First approach: select first slice beam particles, cosmics for all subsequent slices.

Definition at line 93 of file BeamParticleIdTool.h.

◆ m_tpcMaxX

float lar_content::BeamParticleIdTool::m_tpcMaxX
private

Global TPC volume maximum x extent.

Definition at line 95 of file BeamParticleIdTool.h.

◆ m_tpcMaxY

float lar_content::BeamParticleIdTool::m_tpcMaxY
private

Global TPC volume maximum y extent.

Definition at line 97 of file BeamParticleIdTool.h.

◆ m_tpcMaxZ

float lar_content::BeamParticleIdTool::m_tpcMaxZ
private

Global TPC volume maximum z extent.

Definition at line 99 of file BeamParticleIdTool.h.

◆ m_tpcMinX

float lar_content::BeamParticleIdTool::m_tpcMinX
private

Global TPC volume minimum x extent.

Definition at line 94 of file BeamParticleIdTool.h.

◆ m_tpcMinY

float lar_content::BeamParticleIdTool::m_tpcMinY
private

Global TPC volume minimum y extent.

Definition at line 96 of file BeamParticleIdTool.h.

◆ m_tpcMinZ

float lar_content::BeamParticleIdTool::m_tpcMinZ
private

Global TPC volume minimum z extent.

Definition at line 98 of file BeamParticleIdTool.h.

◆ m_tpcPlanes

PlaneVector lar_content::BeamParticleIdTool::m_tpcPlanes
private

Vector of all planes making up global TPC volume.

Definition at line 102 of file BeamParticleIdTool.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: