All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VisualMonitoringAlgorithm.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArMonitoring/VisualMonitoringAlgorithm.h
3  *
4  * @brief Header file for the visual monitoring algorithm class
5  *
6  * $Log: $
7  */
8 #ifndef LAR_VISUAL_MONITORING_ALGORITHM_H
9 #define LAR_VISUAL_MONITORING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief VisualMonitoringAlgorithm class
18  */
19 class VisualMonitoringAlgorithm : public pandora::Algorithm
20 {
21 public:
22  /**
23  * @brief Default constructor
24  */
26 
27 private:
28  pandora::StatusCode Run();
29  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
30 
31  /**
32  * @brief Visualize mc particle list
33  *
34  * @param listName the list name
35  */
36  void VisualizeMCParticleList(const std::string &listName) const;
37 
38  /**
39  * @brief Visualize a specified calo hit list
40  *
41  * @param listName the list name
42  */
43  void VisualizeCaloHitList(const std::string &listName) const;
44 
45  /**
46  * @brief Visualize a specified track list
47  *
48  * @param listName the list name
49  */
50  void VisualizeTrackList(const std::string &listName) const;
51 
52  /**
53  * @brief Visualize a specified calo hit list
54  *
55  * @param listName the list name
56  */
57  void VisualizeClusterList(const std::string &listName) const;
58 
59  /**
60  * @brief Visualize a specified pfo list
61  *
62  * @param listName the list name
63  */
64  void VisualizeParticleFlowList(const std::string &listName) const;
65 
66  /**
67  * @brief Visualize a specified vertex list
68  *
69  * @param listName the list name
70  */
71  void VisualizeVertexList(const std::string &listName) const;
72 
73  typedef std::map<int, float> PdgCodeToEnergyMap;
74 
75  bool m_showCurrentMCParticles; ///< Whether to show current mc particles
76  pandora::StringVector m_mcParticleListNames; ///< Names of mc particles lists to show
77 
78  bool m_showCurrentCaloHits; ///< Whether to show current calohitlist
79  pandora::StringVector m_caloHitListNames; ///< Names of calo hit lists to show
80 
81  bool m_showCurrentTracks; ///< Whether to show current tracks
82  pandora::StringVector m_trackListNames; ///< Names of track lists to show
83 
84  bool m_showCurrentClusters; ///< Whether to show current clusters
85  pandora::StringVector m_clusterListNames; ///< Names of cluster lists to show
86 
87  bool m_showCurrentPfos; ///< Whether to show current particle flow object list
88  pandora::StringVector m_pfoListNames; ///< Names of pfo lists to show
89 
90  bool m_showCurrentVertices; ///< Whether to show current vertex list
91  pandora::StringVector m_vertexListNames; ///< Names of vertex lists to show
92 
93  bool m_displayEvent; ///< Whether to display the event
94  std::string m_saveEventPath; ///< The path to save event displays to. m_displayEvent must also be set.
95  bool m_showDetector; ///< Whether to display the detector geometry
96  std::string m_detectorView; ///< The detector view, default, xy or xz
97 
98  bool m_showOnlyAvailable; ///< Whether to show only available (i.e. non-clustered) calohits and tracks
99  bool m_showAssociatedTracks; ///< Whether to display tracks associated to clusters when viewing cluster lists
100  std::string m_hitColors; ///< Define the hit coloring scheme (default: pfo, choices: pfo, particleid)
101  float m_thresholdEnergy; ///< Cell energy threshold for display (em scale)
102  float m_transparencyThresholdE; ///< Cell energy for which transparency is saturated (0%, fully opaque)
103  float m_energyScaleThresholdE; ///< Cell energy for which color is at top end of continous color palette
104  float m_scalingFactor; ///< TEve works with [cm], Pandora usually works with [mm] (but LArContent went with cm too)
105 
106  bool m_showPfoVertices; ///< Whether to display pfo vertices
107  bool m_showPfoHierarchy; ///< Whether to display daughter pfos only under parent pfo elements
108 
109  pandora::StringVector m_suppressMCParticles; ///< List of PDG numbers and energies for MC particles to be suppressed (e.g. " 22:0.1 2112:1.0 ")
110  PdgCodeToEnergyMap m_particleSuppressionMap; ///< Map from pdg-codes to energy for suppression of particles types below specific energies
111 };
112 
113 } // namespace lar_content
114 
115 #endif // #ifndef LAR_VISUAL_MONITORING_ALGORITHM_H
pandora::StringVector m_pfoListNames
Names of pfo lists to show.
std::string m_saveEventPath
The path to save event displays to. m_displayEvent must also be set.
pandora::StringVector m_caloHitListNames
Names of calo hit lists to show.
void VisualizeCaloHitList(const std::string &listName) const
Visualize a specified calo hit list.
float m_transparencyThresholdE
Cell energy for which transparency is saturated (0%, fully opaque)
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
bool m_showCurrentVertices
Whether to show current vertex list.
void VisualizeParticleFlowList(const std::string &listName) const
Visualize a specified pfo list.
pandora::StringVector m_vertexListNames
Names of vertex lists to show.
bool m_showCurrentCaloHits
Whether to show current calohitlist.
bool m_showCurrentPfos
Whether to show current particle flow object list.
void VisualizeTrackList(const std::string &listName) const
Visualize a specified track list.
bool m_showDetector
Whether to display the detector geometry.
bool m_showCurrentMCParticles
Whether to show current mc particles.
float m_scalingFactor
TEve works with [cm], Pandora usually works with [mm] (but LArContent went with cm too) ...
bool m_showPfoHierarchy
Whether to display daughter pfos only under parent pfo elements.
float m_thresholdEnergy
Cell energy threshold for display (em scale)
bool m_showAssociatedTracks
Whether to display tracks associated to clusters when viewing cluster lists.
bool m_showOnlyAvailable
Whether to show only available (i.e. non-clustered) calohits and tracks.
pandora::StringVector m_suppressMCParticles
List of PDG numbers and energies for MC particles to be suppressed (e.g. &quot; 22:0.1 2112:1...
bool m_showCurrentClusters
Whether to show current clusters.
pandora::StringVector m_mcParticleListNames
Names of mc particles lists to show.
bool m_showPfoVertices
Whether to display pfo vertices.
void VisualizeMCParticleList(const std::string &listName) const
Visualize mc particle list.
void VisualizeVertexList(const std::string &listName) const
Visualize a specified vertex list.
void VisualizeClusterList(const std::string &listName) const
Visualize a specified calo hit list.
float m_energyScaleThresholdE
Cell energy for which color is at top end of continous color palette.
bool m_showCurrentTracks
Whether to show current tracks.
std::string m_detectorView
The detector view, default, xy or xz.
pandora::StringVector m_clusterListNames
Names of cluster lists to show.
bool m_displayEvent
Whether to display the event.
pandora::StringVector m_trackListNames
Names of track lists to show.
PdgCodeToEnergyMap m_particleSuppressionMap
Map from pdg-codes to energy for suppression of particles types below specific energies.
std::string m_hitColors
Define the hit coloring scheme (default: pfo, choices: pfo, particleid)