LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
CheatingSliceSelectionTool.h
Go to the documentation of this file.
1 
8 #ifndef LAR_CHEATING_SLICE_SELECTION_TOOL_H
9 #define LAR_CHEATING_SLICE_SELECTION_TOOL_H 1
10 
13 
14 namespace lar_content
15 {
16 
21 {
22 public:
27 
35  void SelectSlices(const pandora::Algorithm *const pAlgorithm, const SliceVector &inputSliceVector, SliceVector &outputSliceVector);
36 
37  typedef std::map<float, int, std::greater<float>> MetricSliceIndexMap;
38 
39 protected:
45  virtual bool IsTarget(const pandora::MCParticle *const mcParticle) const = 0;
46 
47  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
48 
49 protected:
51  float m_threshold;
52  std::string m_cutVariable;
53 };
54 
55 } // namespace lar_content
56 
57 #endif // #ifndef LAR_CHEATING_SLICE_SELECTION_TOOL_H
Header file for the stitching tool base class.
void SelectSlices(const pandora::Algorithm *const pAlgorithm, const SliceVector &inputSliceVector, SliceVector &outputSliceVector)
Select which slice(s) to use.
std::string m_cutVariable
The variable to cut on ("purity" or "completeness") - default "completeness".
int m_maxSlices
The maximum number of slices to retain (0 to retain all) - default 0.
std::map< float, int, std::greater< float > > MetricSliceIndexMap
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
Header file for the master algorithm class.
float m_threshold
The minimum cut threshold to retain a slice (< 0 for no threshold) - default -1.
SliceSelectionBaseTool class.
virtual bool IsTarget(const pandora::MCParticle *const mcParticle) const =0
Template method to determine if an MC particle matches the target criteria for slice selection...
std::vector< pandora::CaloHitList > SliceVector