LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
BeamParticleIdTool class. More...
#include "BeamParticleIdTool.h"
Classes | |
class | Plane |
Plane class. More... | |
Public Member Functions | |
BeamParticleIdTool () | |
Default constructor. More... | |
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. More... | |
Private Types | |
typedef std::vector< Plane > | PlaneVector |
Private Member Functions | |
pandora::StatusCode | Initialize () |
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. More... | |
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. More... | |
bool | IsContained (const pandora::CartesianVector &spacePoint) const |
Check if a given 3D spacepoint is inside the global TPC volume. More... | |
pandora::StatusCode | ReadSettings (const pandora::TiXmlHandle xmlHandle) |
Private Attributes | |
bool | m_selectAllBeamParticles |
First approach: select all beam particles, as opposed to selecting all cosmics. More... | |
bool | m_selectOnlyFirstSliceBeamParticles |
First approach: select first slice beam particles, cosmics for all subsequent slices. More... | |
float | m_tpcMinX |
Global TPC volume minimum x extent. More... | |
float | m_tpcMaxX |
Global TPC volume maximum x extent. More... | |
float | m_tpcMinY |
Global TPC volume minimum y extent. More... | |
float | m_tpcMaxY |
Global TPC volume maximum y extent. More... | |
float | m_tpcMinZ |
Global TPC volume minimum z extent. More... | |
float | m_tpcMaxZ |
Global TPC volume maximum z extent. More... | |
pandora::CartesianVector | m_beamTPCIntersection |
Intersection of beam and global TPC volume. More... | |
pandora::CartesianVector | m_beamDirection |
Beam direction. More... | |
PlaneVector | m_tpcPlanes |
Vector of all planes making up global TPC volume. More... | |
float | m_projectionIntersectionCut |
Projection intersection distance cut, used in beam event selection. More... | |
float | m_closestDistanceCut |
Closest distance (of hit to beam spot), used in beam event selection. More... | |
float | m_angleToBeamCut |
Angle between major axis and beam direction, used in beam event selection. More... | |
float | m_selectedFraction |
Fraction of hits to use in 3D cluster fits. More... | |
unsigned int | m_nSelectedHits |
Minimum number of hits to use in 3D cluster fits. More... | |
BeamParticleIdTool class.
Definition at line 20 of file BeamParticleIdTool.h.
|
private |
Definition at line 91 of file BeamParticleIdTool.h.
lar_content::BeamParticleIdTool::BeamParticleIdTool | ( | ) |
Default constructor.
Definition at line 21 of file BeamParticleIdTool.cc.
|
private |
Select a given fraction of a slice's calo hits that are closest to the beam spot.
inputCaloHitList | all calo hits in slice |
outputCaloHitList | to receive the list of selected calo hits |
closestHitToFaceDistance | to receive the distance of closest hit to beam spot |
Definition at line 180 of file BeamParticleIdTool.cc.
References f, m_beamTPCIntersection, m_nSelectedHits, and m_selectedFraction.
Referenced by SelectOutputPfos().
|
private |
Find the intercepts of a line with the protoDUNE detector.
a0 | a point on the line in question |
majorAxis | the direction of the line in question |
interceptOne | to receive the first intersection between line and protoDUNE detector |
interceptTwo | to receive the second intersection between line and protoDUNE detector |
Definition at line 212 of file BeamParticleIdTool.cc.
References IsContained(), and m_tpcPlanes.
Referenced by SelectOutputPfos().
|
private |
Definition at line 133 of file BeamParticleIdTool.cc.
References f, m_tpcMaxX, m_tpcMaxY, m_tpcMaxZ, m_tpcMinX, m_tpcMinY, m_tpcMinZ, and m_tpcPlanes.
|
private |
Check if a given 3D spacepoint is inside the global TPC volume.
spacePoint |
Definition at line 239 of file BeamParticleIdTool.cc.
References m_tpcMaxX, m_tpcMaxY, m_tpcMaxZ, m_tpcMinX, m_tpcMinY, and m_tpcMinZ.
Referenced by GetTPCIntercepts().
|
private |
Definition at line 283 of file BeamParticleIdTool.cc.
References f, m_angleToBeamCut, m_beamDirection, m_beamTPCIntersection, m_closestDistanceCut, m_nSelectedHits, m_projectionIntersectionCut, m_selectAllBeamParticles, m_selectedFraction, and m_selectOnlyFirstSliceBeamParticles.
|
virtual |
Select which reconstruction hypotheses to use; neutrino outcomes or cosmic-ray muon outcomes for each slice.
pAlgorithm | the address of the master instance, used to access MCParticles when in training mode |
nuSliceHypotheses | the parent pfos representing the neutrino outcome for each slice |
crSliceHypotheses | the parent pfos representing the cosmic-ray muon outcome for each slice |
sliceNuPfos | to receive the list of selected pfos |
Implements lar_content::SliceIdBaseTool.
Definition at line 42 of file BeamParticleIdTool.cc.
References f, lar_content::LArPfoHelper::GetAllConnectedPfos(), lar_content::LArPfoHelper::GetCaloHits(), GetSelectedCaloHits(), GetTPCIntercepts(), m_angleToBeamCut, m_beamDirection, m_beamTPCIntersection, m_closestDistanceCut, m_projectionIntersectionCut, m_selectAllBeamParticles, m_selectOnlyFirstSliceBeamParticles, and lar_content::LArPcaHelper::RunPca().
|
private |
Angle between major axis and beam direction, used in beam event selection.
Definition at line 107 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
Beam direction.
Definition at line 102 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
Intersection of beam and global TPC volume.
Definition at line 101 of file BeamParticleIdTool.h.
Referenced by GetSelectedCaloHits(), ReadSettings(), and SelectOutputPfos().
|
private |
Closest distance (of hit to beam spot), used in beam event selection.
Definition at line 106 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
Minimum number of hits to use in 3D cluster fits.
Definition at line 109 of file BeamParticleIdTool.h.
Referenced by GetSelectedCaloHits(), and ReadSettings().
|
private |
Projection intersection distance cut, used in beam event selection.
Definition at line 105 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
First approach: select all beam particles, as opposed to selecting all cosmics.
Definition at line 93 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
Fraction of hits to use in 3D cluster fits.
Definition at line 108 of file BeamParticleIdTool.h.
Referenced by GetSelectedCaloHits(), and ReadSettings().
|
private |
First approach: select first slice beam particles, cosmics for all subsequent slices.
Definition at line 94 of file BeamParticleIdTool.h.
Referenced by ReadSettings(), and SelectOutputPfos().
|
private |
Global TPC volume maximum x extent.
Definition at line 96 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Global TPC volume maximum y extent.
Definition at line 98 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Global TPC volume maximum z extent.
Definition at line 100 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Global TPC volume minimum x extent.
Definition at line 95 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Global TPC volume minimum y extent.
Definition at line 97 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Global TPC volume minimum z extent.
Definition at line 99 of file BeamParticleIdTool.h.
Referenced by Initialize(), and IsContained().
|
private |
Vector of all planes making up global TPC volume.
Definition at line 103 of file BeamParticleIdTool.h.
Referenced by GetTPCIntercepts(), and Initialize().