8 #ifndef LAR_TRACK_SHOWER_ID_FEATURE_TOOLS_H 9 #define LAR_TRACK_SHOWER_ID_FEATURE_TOOLS_H 1 13 #include "Pandora/PandoraInternal.h" 36 const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster);
39 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
49 float CalculateShowerFitWidth(
const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster)
const;
70 const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster);
73 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
86 void CalculateVariablesSlidingLinearFit(
const pandora::Cluster *
const pCluster,
float &straightLineLengthLarge,
float &diffWithStraigthLineMean,
87 float &diffWithStraightLineSigma,
float &dTdLWidth,
float &maxFitGapLength,
float &rmsSlidingLinearFit)
const;
108 const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster);
111 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
120 float CalculateVertexDistance(
const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster)
const;
140 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
143 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
161 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
164 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
177 void CalculateVariablesSlidingLinearFit(
const pandora::Cluster *
const pCluster,
float &straightLineLengthLarge,
178 float &diffWithStraigthLineMean,
float &maxFitGapLength,
float &rmsSlidingLinearFit)
const;
199 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
202 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
220 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
223 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
250 void CalculateChargeDistribution(
const pandora::CaloHitList &caloHitList,
const pandora::CartesianVector &pfoStart,
251 const pandora::CartesianVector &pfoDir,
float &chargeCore,
float &chargeHalo,
float &chargeCon);
262 float CalculateConicalness(
const pandora::CaloHitList &caloHitList,
const pandora::CartesianVector &pfoStart,
263 const pandora::CartesianVector &pfoDir,
const float pfoLength);
281 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
284 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
293 void Divide3DCaloHitList(
const pandora::Algorithm *
const pAlgorithm,
const pandora::CaloHitList &threeDCaloHitList,
294 pandora::CartesianPointVector &pointVectorStart, pandora::CartesianPointVector &pointVectorEnd);
305 float OpeningAngle(
const pandora::CartesianVector &principal,
const pandora::CartesianVector &secondary,
306 const pandora::CartesianVector &eigenValues)
const;
327 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
330 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
364 bool operator()(
const pandora::CaloHit *
const left,
const pandora::CaloHit *
const right)
const;
371 const pandora::Algorithm *
const pAlgorithm,
const pandora::ParticleFlowObject *
const pInputPfo);
385 void CalculateChargeVariables(
const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster,
float &totalCharge,
386 float &chargeSigma,
float &chargeMean,
float &endCharge);
396 void OrderCaloHitsByDistanceToVertex(
397 const pandora::Algorithm *
const pAlgorithm,
const pandora::Cluster *
const pCluster, pandora::CaloHitList &caloHitList);
399 pandora::StatusCode
ReadSettings(
const pandora::TiXmlHandle xmlHandle);
406 #endif // #ifndef LAR_TRACK_SHOWER_ID_FEATURE_TOOLS_H
ConeChargeFeatureTool class for the calculation of charge distribution and conicalness.
ThreeDLinearFitFeatureTool class for the calculation of variables related to 3d sliding linear fit...
constexpr auto const & right(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
MvaTypes::MvaFeatureVector MvaFeatureVector
float m_hitFraction
Fraction of hits in start and end of pfo.
MvaFeatureTool< const pandora::Algorithm *const, const pandora::ParticleFlowObject *const > PfoCharacterisationFeatureTool
ThreeDVertexDistanceFeatureTool class for the calculation of 3d distance to neutrino vertex...
PfoHierarchyFeatureTool for calculation of features relating to reconstructed particle hierarchy...
unsigned int m_slidingShowerFitWindow
The sliding shower fit window.
MvaTypes::MvaFeatureMap MvaFeatureMap
unsigned int m_conMinHits
Configurable parameters to calculate cone charge variables.
void Run(LArMvaHelper::MvaFeatureVector &featureVector, const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster)
unsigned int m_slidingLinearFitWindow
The sliding linear fit window.
MvaFeatureTool< const pandora::Algorithm *const, const pandora::Cluster *const > ClusterCharacterisationFeatureTool
unsigned int m_slidingLinearFitWindow
The sliding linear fit window.
TwoDVertexDistanceFeatureTool class for the calculation of 2d distance to neutrino vertex...
float CalculateShowerFitWidth(const pandora::Algorithm *const pAlgorithm, const pandora::Cluster *const pCluster) const
Calculation of the shower fit width variable.
unsigned int m_slidingLinearFitWindowLarge
The sliding linear fit window - should be large, providing a simple linear fit.
float m_MoliereRadiusFrac
pandora::CartesianVector m_neutrinoVertex
unsigned int m_slidingLinearFitWindow
The sliding linear fit window.
ThreeDChargeFeatureTool class for the calculation of charge-related features.
VertexComparator class for comparison of two points wrt neutrino vertex position. ...
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
TwoDShowerFitFeatureTool()
Default constructor.
unsigned int m_slidingLinearFitWindowLarge
The sliding linear fit window - should be large, providing a simple linear fit.
float m_defaultValue
Default value to return, in case calculation not feasible.
ThreeDPCAFeatureTool class for the calculation of PCA-related variables.
TwoDShowerFitFeatureTool to calculate variables related to sliding shower fit.
float m_endChargeFraction
Fraction of hits that will be considered to calculate end charge (default 10%)
TwoDLinearFitFeatureTool class for the calculation of variables related to 2d sliding linear fit...
MvaFeatureTool class template.
unsigned int m_slidingLinearFitWindow
The sliding linear fit window.
ThreeDOpeningAngleFeatureTool class for the calculation of distance to neutrino vertex.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)