Public Member Functions | Private Member Functions | Private Attributes | List of all members
lar_content::CosmicRayVertexBuildingAlgorithm Class Reference

CosmicRayVertexBuildingAlgorithm class. More...

#include <CosmicRayVertexBuildingAlgorithm.h>

Inheritance diagram for lar_content::CosmicRayVertexBuildingAlgorithm:

Public Member Functions

 CosmicRayVertexBuildingAlgorithm ()
 Default constructor. More...
 

Private Member Functions

pandora::StatusCode Run ()
 
pandora::StatusCode ReadSettings (const pandora::TiXmlHandle xmlHandle)
 
void GetCosmicPfos (const pandora::PfoList *const pPfoList, pandora::PfoVector &pfoVector) const
 Get the list of input pfos to this algorithm. More...
 
void BuildPointingClusterMap (const pandora::PfoVector &pfoVector, LArPointingClusterMap &pointingClusterMap) const
 Build a map of 3D sliding fits from the input Pfos. More...
 
void BuildCosmicRayParticles (const LArPointingClusterMap &pointingClusterMap, const pandora::PfoVector &pfoVector) const
 Reconstruct the vertex and direction of a list of cosmic-ray Pfos. More...
 
void BuildCosmicRayParent (const LArPointingClusterMap &pointingClusterMap, const pandora::ParticleFlowObject *const pPfo) const
 Reconstruct the vertex and direction of a parent cosmic-ray Pfo. More...
 
void BuildCosmicRayDaughter (const pandora::ParticleFlowObject *const pPfo) const
 Reconstruct the vertex and direction of a daughter cosmic-ray Pfo. More...
 
void SetParticleParameters (const pandora::CartesianVector &vtxPosition, const pandora::CartesianVector &vtxDirection, const pandora::ParticleFlowObject *const pPfo) const
 Set the vertex and direction of the Pfos. More...
 

Private Attributes

bool m_useParentShowerVertex
 use the parent pfo for the shower vertices More...
 
bool m_isDualPhase
 type of geometry More...
 
unsigned int m_halfWindowLayers
 number of layers to use for half-window of sliding fit More...
 
std::string m_parentPfoListName
 The name of the input pfo list. More...
 
std::string m_vertexListName
 The name of the output vertex list. More...
 
float m_maxVertexDisplacementFromTrack
 The maximum separation of a close vertex from the cosmic ray track. More...
 

Detailed Description

CosmicRayVertexBuildingAlgorithm class.

Definition at line 21 of file CosmicRayVertexBuildingAlgorithm.h.

Constructor & Destructor Documentation

lar_content::CosmicRayVertexBuildingAlgorithm::CosmicRayVertexBuildingAlgorithm ( )

Default constructor.

Definition at line 22 of file CosmicRayVertexBuildingAlgorithm.cc.

22  :
24  m_isDualPhase(false),
27 {
28 }
bool m_useParentShowerVertex
use the parent pfo for the shower vertices
unsigned int m_halfWindowLayers
number of layers to use for half-window of sliding fit
float m_maxVertexDisplacementFromTrack
The maximum separation of a close vertex from the cosmic ray track.

Member Function Documentation

void lar_content::CosmicRayVertexBuildingAlgorithm::BuildCosmicRayDaughter ( const pandora::ParticleFlowObject *const  pPfo) const
private

Reconstruct the vertex and direction of a daughter cosmic-ray Pfo.

Parameters
pPfothe daughter Pfo

Definition at line 237 of file CosmicRayVertexBuildingAlgorithm.cc.

