LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
lar_content::NeutrinoHierarchyAlgorithm Class Reference

NeutrinoHierarchyAlgorithm class. More...

#include "NeutrinoHierarchyAlgorithm.h"

Inheritance diagram for lar_content::NeutrinoHierarchyAlgorithm:

Classes

class  PfoInfo
 PfoInfo class. More...
 

Public Types

typedef std::unordered_map< const pandora::ParticleFlowObject *, PfoInfo * > PfoInfoMap
 

Public Member Functions

 NeutrinoHierarchyAlgorithm ()
 Default constructor. More...
 
void SeparatePfos (const NeutrinoHierarchyAlgorithm::PfoInfoMap &pfoInfoMap, pandora::PfoVector &assignedPfos, pandora::PfoVector &unassignedPfos) const
 Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex. More...
 

Private Types

typedef std::vector< PfoRelationTool * > PfoRelationToolVector
 

Private Member Functions

pandora::StatusCode Run ()
 
void GetNeutrinoPfo (const pandora::ParticleFlowObject *&pNeutrinoPfo) const
 Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists. More...
 
void GetCandidateDaughterPfoList (pandora::PfoList &candidateDaughterPfoList) const
 Get the list of candidate daughter pfos. More...
 
void GetInitialPfoInfoMap (const pandora::PfoList &pfoList, PfoInfoMap &pfoInfoMap) const
 Process a provided pfo list and populate an initial pfo info map. More...
 
void ProcessPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, const PfoInfoMap &pfoInfoMap) const
 Process the information in a pfo info map, creating pfo parent/daughter links. More...
 
void DisplayPfoInfoMap (const pandora::ParticleFlowObject *const pNeutrinoPfo, const PfoInfoMap &pfoInfoMap) const
 Display the information in a pfo info map, visualising pfo parent/daughter links. More...
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 

Private Attributes

PfoRelationToolVector m_algorithmToolVector
 The algorithm tool vector. More...
 
std::string m_neutrinoPfoListName
 The neutrino pfo list name. More...
 
pandora::StringVector m_daughterPfoListNames
 The list of daughter pfo list names. More...
 
unsigned int m_halfWindowLayers
 The number of layers to use for half-window of sliding fit. More...
 
bool m_displayPfoInfoMap
 Whether to display the pfo info map (if monitoring is enabled) More...
 

Detailed Description

NeutrinoHierarchyAlgorithm class.

Definition at line 27 of file NeutrinoHierarchyAlgorithm.h.

Member Typedef Documentation

typedef std::unordered_map<const pandora::ParticleFlowObject*, PfoInfo*> lar_content::NeutrinoHierarchyAlgorithm::PfoInfoMap

Definition at line 170 of file NeutrinoHierarchyAlgorithm.h.

Constructor & Destructor Documentation

lar_content::NeutrinoHierarchyAlgorithm::NeutrinoHierarchyAlgorithm ( )

Default constructor.

Definition at line 21 of file NeutrinoHierarchyAlgorithm.cc.

21  :
23  m_displayPfoInfoMap(false)
24 {
25 }
bool m_displayPfoInfoMap
Whether to display the pfo info map (if monitoring is enabled)
unsigned int m_halfWindowLayers
The number of layers to use for half-window of sliding fit.

Member Function Documentation

void lar_content::NeutrinoHierarchyAlgorithm::DisplayPfoInfoMap ( const pandora::ParticleFlowObject *const  pNeutrinoPfo,
const PfoInfoMap pfoInfoMap 
) const
private

Display the information in a pfo info map, visualising pfo parent/daughter links.

Parameters
pNeutrinoPfothe address of the (original) parent neutrino pfo
pfoInfoMapthe pfo info map

Definition at line 217 of file NeutrinoHierarchyAlgorithm.cc.

References f, lar_content::NeutrinoHierarchyAlgorithm::PfoInfo::GetThisPfo(), and lar_content::LArPfoHelper::SortByNHits().

Referenced by Run().

