LArSoft  v10_06_00
Liquid Argon Software toolkit - https://larsoft.org/
lar_content::RandomFigureOfMeritTool Class Reference

RandomFigureOfMeritTool class. More...

#include "RandomFigureOfMeritTool.h"

Inheritance diagram for lar_content::RandomFigureOfMeritTool:
lar_content::ThreeDReclusteringFigureOfMeritBaseTool

Public Member Functions

 RandomFigureOfMeritTool ()
 Default constructor. More...
 
 ~RandomFigureOfMeritTool ()=default
 Default destructor. More...
 
pandora::StatusCode GetPfosToRecluster (const pandora::PfoList *pPfos, pandora::PfoList &pfosToRecluster)
 Identify pfos for which an attempt at 3D reclustering should be made. More...
 
pandora::StatusCode CalcClusteringFom (const pandora::ClusterList &clusters, float &fom)
 Calculate a measure of the goodness of a clustering. More...
 

Private Member Functions

float GetRandomFom ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 

Private Attributes

float m_maxFomToRecluster
 threshold figure of merit for reclustering a pfo More...
 

Detailed Description

RandomFigureOfMeritTool class.

Definition at line 20 of file RandomFigureOfMeritTool.h.

Constructor & Destructor Documentation

lar_content::RandomFigureOfMeritTool::RandomFigureOfMeritTool ( )

Default constructor.

Definition at line 18 of file RandomFigureOfMeritTool.cc.

18  :
20 {
21 }
float m_maxFomToRecluster
threshold figure of merit for reclustering a pfo
lar_content::RandomFigureOfMeritTool::~RandomFigureOfMeritTool ( )
default

Default destructor.

Member Function Documentation

StatusCode lar_content::RandomFigureOfMeritTool::CalcClusteringFom ( const pandora::ClusterList &  clusters,
float &  fom 
)
virtual

Calculate a measure of the goodness of a clustering.

Parameters
clustersinput list of clusters
fomoutput value of the clustering goodness, the figure of merit

Implements lar_content::ThreeDReclusteringFigureOfMeritBaseTool.

Definition at line 43 of file RandomFigureOfMeritTool.cc.

References GetRandomFom().

44 {
45  fom = GetRandomFom();
46 
47  return STATUS_CODE_SUCCESS;
48 }
StatusCode lar_content::RandomFigureOfMeritTool::GetPfosToRecluster ( const pandora::PfoList *  pPfos,
pandora::PfoList &  pfosToRecluster 
)
virtual

Identify pfos for which an attempt at 3D reclustering should be made.

Parameters
pPfosinput list of all pfos
pfosToReclusteroutput list of pfos that should be reclustered

Implements lar_content::ThreeDReclusteringFigureOfMeritBaseTool.

Definition at line 25 of file RandomFigureOfMeritTool.cc.

References GetRandomFom(), and m_maxFomToRecluster.

26 {
27  if (!pfosToRecluster.empty())
28  return STATUS_CODE_FAILURE;
29 
30  for (const Pfo *const pPfo : *pPfos)
31  {
32  if (pPfo->GetNClusters() == 0)
33  continue;
35  pfosToRecluster.emplace_back(pPfo);
36  }
37 
38  return STATUS_CODE_SUCCESS;
39 }
float m_maxFomToRecluster
threshold figure of merit for reclustering a pfo
float lar_content::RandomFigureOfMeritTool::GetRandomFom ( )
inlineprivate

Definition at line 47 of file RandomFigureOfMeritTool.h.

Referenced by CalcClusteringFom(), and GetPfosToRecluster().

48 {
49  return static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
50 }
StatusCode lar_content::RandomFigureOfMeritTool::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
private

Definition at line 52 of file RandomFigureOfMeritTool.cc.

References m_maxFomToRecluster.

53 {
54  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle, "MaxFomToRecluster", m_maxFomToRecluster));
55 
56  return STATUS_CODE_SUCCESS;
57 }
float m_maxFomToRecluster
threshold figure of merit for reclustering a pfo

Member Data Documentation

float lar_content::RandomFigureOfMeritTool::m_maxFomToRecluster
private

threshold figure of merit for reclustering a pfo

Definition at line 42 of file RandomFigureOfMeritTool.h.

Referenced by GetPfosToRecluster(), and ReadSettings().


The documentation for this class was generated from the following files: