8 #ifndef LAR_CONNECTION_PATHWAY_HELPER_H 9 #define LAR_CONNECTION_PATHWAY_HELPER_H 1 11 #include "Pandora/PandoraInternal.h" 48 bool operator()(
const pandora::CartesianVector &lhs,
const pandora::CartesianVector &rhs);
49 bool operator()(
const pandora::CaloHit *
const lhs,
const pandora::CaloHit *
const rhs);
69 static bool FindShowerStarts3D(
const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pShowerPfo,
70 const ProtoShowerMatch &protoShowerMatch,
const pandora::CartesianVector &nuVertexPosition,
const float maxSeparationFromHit,
71 const float maxProjectionSeparation,
const float maxXSeparation, pandora::CartesianPointVector &showerStarts3D);
83 const ProtoShower &protoShowerV,
const ProtoShower &protoShowerW, pandora::CartesianVector &showerStart3D);
99 const ProtoShower &protoShowerV,
const ProtoShower &protoShowerW, pandora::CartesianVector &uShowerStart3D,
100 pandora::CartesianVector &vShowerStart3D, pandora::CartesianVector &wShowerStart3D);
114 const ProtoShower &protoShowerA,
const ProtoShower &protoShowerB, pandora::CartesianVector &showerStart3D);
141 const ProtoShower &protoShower2,
const float maxSeparation,
const float maxXSeparation, pandora::CartesianVector &showerStart3D);
154 const float maxXSeparation, pandora::CartesianVector &foundShowerStart);
170 const ProtoShower &protoShower1,
const ProtoShower &protoShower2,
const float maxSeparation,
const float maxXSeparation,
171 pandora::CartesianVector &showerStart3D);
183 static void GetMinMiddleMax(
const float value1,
const float value2,
const float value3,
float &minValue,
float &middleValue,
float &maxValue);
188 #endif // #ifndef LAR_CONNECTION_PATHWAY_HELPER_H
const pandora::CartesianVector m_referencePoint
The point relative to which constituent hits are ordered.
Header file for the ProtoShower class.
static bool FindShowerStarts3D(const pandora::Algorithm *const pAlgorithm, const pandora::ParticleFlowObject *const pShowerPfo, const ProtoShowerMatch &protoShowerMatch, const pandora::CartesianVector &nuVertexPosition, const float maxSeparationFromHit, const float maxProjectionSeparation, const float maxXSeparation, pandora::CartesianPointVector &showerStarts3D)
Create 3D shower start position(s) from three input 2D positions.
static bool FindShowerStartFromXProjection(const pandora::Algorithm *const pAlgorithm, const ProtoShower &protoShower, const ProtoShower &protoShower1, const ProtoShower &protoShower2, const float maxSeparation, const float maxXSeparation, pandora::CartesianVector &showerStart3D)
Create a 3D shower start position from an input 2D position, assuming consistency of the drift coordi...
static bool FindClosestSpinePosition(const ProtoShower &protoShower, const pandora::CartesianVector &showerStart3D, const float maxXSeparation, pandora::CartesianVector &foundShowerStart)
Find the 2D spine hit that is closest to the neutrino vertex and shares a drift coordinate with an in...
static void FindShowerStartFromPosition(const pandora::Algorithm *const pAlgorithm, const ProtoShower &protoShowerU, const ProtoShower &protoShowerV, const ProtoShower &protoShowerW, pandora::CartesianVector &showerStart3D)
Create 3D shower start position from three input 2D positions, assuming consistency of position...
static bool ProjectShowerStartByDirection(const ProtoShower &protoShower, const float x, pandora::CartesianVector &showerStart2D)
Find a 2D shower start, from a drift coordinate by assuming consistency of initial direction...
LArConnectionPathwayHelper class.
SortByDistanceToPoint class.
SortByDistanceToPoint(const pandora::CartesianVector referencePoint)
Constructor.
static void GetMinMiddleMax(const float value1, const float value2, const float value3, float &minValue, float &middleValue, float &maxValue)
Determine the lowest, median and highest value from an input of three numbers.
static bool FindShowerStartFromDirection(const pandora::Algorithm *const pAlgorithm, const ProtoShower &protoShowerU, const ProtoShower &protoShowerV, const ProtoShower &protoShowerW, pandora::CartesianVector &uShowerStart3D, pandora::CartesianVector &vShowerStart3D, pandora::CartesianVector &wShowerStart3D)
Create a 3D shower start position from each input 2D position, assuming consistency of initial direct...
bool operator()(const pandora::CartesianVector &lhs, const pandora::CartesianVector &rhs)
Sort constituent hits by their position relative to a referencePoint.
static bool FindShowerStartFromXProjectionRelaxed(const pandora::Algorithm *const pAlgorithm, const ProtoShower &protoShower, const ProtoShower &protoShower1, const ProtoShower &protoShower2, const float maxSeparation, const float maxXSeparation, pandora::CartesianVector &showerStart3D)
A relaxed approach to create a 3D shower start position from an input 2D position, assuming consistency of the drift coordinate.