LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
PreProcessingAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_PRE_PROCESSING_ALGORITHM_H
9 #define LAR_PRE_PROCESSING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace lar_content
14 {
15 
16 template <typename, unsigned int>
18 template <typename, unsigned int>
20 
21 //------------------------------------------------------------------------------------------------------------------------------------------
22 
26 class PreProcessingAlgorithm : public pandora::Algorithm
27 {
28 public:
33 
34 private:
37  typedef std::vector<HitKDNode2D> HitKDNode2DList;
38 
39  pandora::StatusCode Reset();
40  pandora::StatusCode Run();
41  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
42 
46  void ProcessCaloHits();
47 
51  void PopulateVoidCaloHitLists() noexcept;
52 
59  void GetFilteredCaloHitList(const pandora::CaloHitList &inputList, pandora::CaloHitList &outputList);
60 
64  void ProcessMCParticles();
65 
66  pandora::CaloHitSet m_processedHits;
67 
72  unsigned int m_maxEventHits;
73 
81 };
82 
83 } // namespace lar_content
84 
85 #endif // #ifndef LAR_PRE_PROCESSING_ALGORITHM_H
PreProcessingAlgorithm class.
std::string m_outputCaloHitListNameV
The output calo hit list name for TPC_VIEW_V hits.
void GetFilteredCaloHitList(const pandora::CaloHitList &inputList, pandora::CaloHitList &outputList)
Clean up the input CaloHitList.
Class that implements the KDTree partition of 2D space and a closest point search algorithm...
float m_maxCellLengthScale
The maximum length scale for calo hit.
float m_mipEquivalentCut
Minimum mip equivalent energy for calo hit.
STL namespace.
void ProcessMCParticles()
Build separate MCParticleLists for each view.
unsigned int m_maxEventHits
The maximum number of hits in an event to proceed with the reconstruction.
std::string m_currentCaloHitListReplacement
The name of the calo hit list to replace the current list (optional)
Data stored in each KDTree node. The dim1/dim2 fields are usually the duplication of some PFRecHit va...
std::string m_outputCaloHitListNameW
The output calo hit list name for TPC_VIEW_W hits.
std::vector< HitKDNode2D > HitKDNode2DList
std::string m_filteredCaloHitListName
The output calo hit list name for all U, V and W hits.
float m_minCellLengthScale
The minimum length scale for calo hit.
KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > HitKDTree2D
KDTreeNodeInfoT< const pandora::CaloHit *, 2 > HitKDNode2D
std::string m_outputCaloHitListNameU
The output calo hit list name for TPC_VIEW_U hits.
std::string m_inputCaloHitListName
The input calo hit list name.
void ProcessCaloHits()
Build separate CaloHitLists for each view.
void PopulateVoidCaloHitLists() noexcept
Build empty calo hit lists.
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
float m_searchRegion1D
Search region, applied to each dimension, for look-up from kd-trees.
pandora::CaloHitSet m_processedHits
The set of all previously processed calo hits.
bool m_onlyAvailableCaloHits
Whether to only include available calo hits.