218 {
219  bool display(false);
220  PANDORA_MONITORING_API(SetEveDisplayParameters(this->GetPandora(), false, DETECTOR_VIEW_XZ, -1.f, -1.f, 1.f));
221  std::cout << "-Neutrino Pfo, nDaughters " << pNeutrinoPfo->GetDaughterPfoList().size() << ", nVertices " << pNeutrinoPfo->GetVertexList().size() << std::endl;
222 
223  PfoVector sortedPfos;
224  for (const auto &mapEntry : pfoInfoMap) sortedPfos.push_back(mapEntry.first);
225  std::sort(sortedPfos.begin(), sortedPfos.end(), LArPfoHelper::SortByNHits);
226 
227  for (const Pfo *const pPfo : sortedPfos)
228  {
229  const PfoInfo *const pPfoInfo(pfoInfoMap.at(pPfo));
230 
231  std::cout << "Pfo " << pPfoInfo->GetThisPfo() << ", vtxAssoc " << pPfoInfo->IsNeutrinoVertexAssociated()
232  << ", parent " << pPfoInfo->GetParentPfo() << ", nDaughters " << pPfoInfo->GetDaughterPfoList().size() << " (";
233 
234  for (const ParticleFlowObject *const pDaughterPfo : pPfoInfo->GetDaughterPfoList()) std::cout << pDaughterPfo << " ";
235  std::cout << ") " << std::endl;
236 
237  if (pPfoInfo->IsNeutrinoVertexAssociated())
238  {
239  display = true;
240  const PfoList tempPfoList(1, pPfoInfo->GetThisPfo());
241  PANDORA_MONITORING_API(VisualizeParticleFlowObjects(this->GetPandora(), &tempPfoList, "VertexPfo", RED, true, false));
242  }
243  }
244 
245  if (display)
246  {
247  PANDORA_MONITORING_API(VisualizeVertices(this->GetPandora(), &(pNeutrinoPfo->GetVertexList()), "NeutrinoVertex", ORANGE));
248  PANDORA_MONITORING_API(ViewEvent(this->GetPandora()));
249  display = false;
250  }
251 
252  for (const Pfo *const pPfo : sortedPfos)
253  {
254  const PfoInfo *const pPfoInfo(pfoInfoMap.at(pPfo));
255 
256  if (!pPfoInfo->GetDaughterPfoList().empty())
257  {
258  display = true;
259  const PfoList tempPfoList(1, pPfoInfo->GetThisPfo());
260  PANDORA_MONITORING_API(VisualizeParticleFlowObjects(this->GetPandora(), &tempPfoList, "ParentPfo", RED, true, false));
261  PANDORA_MONITORING_API(VisualizeParticleFlowObjects(this->GetPandora(), &(pPfoInfo->GetDaughterPfoList()), "DaughterPfos", BLUE, true, false));
262  PANDORA_MONITORING_API(ViewEvent(this->GetPandora()));
263  }
264  }
265 }
const pandora::ParticleFlowObject * GetThisPfo() const
Get the address of the pfo.
static bool SortByNHits(const pandora::ParticleFlowObject *const pLhs, const pandora::ParticleFlowObject *const pRhs)
Sort pfos by number of constituent hits.
TFile f
Definition: plotHisto.C:6
NeutrinoHierarchyAlgorithm::PfoInfo PfoInfo
void lar_content::NeutrinoHierarchyAlgorithm::GetCandidateDaughterPfoList ( pandora::PfoList &  candidateDaughterPfoList) const
private

Get the list of candidate daughter pfos.

Parameters
candidateDaughterPfoListto receive the candidate daughter pfo list

Definition at line 126 of file NeutrinoHierarchyAlgorithm.cc.

References m_daughterPfoListNames.

Referenced by Run().

