8 #ifndef LAR_BEAM_PARTICLE_ID_TOOL_H
9 #define LAR_BEAM_PARTICLE_ID_TOOL_H 1
28 const SliceHypotheses &crSliceHypotheses, pandora::PfoList &selectedPfos);
43 Plane(
const pandora::CartesianVector &normal,
const pandora::CartesianVector &point);
51 pandora::CartesianVector
GetLineIntersection(
const pandora::CartesianVector &
a0,
const pandora::CartesianVector &
a)
const;
68 void GetSelectedCaloHits(
const pandora::CaloHitList &inputCaloHitList, pandora::CaloHitList &outputCaloHitList,
float &closestHitToFaceDistance)
const;
78 void GetTPCIntercepts(
const pandora::CartesianVector &
a0,
const pandora::CartesianVector &majorAxis,
79 pandora::CartesianVector &interceptOne, pandora::CartesianVector &interceptTwo)
const;
86 bool IsContained(
const pandora::CartesianVector &spacePoint)
const;
88 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
113 #endif // #ifndef LAR_BEAM_PARTICLE_ID_TOOL_H
BeamParticleIdTool()
Default constructor.
pandora::CartesianVector m_beamTPCIntersection
Intersection of beam and global TPC volume.
bool IsContained(const pandora::CartesianVector &spacePoint) const
Check if a given 3D spacepoint is inside the global TPC volume.
bool m_selectAllBeamParticles
First approach: select all beam particles, as opposed to selecting all cosmics.
pandora::CartesianVector m_point
A point on the plane.
std::vector< Plane > PlaneVector
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. ...
float m_closestDistanceCut
Closest distance (of hit to beam spot), used in beam event selection.
pandora::CartesianVector GetLineIntersection(const pandora::CartesianVector &a0, const pandora::CartesianVector &a) const
Return the intersection between the plane and a line.
float m_tpcMaxX
Global TPC volume maximum x extent.
float m_tpcMinZ
Global TPC volume minimum z extent.
pandora::StatusCode Initialize()
float m_tpcMaxZ
Global TPC volume maximum z extent.
float m_d
Parameter defining a plane.
Header file for the master algorithm class.
float m_angleToBeamCut
Angle between major axis and beam direction, used in beam event selection.
std::vector< pandora::PfoList > SliceHypotheses
bool m_selectOnlyFirstSliceBeamParticles
First approach: select first slice beam particles, cosmics for all subsequent slices.
pandora::CartesianVector m_unitNormal
Unit normal to plane.
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.
Plane(const pandora::CartesianVector &normal, const pandora::CartesianVector &point)
Constructor, using equation of plane: m_a*x + m_b*y + m_c*z + m_d = 0.
unsigned int m_nSelectedHits
Minimum number of hits to use in 3D cluster fits.
BeamParticleIdTool class.
float m_selectedFraction
Fraction of hits to use in 3D cluster fits.
float m_projectionIntersectionCut
Projection intersection distance cut, used in beam event selection.
float m_tpcMaxY
Global TPC volume maximum y extent.
pandora::CartesianVector m_beamDirection
Beam direction.
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...
float m_tpcMinY
Global TPC volume minimum y extent.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
PlaneVector m_tpcPlanes
Vector of all planes making up global TPC volume.
float m_tpcMinX
Global TPC volume minimum x extent.