238 {
239  if (pDaughterPfo->GetParentPfoList().size() != 1)
240  throw StatusCodeException(STATUS_CODE_FAILURE);
241 
242  const ParticleFlowObject *const pParentPfo = *(pDaughterPfo->GetParentPfoList().begin());
243 
244  ClusterList parentList, daughterList;
245  LArPfoHelper::GetClusters(pParentPfo, TPC_3D, parentList);
246  LArPfoHelper::GetClusters(pDaughterPfo, TPC_3D, daughterList);
247 
248  if (daughterList.empty() || parentList.empty())
249  return;
250 
251  bool found(false);
252  float closestMaxVerticalCoordinate(-std::numeric_limits<float>::max()), maxVerticalCoordinate(-std::numeric_limits<float>::max());
253  CartesianVector closestMaxVerticalVertex(0.f, 0.f, 0.f), maxVerticalVertex(0.f, 0.f, 0.f);
254 
255  for (const Cluster *const pDaughterCluster : daughterList)
256  {
257  CaloHitList daughterCaloHitList;
258  pDaughterCluster->GetOrderedCaloHitList().FillCaloHitList(daughterCaloHitList);
259 
260  for (const Cluster *const pParentCluster : parentList)
261  {
262  CaloHitList parentCaloHitList;
263  pParentCluster->GetOrderedCaloHitList().FillCaloHitList(parentCaloHitList);
264 
265  for (const CaloHit *const pDaughterCaloHit : daughterCaloHitList)
266  {
267  const CartesianVector &daughterPosition(pDaughterCaloHit->GetPositionVector());
268 
269  for (const CaloHit *const pParentCaloHit : parentCaloHitList)
270  {
271  const CartesianVector &parentPosition(pParentCaloHit->GetPositionVector());
272  const float separationSquared((daughterPosition - parentPosition).GetMagnitudeSquared());
273  const float verticalCoordinate(m_isDualPhase ? daughterPosition.GetX() : daughterPosition.GetY());
274 
275  if (verticalCoordinate > maxVerticalCoordinate)
276  {
277  maxVerticalCoordinate = verticalCoordinate;
278  maxVerticalVertex = daughterPosition;
279  }
280 
282  {
283  if (verticalCoordinate > closestMaxVerticalCoordinate)
284  {
285  found = true;
286  closestMaxVerticalCoordinate = verticalCoordinate;
287  closestMaxVerticalVertex = daughterPosition;
288  }
289  }
290  }
291  }
292  }
293  }
294 
295  const CartesianVector &daughterVertex(found ? closestMaxVerticalVertex : maxVerticalVertex);
296  const CartesianVector &vertexPosition(m_useParentShowerVertex ? LArClusterHelper::GetClosestPosition(daughterVertex, parentList) : daughterVertex);
297 
298  this->SetParticleParameters(vertexPosition, CartesianVector(0.f, 0.f, 0.f), pDaughterPfo);
299 }
bool m_useParentShowerVertex
use the parent pfo for the shower vertices
static void GetClusters(const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::ClusterList &clusterList)
Get a list of clusters of a particular hit type from a list of pfos.
void SetParticleParameters(const pandora::CartesianVector &vtxPosition, const pandora::CartesianVector &vtxDirection, const pandora::ParticleFlowObject *const pPfo) const
Set the vertex and direction of the Pfos.
static int max(int a, int b)
float m_maxVertexDisplacementFromTrack
The maximum separation of a close vertex from the cosmic ray track.
static pandora::CartesianVector GetClosestPosition(const pandora::CartesianVector &position, const pandora::ClusterList &clusterList)
Get closest position in a list of clusters to a specified input position vector.
void lar_content::CosmicRayVertexBuildingAlgorithm::BuildCosmicRayParent ( const LArPointingClusterMap pointingClusterMap,
const pandora::ParticleFlowObject *const  pPfo 
) const
private

Reconstruct the vertex and direction of a parent cosmic-ray Pfo.

Parameters
pointingClusterMapthe input map of 3D pointing clusters
pPfothe input Pfo

Definition at line 139 of file CosmicRayVertexBuildingAlgorithm.cc.