127 {
128  for (const std::string &daughterPfoListName : m_daughterPfoListNames)
129  {
130  const PfoList *pCandidatePfoList(nullptr);
131 
132  if (STATUS_CODE_SUCCESS == PandoraContentApi::GetList(*this, daughterPfoListName, pCandidatePfoList))
133  {
134  candidateDaughterPfoList.insert(candidateDaughterPfoList.end(), pCandidatePfoList->begin(), pCandidatePfoList->end());
135  }
136  else if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
137  {
138  std::cout << "NeutrinoHierarchyAlgorithm: unable to find pfo list " << daughterPfoListName << std::endl;
139  }
140  }
141 
142  if (candidateDaughterPfoList.empty())
143  throw StatusCodeException(STATUS_CODE_NOT_FOUND);
144 }
pandora::StringVector m_daughterPfoListNames
The list of daughter pfo list names.
void lar_content::NeutrinoHierarchyAlgorithm::GetInitialPfoInfoMap ( const pandora::PfoList &  pfoList,
PfoInfoMap pfoInfoMap 
) const
private

Process a provided pfo list and populate an initial pfo info map.

Parameters
pfoListthe provided pfo list
pfoInfoMapto receive the initial pfo info map

Definition at line 148 of file NeutrinoHierarchyAlgorithm.cc.

References lar_content::LArGeometryHelper::GetWireZPitch(), and m_halfWindowLayers.

Referenced by Run().

149 {
150  const float layerPitch(LArGeometryHelper::GetWireZPitch(this->GetPandora()));
151 
152  for (const ParticleFlowObject *const pPfo : pfoList)
153  {
154  PfoInfo *pPfoInfo(nullptr);
155 
156  try
157  {
158  pPfoInfo = new PfoInfo(pPfo, m_halfWindowLayers, layerPitch);
159  (void) pfoInfoMap.insert(PfoInfoMap::value_type(pPfo, pPfoInfo));
160  }
161  catch (StatusCodeException &)
162  {
163  if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
164  std::cout << "NeutrinoHierarchyAlgorithm: Unable to calculate pfo information " << std::endl;
165 
166  delete pPfoInfo;
167  }
168  }
169 }
unsigned int m_halfWindowLayers
The number of layers to use for half-window of sliding fit.
static float GetWireZPitch(const pandora::Pandora &pandora, const float maxWirePitchDiscrepancy=0.01)
Return the wire pitch.
NeutrinoHierarchyAlgorithm::PfoInfo PfoInfo
void lar_content::NeutrinoHierarchyAlgorithm::GetNeutrinoPfo ( const pandora::ParticleFlowObject *&  pNeutrinoPfo) const
private

Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return NULL if no neutrino exists.

Parameters
toreceive the address of the input neutrino pfo

Definition at line 104 of file NeutrinoHierarchyAlgorithm.cc.

References lar_content::LArPfoHelper::IsNeutrino(), and m_neutrinoPfoListName.

Referenced by Run().

