LArSoft  v07_13_02
Liquid Argon Software toolkit - http://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> class KDTreeLinkerAlgo;
17 template<typename, unsigned int> class KDTreeNodeInfoT;
18 
19 //------------------------------------------------------------------------------------------------------------------------------------------
20 
24 class PreProcessingAlgorithm : public pandora::Algorithm
25 {
26 public:
31 
32 private:
35  typedef std::vector<HitKDNode2D> HitKDNode2DList;
36 
37  pandora::StatusCode Reset();
38  pandora::StatusCode Run();
39  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
40 
44  void ProcessCaloHits();
45 
52  void GetFilteredCaloHitList(const pandora::CaloHitList &inputList, pandora::CaloHitList &outputList);
53 
57  void ProcessMCParticles();
58 
59  pandora::CaloHitSet m_processedHits;
60 
65 
67  std::string m_inputCaloHitListName;
73 };
74 
75 } // namespace lar_content
76 
77 #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.
void ProcessMCParticles()
Build separate MCParticleLists for each view.
KDTreeLinkerAlgo< const pandora::CaloHit *, 2 > HitKDTree2D
KDTreeNodeInfoT< const pandora::CaloHit *, 2 > HitKDNode2D
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.
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.
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.