140 {
141  ClusterList clusterList;
142  LArPfoHelper::GetClusters(pPfo, TPC_3D, clusterList);
143 
144  if (clusterList.empty())
145  return;
146 
147  // Take highest point as vertex of parent Pfos (TODO: do something more sophisticated for horizontal events)
148  bool foundVtx(false);
149  CartesianVector vtxPosition(0.f, 0.f, 0.f);
150  CartesianVector vtxDirection(0.f, 0.f, 0.f);
151 
152  bool foundEnd(false);
153  CartesianVector endPosition(0.f, 0.f, 0.f);
154  CartesianVector endDirection(0.f, 0.f, 0.f);
155 
156  for (ClusterList::const_iterator cIter1 = clusterList.begin(), cIterEnd1 = clusterList.end(); cIter1 != cIterEnd1; ++cIter1)
157  {
158  const Cluster *const pCluster = *cIter1;
159 
160  try
161  {
162  CartesianVector minPosition(0.f, 0.f, 0.f), maxPosition(0.f, 0.f, 0.f);
163  CartesianVector minDirection(0.f, 0.f, 0.f), maxDirection(0.f, 0.f, 0.f);
164 
165  LArPointingClusterMap::const_iterator cIter2 = pointingClusterMap.find(pCluster);
166 
167  if (pointingClusterMap.end() != cIter2)
168  {
169  const LArPointingCluster &pointingCluster(cIter2->second);
170 
171  minPosition = pointingCluster.GetInnerVertex().GetPosition();
172  maxPosition = pointingCluster.GetOuterVertex().GetPosition();
173  minDirection = pointingCluster.GetInnerVertex().GetDirection();
174  maxDirection = pointingCluster.GetOuterVertex().GetDirection();
175  }
176  else
177  {
178  LArClusterHelper::GetExtremalCoordinates(pCluster, minPosition, maxPosition);
179  minDirection = (maxPosition - minPosition).GetUnitVector();
180  maxDirection = (minPosition - maxPosition).GetUnitVector();
181  }
182 
183  if ((maxPosition - minPosition).GetMagnitudeSquared() < std::numeric_limits<float>::epsilon())
184  throw StatusCodeException(STATUS_CODE_NOT_FOUND);
185 
186  // ATTN X is the vertical coordinate in Dual-Phase geometry
187  const float minVerticalCoordinate(m_isDualPhase ? minPosition.GetX() : minPosition.GetY());
188  const float maxVerticalCoordinate(m_isDualPhase ? maxPosition.GetX() : maxPosition.GetY());
189  const float vtxVerticalCoordinate(m_isDualPhase ? vtxPosition.GetX() : vtxPosition.GetY());
190  const float endVerticalCoordinate(m_isDualPhase ? endPosition.GetX() : endPosition.GetY());
191 
192  if (!foundVtx || (minVerticalCoordinate > std::max(maxVerticalCoordinate, vtxVerticalCoordinate)))
193  {
194  foundVtx = true;
195  vtxPosition = minPosition;
196  vtxDirection = minDirection;
197  }
198 
199  if (!foundVtx || (maxVerticalCoordinate > std::max(minVerticalCoordinate, vtxVerticalCoordinate)))
200  {
201  foundVtx = true;
202  vtxPosition = maxPosition;
203  vtxDirection = maxDirection;
204  }
205 
206  if (!foundEnd || (minVerticalCoordinate < std::min(maxVerticalCoordinate, endVerticalCoordinate)))
207  {
208  foundEnd = true;
209  endPosition = minPosition;
210  endDirection = minDirection;
211  }
212 
213  if (!foundEnd || (maxVerticalCoordinate < std::min(minVerticalCoordinate, endVerticalCoordinate)))
214  {
215  foundEnd = true;
216  endPosition = maxPosition;
217  endDirection = maxDirection;
218  }
219  }
220  catch (StatusCodeException &statusCodeException)
221  {
222  if (STATUS_CODE_FAILURE == statusCodeException.GetStatusCode())
223  throw statusCodeException;
224 
225  continue;
226  }
227  }
228 
229  if (!(foundVtx && foundEnd))
230  return;
231 
232  this->SetParticleParameters(vtxPosition, vtxDirection, pPfo);
233 }
static void GetClusters(const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::ClusterList &clusterList)
Get a list of clusters of a particular hit type from a list of pfos.
void SetParticleParameters(const pandora::CartesianVector &vtxPosition, const pandora::CartesianVector &vtxDirection, const pandora::ParticleFlowObject *const pPfo) const
Set the vertex and direction of the Pfos.
intermediate_table::const_iterator const_iterator
static int max(int a, int b)
static void GetExtremalCoordinates(const pandora::ClusterList &clusterList, pandora::CartesianVector &innerCoordinate, pandora::CartesianVector &outerCoordinate)
Get positions of the two most distant calo hits in a list of cluster (ordered by Z) ...
T min(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:55
void lar_content::CosmicRayVertexBuildingAlgorithm::BuildCosmicRayParticles ( const LArPointingClusterMap pointingClusterMap,
const pandora::PfoVector &  pfoVector 
) const
private

Reconstruct the vertex and direction of a list of cosmic-ray Pfos.

Parameters
pointingClusterMapthe input map of 3D pointing clusters
pfoListthe input list of Pfos

Definition at line 120 of file CosmicRayVertexBuildingAlgorithm.cc.

121 {
122  for (PfoVector::const_iterator iter = pfoVector.begin(), iterEnd = pfoVector.end(); iter != iterEnd; ++iter)
123  {
124  const ParticleFlowObject *const pPfo = *iter;
125 
126  if (LArPfoHelper::IsFinalState(pPfo))
127  {
128  this->BuildCosmicRayParent(pointingClusterMap, pPfo);
129  }
130  else
131  {
132  this->BuildCosmicRayDaughter(pPfo);
133  }
134  }
135 }
intermediate_table::const_iterator const_iterator
void BuildCosmicRayParent(const LArPointingClusterMap &pointingClusterMap, const pandora::ParticleFlowObject *const pPfo) const
Reconstruct the vertex and direction of a parent cosmic-ray Pfo.
static bool IsFinalState(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a primary parent particle.
void BuildCosmicRayDaughter(const pandora::ParticleFlowObject *const pPfo) const
Reconstruct the vertex and direction of a daughter cosmic-ray Pfo.
void lar_content::CosmicRayVertexBuildingAlgorithm::BuildPointingClusterMap ( const pandora::PfoVector &  pfoVector,
LArPointingClusterMap pointingClusterMap 
) const
private

Build a map of 3D sliding fits from the input Pfos.

Parameters
pfoListthe input particle flow objects
pointingClusterMapthe output map of 3D pointing clusters

Definition at line 84 of file CosmicRayVertexBuildingAlgorithm.cc.

85 {
86  const float slidingFitPitch(LArGeometryHelper::GetWireZPitch(this->GetPandora()));
87 
88  for (PfoVector::const_iterator pIter = pfoVector.begin(), pIterEnd = pfoVector.end(); pIter != pIterEnd; ++pIter)
89  {
90  const ParticleFlowObject *const pPfo = *pIter;
91 
92  if (!LArPfoHelper::IsTrack(pPfo))
93  continue;
94 
95  ClusterList clusterList;
96  LArPfoHelper::GetClusters(pPfo, TPC_3D, clusterList);
97 
98  for (ClusterList::const_iterator cIter = clusterList.begin(), cIterEnd = clusterList.end(); cIter != cIterEnd; ++cIter)
99  {
100  const Cluster *const pCluster = *cIter;
101 
102  try
103  {
104  const LArPointingCluster pointingCluster(pCluster, m_halfWindowLayers, slidingFitPitch);
105 
106  if (!pointingClusterMap.insert(LArPointingClusterMap::value_type(pCluster, pointingCluster)).second)
107  throw StatusCodeException(STATUS_CODE_FAILURE);
108  }
109  catch (StatusCodeException &statusCodeException)
110  {
111  if (STATUS_CODE_FAILURE == statusCodeException.GetStatusCode())
112  throw statusCodeException;
113  }
114  }
115  }
116 }
static void GetClusters(const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::ClusterList &clusterList)
Get a list of clusters of a particular hit type from a list of pfos.
intermediate_table::const_iterator const_iterator
static bool IsTrack(const pandora::ParticleFlowObject *const pPfo)
Return track flag based on Pfo Particle ID.
static float GetWireZPitch(const pandora::Pandora &pandora, const float maxWirePitchDiscrepancy=0.01)
Return the wire pitch.
unsigned int m_halfWindowLayers
number of layers to use for half-window of sliding fit
void lar_content::CosmicRayVertexBuildingAlgorithm::GetCosmicPfos ( const pandora::PfoList *const  pPfoList,
pandora::PfoVector &  pfoVector 
) const
private

Get the list of input pfos to this algorithm.

Parameters
pfoListto receive the list of input pfos

Definition at line 58 of file CosmicRayVertexBuildingAlgorithm.cc.

59 {
60  PfoList outputList;
61 
62  for (PfoList::const_iterator pIter = pPfoList->begin(), pIterEnd = pPfoList->end(); pIter != pIterEnd; ++pIter)
63  {
64  if (!LArPfoHelper::IsFinalState(*pIter))
65  throw StatusCodeException(STATUS_CODE_INVALID_PARAMETER);
66 
67  LArPfoHelper::GetAllDownstreamPfos(*pIter, outputList);
68  }
69 
70  for (PfoList::const_iterator pIter = outputList.begin(), pIterEnd = outputList.end(); pIter != pIterEnd; ++pIter)
71  {
72  ClusterList clusterList;
73  LArPfoHelper::GetClusters(*pIter, TPC_3D, clusterList);
74 
75  if (clusterList.empty())
76  continue;
77 
78  pfoVector.push_back(*pIter);
79  }
80 }
static void GetClusters(const pandora::PfoList &pfoList, const pandora::HitType &hitType, pandora::ClusterList &clusterList)
Get a list of clusters of a particular hit type from a list of pfos.
intermediate_table::const_iterator const_iterator
static bool IsFinalState(const pandora::ParticleFlowObject *const pPfo)
Whether a pfo is a primary parent particle.
static void GetAllDownstreamPfos(const pandora::PfoList &inputPfoList, pandora::PfoList &outputPfoList)
Get a flat list of all pfos, recursively, of all daughters associated with those pfos in an input lis...
StatusCode lar_content::CosmicRayVertexBuildingAlgorithm::ReadSettings ( const pandora::TiXmlHandle  xmlHandle)
private

Definition at line 334 of file CosmicRayVertexBuildingAlgorithm.cc.

335 {
336  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle, "InputPfoListName", m_parentPfoListName));
337 
338  PANDORA_RETURN_RESULT_IF(STATUS_CODE_SUCCESS, !=, XmlHelper::ReadValue(xmlHandle, "OutputVertexListName", m_vertexListName));
339 
340  PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=,
341  XmlHelper::ReadValue(xmlHandle, "UseParentForShowerVertex", m_useParentShowerVertex));
342 
343  PANDORA_RETURN_RESULT_IF_AND_IF(
344  STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle, "SlidingFitHalfWindow", m_halfWindowLayers));
345 
346  PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, XmlHelper::ReadValue(xmlHandle, "IsDualPhase", m_isDualPhase));
347 
348  PANDORA_RETURN_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=,
349  XmlHelper::ReadValue(xmlHandle, "MaxVertexDisplacementFromTrack", m_maxVertexDisplacementFromTrack));
350 
351  return STATUS_CODE_SUCCESS;
352 }
bool m_useParentShowerVertex
use the parent pfo for the shower vertices
std::string m_vertexListName
The name of the output vertex list.
std::string m_parentPfoListName
The name of the input pfo list.
unsigned int m_halfWindowLayers
number of layers to use for half-window of sliding fit
float m_maxVertexDisplacementFromTrack
The maximum separation of a close vertex from the cosmic ray track.
StatusCode lar_content::CosmicRayVertexBuildingAlgorithm::Run ( )
private