105 {
106  const PfoList *pPfoList = nullptr;
107  PANDORA_THROW_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_INITIALIZED, !=, PandoraContentApi::GetList(*this, m_neutrinoPfoListName, pPfoList));
108 
109  if (!pPfoList || pPfoList->empty())
110  {
111  if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
112  std::cout << "NeutrinoHierarchyAlgorithm: unable to find pfo list " << m_neutrinoPfoListName << std::endl;
113 
114  throw StatusCodeException(STATUS_CODE_NOT_FOUND);
115  }
116 
117  // ATTN Enforces that only one pfo, of neutrino-type, be in the specified input list
118  pNeutrinoPfo = ((1 == pPfoList->size()) ? *(pPfoList->begin()) : nullptr);
119 
120  if (!pNeutrinoPfo || !LArPfoHelper::IsNeutrino(pNeutrinoPfo))
121  throw StatusCodeException(STATUS_CODE_INVALID_PARAMETER);
122 }
static bool IsNeutrino(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a neutrino or (antineutrino)
std::string m_neutrinoPfoListName
The neutrino pfo list name.
void lar_content::NeutrinoHierarchyAlgorithm::ProcessPfoInfoMap ( const pandora::ParticleFlowObject *const  pNeutrinoPfo,
const pandora::PfoList &  candidateDaughterPfoList,
const PfoInfoMap pfoInfoMap 
) const
private

Process the information in a pfo info map, creating pfo parent/daughter links.

Parameters
pNeutrinoPfothe address of the (original) parent neutrino pfo
candidateDaughterPfoListthe list of candidate daughter pfos
pfoInfoMapthe pfo info map

Definition at line 173 of file NeutrinoHierarchyAlgorithm.cc.

References lar_content::LArPfoHelper::SortByNHits().

Referenced by Run().

175 {
176  PfoVector candidateDaughterPfoVector(candidateDaughterPfoList.begin(), candidateDaughterPfoList.end());
177  std::sort(candidateDaughterPfoVector.begin(), candidateDaughterPfoVector.end(), LArPfoHelper::SortByNHits);
178 
179  // Add neutrino->primary pfo links
180  for (const ParticleFlowObject *const pDaughterPfo : candidateDaughterPfoVector)
181  {
182  PfoInfoMap::const_iterator iter = pfoInfoMap.find(pDaughterPfo);
183 
184  if ((pfoInfoMap.end() != iter) && (iter->second->IsNeutrinoVertexAssociated()))
185  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::SetPfoParentDaughterRelationship(*this, pNeutrinoPfo, pDaughterPfo));
186  }
187 
188  // Add primary pfo->daughter pfo links
189  PfoVector sortedPfos;
190  for (const auto &mapEntry : pfoInfoMap) sortedPfos.push_back(mapEntry.first);
191  std::sort(sortedPfos.begin(), sortedPfos.end(), LArPfoHelper::SortByNHits);
192 
193  for (const Pfo *const pPfo : sortedPfos)
194  {
195  const PfoInfo *const pPfoInfo(pfoInfoMap.at(pPfo));
196 
197  PfoVector daughterPfos(pPfoInfo->GetDaughterPfoList().begin(), pPfoInfo->GetDaughterPfoList().end());
198  std::sort(daughterPfos.begin(), daughterPfos.end(), LArPfoHelper::SortByNHits);
199 
200  for (const ParticleFlowObject *const pDaughterPfo : daughterPfos)
201  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::SetPfoParentDaughterRelationship(*this, pPfoInfo->GetThisPfo(), pDaughterPfo));
202  }
203 
204  // Deal with any remaining parent-less pfos
205  for (const ParticleFlowObject *const pRemainingPfo : candidateDaughterPfoVector)
206  {
207  if (!pRemainingPfo->GetParentPfoList().empty())
208  continue;
209 
210  // TODO Most appropriate decision - add as daughter of either i) nearest pfo, or ii) the neutrino (current approach)
211  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::SetPfoParentDaughterRelationship(*this, pNeutrinoPfo, pRemainingPfo));
212  }
213 }
static bool SortByNHits(const pandora::ParticleFlowObject *const pLhs, const pandora::ParticleFlowObject *const pRhs)
Sort pfos by number of constituent hits.
intermediate_table::const_iterator const_iterator
NeutrinoHierarchyAlgorithm::PfoInfo PfoInfo
StatusCode lar_content::NeutrinoHierarchyAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
private

Definition at line 400 of file NeutrinoHierarchyAlgorithm.cc.

References m_algorithmToolVector, m_daughterPfoListNames, m_displayPfoInfoMap, m_halfWindowLayers, and m_neutrinoPfoListName.

