LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
HierarchyMonitoringAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_HIERARCHY_MONITORING_ALGORITHM_H
9 #define LAR_HIERARCHY_MONITORING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 #include "Pandora/PandoraEnumeratedTypes.h"
13 
15 
16 namespace lar_content
17 {
18 
22 class HierarchyMonitoringAlgorithm : public pandora::Algorithm
23 {
24 public:
29 
31 
32 private:
33  pandora::StatusCode Run();
34  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
35 
36 #ifdef MONITORING
37 
42  void VisualizeMC(const LArHierarchyHelper::MCHierarchy &hierarchy) const;
43 
49  void VisualizeMCDistinct(const LArHierarchyHelper::MCHierarchy &hierarchy) const;
50 
56  void VisualizeMCProcess(const LArHierarchyHelper::MCHierarchy &hierarchy) const;
57 
63  void VisualizeReco(const LArHierarchyHelper::RecoHierarchy &hierarchy) const;
64 
70  void VisualizeMatches(const LArHierarchyHelper::MatchInfo &matchInfo) const;
71 
79  void Visualize(const pandora::CaloHitList &hits, const std::string &label, const int color) const;
80 
89  void FillHitLists(const pandora::CaloHitList &hits, pandora::CaloHitList &uHits, pandora::CaloHitList &vHits, pandora::CaloHitList &wHits) const;
90 #endif
91 
92  std::string ToStringSF(const float val, const int sf = 3) const;
93 
94  std::string m_caloHitListName;
95  std::string m_pfoListName;
96  std::string m_rootFileName;
101  bool m_match;
105  float m_minPurity;
111 };
112 
113 } // namespace lar_content
114 
115 #endif // LAR_HIERARCHY_MONITORING_ALGORITHM_H
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
std::string m_pfoListName
Name of input PFO list.
bool m_visualizeMC
Whether or not to visualize the MC nodes.
bool m_visualizeProcess
If true, allocate colours based on the MC process.
std::string ToStringSF(const float val, const int sf=3) const
float m_scalingFactor
TEve works with [cm], Pandora usually works with [mm] (but LArContent went with cm too) ...
bool m_visualizeReco
Whether or not to visualize the reco nodes.
float m_minCompleteness
The minimum completeness for a match to be considered good.
bool m_foldToPrimaries
Whether or not to fold everything back to primaries.
void hits()
Definition: readHits.C:15
float m_minPurity
The minimum purity for a match to be considered good.
std::string m_rootFileName
Name of the output ROOT file (optional)
float m_minMatchCompleteness
The minimum completeness at which to a PFO should be considered matching at all.
std::string m_caloHitListName
Name of input calo hit list.
bool m_match
Whether or not to visualize the reco to MC matches.
std::size_t color(std::string const &procname)
Header file for the lar hierarchy helper class.
bool m_collectionOnly
Limit display to the collection plane only.
float m_transparencyThresholdE
Cell energy for which transparency is saturated (0%, fully opaque)
bool m_foldDynamic
Whether or not to fold based on process information.
float m_energyScaleThresholdE
Cell energy for which color is at top end of continous color palette.
bool m_visualizeDistinct
If true, allocate colours without consideration of particle id.