Definition at line 32 of file CosmicRayVertexBuildingAlgorithm.cc.

33 {
34  const PfoList *pPfoList = NULL;
35  PANDORA_THROW_RESULT_IF_AND_IF(
36  STATUS_CODE_SUCCESS, STATUS_CODE_NOT_INITIALIZED, !=, PandoraContentApi::GetList(*this, m_parentPfoListName, pPfoList));
37 
38  if (NULL == pPfoList)
39  {
40  if (PandoraContentApi::GetSettings(*this)->ShouldDisplayAlgorithmInfo())
41  std::cout << "CosmicRayVertexBuildingAlgorithm: pfo list unavailable." << std::endl;
42 
43  return STATUS_CODE_SUCCESS;
44  }
45 
46  PfoVector pfoVector;
47  LArPointingClusterMap pointingClusterMap;
48 
49  this->GetCosmicPfos(pPfoList, pfoVector);
50  this->BuildPointingClusterMap(pfoVector, pointingClusterMap);
51  this->BuildCosmicRayParticles(pointingClusterMap, pfoVector);
52 
53  return STATUS_CODE_SUCCESS;
54 }
std::unordered_map< const pandora::Cluster *, LArPointingCluster > LArPointingClusterMap
void BuildCosmicRayParticles(const LArPointingClusterMap &pointingClusterMap, const pandora::PfoVector &pfoVector) const
Reconstruct the vertex and direction of a list of cosmic-ray Pfos.
std::string m_parentPfoListName
The name of the input pfo list.
void GetCosmicPfos(const pandora::PfoList *const pPfoList, pandora::PfoVector &pfoVector) const
Get the list of input pfos to this algorithm.
void BuildPointingClusterMap(const pandora::PfoVector &pfoVector, LArPointingClusterMap &pointingClusterMap) const
Build a map of 3D sliding fits from the input Pfos.
QTextStream & endl(QTextStream &s)
void lar_content::CosmicRayVertexBuildingAlgorithm::SetParticleParameters ( const pandora::CartesianVector &  vtxPosition,
const pandora::CartesianVector &  vtxDirection,
const pandora::ParticleFlowObject *const  pPfo 
) const
private