401 {
402  AlgorithmToolVector algorithmToolVector;
403  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ProcessAlgorithmToolList(*this, xmlHandle,
404  "PfoRelationTools", algorithmToolVector));
405 
406  for (AlgorithmToolVector::const_iterator iter = algorithmToolVector.begin(), iterEnd = algorithmToolVector.end(); iter != iterEnd; ++iter)
407  {
408  PfoRelationTool *const pPfoRelationTool(dynamic_cast<PfoRelationTool*>(*iter));
409 
410  if (!pPfoRelationTool)
411  return STATUS_CODE_INVALID_PARAMETER;
412 
413  m_algorithmToolVector.push_back(pPfoRelationTool);
414  }
415 
416  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle,
417  "NeutrinoPfoListName", m_neutrinoPfoListName));
418 
419  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadVectorOfValues(xmlHandle,
420  "DaughterPfoListNames", m_daughterPfoListNames));
421 
422  PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle,
423  "SlidingFitHalfWindow", m_halfWindowLayers));
424 
425  PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle,
426  "DisplayPfoInfoMap", m_displayPfoInfoMap));
427 
428  return STATUS_CODE_SUCCESS;
429 }
PfoRelationToolVector m_algorithmToolVector
The algorithm tool vector.
bool m_displayPfoInfoMap
Whether to display the pfo info map (if monitoring is enabled)
unsigned int m_halfWindowLayers
The number of layers to use for half-window of sliding fit.
intermediate_table::const_iterator const_iterator
std::string m_neutrinoPfoListName
The neutrino pfo list name.
pandora::StringVector m_daughterPfoListNames
The list of daughter pfo list names.
StatusCode lar_content::NeutrinoHierarchyAlgorithm::Run ( )
private

Definition at line 52 of file NeutrinoHierarchyAlgorithm.cc.

References DisplayPfoInfoMap(), GetCandidateDaughterPfoList(), GetInitialPfoInfoMap(), GetNeutrinoPfo(), lar_content::LArPfoHelper::GetVertex(), m_algorithmToolVector, m_displayPfoInfoMap, and ProcessPfoInfoMap().

53 {
54  const ParticleFlowObject *pNeutrinoPfo(nullptr);
55  PfoList candidateDaughterPfoList;
56 
57  try
58  {
59  this->GetNeutrinoPfo(pNeutrinoPfo);
60  this->GetCandidateDaughterPfoList(candidateDaughterPfoList);
61  }
62  catch (StatusCodeException &statusCodeException)
63  {
64  if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
65  std::cout << "NeutrinoHierarchyAlgorithm: required input pfos unavailable." << std::endl;
66 
67  if (STATUS_CODE_NOT_FOUND != statusCodeException.GetStatusCode())
68  throw statusCodeException;
69 
70  return STATUS_CODE_SUCCESS;
71  }
72 
73  PfoInfoMap pfoInfoMap;
74 
75  try
76  {
77  if (!pNeutrinoPfo->GetVertexList().empty())
78  {
79  const Vertex *const pNeutrinoVertex(LArPfoHelper::GetVertex(pNeutrinoPfo));
80  this->GetInitialPfoInfoMap(candidateDaughterPfoList, pfoInfoMap);
81 
82  for (PfoRelationTool *const pPfoRelationTool : m_algorithmToolVector)
83  pPfoRelationTool->Run(this, pNeutrinoVertex, pfoInfoMap);
84  }
85 
86  this->ProcessPfoInfoMap(pNeutrinoPfo, candidateDaughterPfoList, pfoInfoMap);
87  }
88  catch (StatusCodeException &statusCodeException)
89  {
90  std::cout << "NeutrinoHierarchyAlgorithm: unable to process input neutrino pfo, " << statusCodeException.ToString() << std::endl;
91  }
92 
94  this->DisplayPfoInfoMap(pNeutrinoPfo, pfoInfoMap);
95 
96  for (auto &mapIter : pfoInfoMap)
97  delete mapIter.second;
98 
99  return STATUS_CODE_SUCCESS;
100 }
std::unordered_map< const pandora::ParticleFlowObject *, PfoInfo * > PfoInfoMap
PfoRelationToolVector m_algorithmToolVector
The algorithm tool vector.
bool m_displayPfoInfoMap
Whether to display the pfo info map (if monitoring is enabled)
void ProcessPfoInfoMap(const pandora::ParticleFlowObject *const pNeutrinoPfo, const pandora::PfoList &candidateDaughterPfoList, const PfoInfoMap &pfoInfoMap) const
Process the information in a pfo info map, creating pfo parent/daughter links.
void DisplayPfoInfoMap(const pandora::ParticleFlowObject *const pNeutrinoPfo, const PfoInfoMap &pfoInfoMap) const
Display the information in a pfo info map, visualising pfo parent/daughter links. ...
static const pandora::Vertex * GetVertex(const pandora::ParticleFlowObject *const pPfo)
Get the pfo vertex.
void GetNeutrinoPfo(const pandora::ParticleFlowObject *&pNeutrinoPfo) const
Get the address of the input neutrino pfo - enforces only one pfo present in input list; can return N...
void GetCandidateDaughterPfoList(pandora::PfoList &candidateDaughterPfoList) const
Get the list of candidate daughter pfos.
void GetInitialPfoInfoMap(const pandora::PfoList &pfoList, PfoInfoMap &pfoInfoMap) const
Process a provided pfo list and populate an initial pfo info map.
void lar_content::NeutrinoHierarchyAlgorithm::SeparatePfos ( const NeutrinoHierarchyAlgorithm::PfoInfoMap pfoInfoMap,
pandora::PfoVector &  assignedPfos,
pandora::PfoVector &  unassignedPfos 
) const

