APRILContent
Algorithm of Particle Reconstruction for ILC - implementation with PandoraSDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations
VisualMonitoringAlgorithm.h
Go to the documentation of this file.
1 /*
3  *
4  * VisualMonitoringAlgorithm.h header template automatically generated by a class generator
5  * Creation date : mar. avr. 14 2015
6  *
7  * This file is part of APRILContent libraries.
8  *
9  * APRILContent is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  * based upon these libraries are permitted. Any copy of these libraries
14  * must include this copyright notice.
15  *
16  * APRILContent is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with APRILContent. If not, see <http://www.gnu.org/licenses/>.
23  *
24  * @author Remi Ete
25  * @copyright CNRS , IPNL
26  */
27 
28 
29 #ifndef VISUALMONITORINGALGORITHM_H
30 #define VISUALMONITORINGALGORITHM_H
31 
32 #include "Pandora/Algorithm.h"
33 
34 #ifdef MONITORING
35 #include "PandoraMonitoringApi.h"
36 #include "PandoraMonitoring.h"
37 #endif
38 
39 namespace april_content
40 {
41 
45 class VisualMonitoringAlgorithm : public pandora::Algorithm
46 {
47 public:
51  class Factory : public pandora::AlgorithmFactory
52  {
53  public:
54  pandora::Algorithm *CreateAlgorithm() const;
55  };
56 
61 
62 private:
63  pandora::StatusCode Run();
64  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
65 
71  void VisualizeMCParticleList(const std::string &listName) const;
72 
78  void VisualizeCaloHitList(const std::string &listName) const;
79 
85  void VisualizeTrackList(const std::string &listName) const;
86 
92  void VisualizeClusterList(const std::string &listName) const;
93 
99  void VisualizeParticleFlowList(const std::string &listName) const;
100 
106  void VisualizeVertexList(const std::string &listName) const;
107 
108  std::string GetHitTypeString(const pandora::HitType hitType) const;
109 
110  TEveElement* VisualizeClusterListWithConnectors(const pandora::ClusterList *const pClusterList,
111  const std::string &name, TEveElement *parent, const Color color, bool showAssociatedTracks) const;
112 
113  void VisualizeClusterDirection(const pandora::Cluster* const pCluster, std::string name, TEveElement* parent, ::Color color) const;
114 
115 #ifdef MONITORING
116 
119  void VisualizeConnectors(const pandora::CaloHitList *const pCaloHitList, std::string name, TEveElement* parent, ::Color color) const;
120 
124  EColor GetROOTColor(::Color color) const;
125 #endif
126 
127  typedef std::map<int, float> PdgCodeToEnergyMap;
128 
130  std::string m_connectorLevel;
131 
133  pandora::StringVector m_mcParticleListNames;
134 
136  pandora::StringVector m_caloHitListNames;
137 
139  pandora::StringVector m_trackListNames;
140 
142  pandora::StringVector m_clusterListNames;
143 
145  pandora::StringVector m_pfoListNames;
146 
148  pandora::StringVector m_vertexListNames;
149 
152  std::string m_detectorView;
153 
156  std::string m_hitColors;
160 
164 
165  pandora::StringVector m_suppressMCParticles;
166  PdgCodeToEnergyMap m_particleSuppressionMap;
167 };
168 
169 //------------------------------------------------------------------------------------------------------------------------------------------
170 
171 inline pandora::Algorithm *VisualMonitoringAlgorithm::Factory::CreateAlgorithm() const
172 {
173  return new VisualMonitoringAlgorithm();
174 }
175 
176 }
177 
178 #endif // VISUALMONITORINGALGORITHM_H
bool m_showPfoVertices
Whether to display pfo vertices.
Definition: VisualMonitoringAlgorithm.h:161
bool m_showCurrentClusters
Whether to show current clusters.
Definition: VisualMonitoringAlgorithm.h:141
VisualMonitoringAlgorithm class.
Definition: VisualMonitoringAlgorithm.h:45
void VisualizeMCParticleList(const std::string &listName) const
Visualize mc particle list.
Definition: VisualMonitoringAlgorithm.cc:177
bool m_showCurrentConnectors
Whether to show connectors of the current list.
Definition: VisualMonitoringAlgorithm.h:129
pandora::StringVector m_mcParticleListNames
Names of mc particles lists to show.
Definition: VisualMonitoringAlgorithm.h:133
std::string m_hitColors
Define the hit coloring scheme (default: pfo, choices: pfo, particleid)
Definition: VisualMonitoringAlgorithm.h:156
void VisualizeCaloHitList(const std::string &listName) const
Visualize a specified calo hit list.
Definition: VisualMonitoringAlgorithm.cc:249
bool m_showCurrentCaloHits
Whether to show current calohitlist.
Definition: VisualMonitoringAlgorithm.h:135
pandora::StringVector m_pfoListNames
Names of pfo lists to show.
Definition: VisualMonitoringAlgorithm.h:145
float m_thresholdEnergy
Cell energy threshold for display (em scale)
Definition: VisualMonitoringAlgorithm.h:157
bool m_showCurrentVertices
Whether to show current vertex list.
Definition: VisualMonitoringAlgorithm.h:147
bool m_showPfoHierarchy
Whether to display daughter pfos only under parent pfo elements.
Definition: VisualMonitoringAlgorithm.h:162
bool m_showCurrentMCParticles
Whether to show current mc particles.
Definition: VisualMonitoringAlgorithm.h:132
float m_transparencyThresholdE
Cell energy for which transparency is saturated (0%, fully opaque)
Definition: VisualMonitoringAlgorithm.h:158
bool m_displayEvent
Whether to display the event.
Definition: VisualMonitoringAlgorithm.h:150
bool m_showCurrentPfos
Whether to show current particle flow object list.
Definition: VisualMonitoringAlgorithm.h:144
bool m_showOnlyAvailable
Whether to show only available (i.e. non-clustered) calohits and tracks.
Definition: VisualMonitoringAlgorithm.h:154
bool m_showDetector
Whether to display the detector geometry.
Definition: VisualMonitoringAlgorithm.h:151
pandora::StringVector m_trackListNames
Names of track lists to show.
Definition: VisualMonitoringAlgorithm.h:139
Factory class for instantiating algorithm.
Definition: VisualMonitoringAlgorithm.h:51
pandora::StringVector m_clusterListNames
Names of cluster lists to show.
Definition: VisualMonitoringAlgorithm.h:142
pandora::StringVector m_vertexListNames
Names of vertex lists to show.
Definition: VisualMonitoringAlgorithm.h:148
bool m_darkBackground
Whether to use dark background.
Definition: VisualMonitoringAlgorithm.h:163
pandora::StringVector m_caloHitListNames
Names of calo hit lists to show.
Definition: VisualMonitoringAlgorithm.h:136
float m_energyScaleThresholdE
Cell energy for which color is at top end of continous color palette.
Definition: VisualMonitoringAlgorithm.h:159
void VisualizeClusterList(const std::string &listName) const
Visualize a specified calo hit list.
Definition: VisualMonitoringAlgorithm.cc:365
void VisualizeVertexList(const std::string &listName) const
Visualize a specified vertex list.
Definition: VisualMonitoringAlgorithm.cc:609
std::string m_connectorLevel
Connector level at which they are drawn (calo hit, clusters, pfos)
Definition: VisualMonitoringAlgorithm.h:130
void VisualizeParticleFlowList(const std::string &listName) const
Visualize a specified pfo list.
Definition: VisualMonitoringAlgorithm.cc:537
bool m_showAssociatedTracks
Whether to display tracks associated to clusters when viewing cluster lists.
Definition: VisualMonitoringAlgorithm.h:155
std::string m_detectorView
The detector view, default, xy or xz.
Definition: VisualMonitoringAlgorithm.h:152
pandora::StringVector m_suppressMCParticles
List of PDG numbers and energies for MC particles to be suppressed (e.g. &quot; 22:0.1 2112:1...
Definition: VisualMonitoringAlgorithm.h:165
PdgCodeToEnergyMap m_particleSuppressionMap
Map from pdg-codes to energy for suppression of particles types below specific energies.
Definition: VisualMonitoringAlgorithm.h:166
void VisualizeTrackList(const std::string &listName) const
Visualize a specified track list.
Definition: VisualMonitoringAlgorithm.cc:326
VisualMonitoringAlgorithm()
Default constructor.
Definition: VisualMonitoringAlgorithm.cc:44
bool m_showCurrentTracks
Whether to show current tracks.
Definition: VisualMonitoringAlgorithm.h:138