Set the vertex and direction of the Pfos.

Parameters
vtxPositionthe input vertex position
vtxDirectionthe input vertex direction
pPfothe input Pfo

Definition at line 303 of file CosmicRayVertexBuildingAlgorithm.cc.

305 {
306  if (!pPfo->GetVertexList().empty())
307  throw StatusCodeException(STATUS_CODE_FAILURE);
308 
309  PandoraContentApi::ParticleFlowObject::Metadata metadata;
310  metadata.m_momentum = vtxDirection;
311  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::ParticleFlowObject::AlterMetadata(*this, pPfo, metadata));
312 
313  const VertexList *pVertexList = NULL;
314  std::string vertexListName;
315  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::CreateTemporaryListAndSetCurrent(*this, pVertexList, vertexListName));
316 
317  PandoraContentApi::Vertex::Parameters parameters;
318  parameters.m_position = vtxPosition;
319  parameters.m_vertexLabel = VERTEX_START;
320  parameters.m_vertexType = VERTEX_3D;
321 
322  const Vertex *pVertex(NULL);
323  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::Vertex::Create(*this, parameters, pVertex));
324 
325  if (!pVertexList->empty())
326  {
327  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::SaveList<Vertex>(*this, m_vertexListName));
328  PANDORA_THROW_RESULT_IF(STATUS_CODE_SUCCESS, !=, PandoraContentApi::AddToPfo<Vertex>(*this, pPfo, pVertex));
329  }
330 }
std::string string
Definition: nybbler.cc:12
std::string m_vertexListName
The name of the output vertex list.
boost::graph_traits< ModuleGraph >::vertex_descriptor Vertex
Definition: ModuleGraph.h:25
std::list< Vertex > VertexList
Definition: DCEL.h:182