Query the pfo info map and separate/extract pfos currently either acting as parents or associated with the neutrino vertex.

Parameters
pfoInfoMapthe pfo info map
assignedPfosto receive the sorted vector of assigned pfos
unassignedPfosto receive the sorted vector of unassigned pfos

Definition at line 29 of file NeutrinoHierarchyAlgorithm.cc.

References lar_content::LArPfoHelper::SortByNHits().

Referenced by lar_content::BranchAssociatedPfosTool::Run(), and lar_content::EndAssociatedPfosTool::Run().

30 {
31  PfoVector sortedPfos;
32  for (const auto &mapEntry : pfoInfoMap) sortedPfos.push_back(mapEntry.first);
33  std::sort(sortedPfos.begin(), sortedPfos.end(), LArPfoHelper::SortByNHits);
34 
35  for (const Pfo *const pPfo : sortedPfos)
36  {
37  const PfoInfo *const pPfoInfo(pfoInfoMap.at(pPfo));
38 
39  if (pPfoInfo->IsNeutrinoVertexAssociated() || pPfoInfo->GetParentPfo())
40  {
41  assignedPfos.push_back(pPfoInfo->GetThisPfo());
42  }
43  else
44  {
45  unassignedPfos.push_back(pPfoInfo->GetThisPfo());
46  }
47  }
48 }
static bool SortByNHits(const pandora::ParticleFlowObject *const pLhs, const pandora::ParticleFlowObject *const pRhs)
Sort pfos by number of constituent hits.
NeutrinoHierarchyAlgorithm::PfoInfo PfoInfo

Member Data Documentation

PfoRelationToolVector lar_content::NeutrinoHierarchyAlgorithm::m_algorithmToolVector
private

The algorithm tool vector.

Definition at line 227 of file NeutrinoHierarchyAlgorithm.h.

Referenced by ReadSettings(), and Run().

pandora::StringVector lar_content::NeutrinoHierarchyAlgorithm::m_daughterPfoListNames
private

The list of daughter pfo list names.

Definition at line 230 of file NeutrinoHierarchyAlgorithm.h.

Referenced by GetCandidateDaughterPfoList(), and ReadSettings().

bool lar_content::NeutrinoHierarchyAlgorithm::m_displayPfoInfoMap
private

Whether to display the pfo info map (if monitoring is enabled)

Definition at line 233 of file NeutrinoHierarchyAlgorithm.h.

Referenced by ReadSettings(), and Run().

unsigned int lar_content::NeutrinoHierarchyAlgorithm::m_halfWindowLayers
private

The number of layers to use for half-window of sliding fit.

Definition at line 232 of file NeutrinoHierarchyAlgorithm.h.

Referenced by GetInitialPfoInfoMap(), and ReadSettings().

std::string lar_content::NeutrinoHierarchyAlgorithm::m_neutrinoPfoListName
private

The neutrino pfo list name.

Definition at line 229 of file NeutrinoHierarchyAlgorithm.h.

Referenced by GetNeutrinoPfo(), and ReadSettings().


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