LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
CosmicRayVertexBuildingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_COSMIC_RAY_VERTEX_BUILDING_ALGORITHM_H
9 #define LAR_COSMIC_RAY_VERTEX_BUILDING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
14 
15 namespace lar_content
16 {
17 
21 class CosmicRayVertexBuildingAlgorithm : public pandora::Algorithm
22 {
23 public:
28 
29 private:
30  pandora::StatusCode Run();
31  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
32 
38  void GetCosmicPfos(const pandora::PfoList *const pPfoList, pandora::PfoVector &pfoVector) const;
39 
46  void BuildPointingClusterMap(const pandora::PfoVector &pfoVector, LArPointingClusterMap &pointingClusterMap) const;
47 
54  void BuildCosmicRayParticles(const LArPointingClusterMap &pointingClusterMap, const pandora::PfoVector &pfoVector) const;
55 
62  void BuildCosmicRayParent(const LArPointingClusterMap &pointingClusterMap, const pandora::ParticleFlowObject *const pPfo) const;
63 
69  void BuildCosmicRayDaughter(const pandora::ParticleFlowObject *const pPfo) const;
70 
78  void SetParticleParameters(const pandora::CartesianVector &vtxPosition, const pandora::CartesianVector &vtxDirection,
79  const pandora::ParticleFlowObject *const pPfo) const;
80 
83  unsigned int m_halfWindowLayers;
84  std::string m_parentPfoListName;
85  std::string m_vertexListName;
87 };
88 
89 } // namespace lar_content
90 
91 #endif // #ifndef LAR_COSMIC_RAY_VERTEX_BUILDING_ALGORITHM_H
std::unordered_map< const pandora::Cluster *, LArPointingCluster > LArPointingClusterMap
bool m_useParentShowerVertex
use the parent pfo for the shower vertices
Header file for the lar pointing cluster class.
void SetParticleParameters(const pandora::CartesianVector &vtxPosition, const pandora::CartesianVector &vtxDirection, const pandora::ParticleFlowObject *const pPfo) const
Set the vertex and direction of the Pfos.
std::string m_vertexListName
The name of the output vertex list.
void BuildCosmicRayParent(const LArPointingClusterMap &pointingClusterMap, const pandora::ParticleFlowObject *const pPfo) const
Reconstruct the vertex and direction of a parent cosmic-ray Pfo.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
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.
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.
void GetCosmicPfos(const pandora::PfoList *const pPfoList, pandora::PfoVector &pfoVector) const
Get the list of input pfos to this algorithm.
void BuildCosmicRayDaughter(const pandora::ParticleFlowObject *const pPfo) const
Reconstruct the vertex and direction of a daughter cosmic-ray Pfo.
void BuildPointingClusterMap(const pandora::PfoVector &pfoVector, LArPointingClusterMap &pointingClusterMap) const
Build a map of 3D sliding fits from the input Pfos.