Member Data Documentation

unsigned int lar_content::CosmicRayVertexBuildingAlgorithm::m_halfWindowLayers
private

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

Definition at line 83 of file CosmicRayVertexBuildingAlgorithm.h.

bool lar_content::CosmicRayVertexBuildingAlgorithm::m_isDualPhase
private

type of geometry

Definition at line 82 of file CosmicRayVertexBuildingAlgorithm.h.

float lar_content::CosmicRayVertexBuildingAlgorithm::m_maxVertexDisplacementFromTrack
private

The maximum separation of a close vertex from the cosmic ray track.

Definition at line 86 of file CosmicRayVertexBuildingAlgorithm.h.

std::string lar_content::CosmicRayVertexBuildingAlgorithm::m_parentPfoListName
private

The name of the input pfo list.

Definition at line 84 of file CosmicRayVertexBuildingAlgorithm.h.

bool lar_content::CosmicRayVertexBuildingAlgorithm::m_useParentShowerVertex
private

use the parent pfo for the shower vertices

Definition at line 81 of file CosmicRayVertexBuildingAlgorithm.h.

std::string lar_content::CosmicRayVertexBuildingAlgorithm::m_vertexListName
private

The name of the output vertex list.

Definition at line 85 of file CosmicRayVertexBuildingAlgorithm.h.


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