LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
VisualParticleMonitoringAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_VISUAL_PARTICLE_MONITORING_ALGORITHM_H
9 #define LAR_VISUAL_PARTICLE_MONITORING_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 
14 
15 namespace lar_content
16 {
17 
21 class VisualParticleMonitoringAlgorithm : public pandora::Algorithm
22 {
23 public:
28 
30 
31 private:
32  pandora::StatusCode Run();
33  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
34 
35 #ifdef MONITORING
36 
43  void VisualizeIndependentMC(const LArMCParticleHelper::MCContributionMap &mcMap) const;
44 
52  void VisualizeMCByPdgCode(const LArMCParticleHelper::MCContributionMap &mcMap) const;
53 
61  void VisualizeIndependentPfo(const pandora::PfoList &pfoList) const;
62 
71  void VisualizeIndependentPfo(const pandora::PfoList &pfoList, const LArMCParticleHelper::MCContributionMap &mcMap) const;
72 
80  void VisualizeReconstructedSlice(const pandora::PfoList &pfoList) const;
81 
89  void VisualizePfoByParticleId(const pandora::PfoList &pfoList) const;
90 
98  void MakeSelection(const pandora::MCParticleList *pMCList, const pandora::CaloHitList *pCaloHitList,
100 #endif // MONITORING
101 
102  std::string m_caloHitListName;
103  std::string m_pfoListName;
114 };
115 
116 } // namespace lar_content
117 
118 #endif // LAR_VISUAL_PARTICLE_MONITORING_ALGORITHM_H
std::unordered_map< const pandora::MCParticle *, pandora::CaloHitList > MCContributionMap
bool m_visualizeSlice
Whether or not to visualize reconstructed slices.
float m_transparencyThresholdE
Cell energy for which transparency is saturated (0%, fully opaque)
float m_energyScaleThresholdE
Cell energy for which color is at top end of continous color palette.
bool m_showPfoMatchedMC
Whether or not to display the best matched MC particle for a PFO.
bool m_showPfoByPid
Whether or not to colour PFOs by particle id.
Header file for the lar monte carlo particle helper helper class.
bool m_isTestBeam
Whether or not this is a test beam experiment.
float m_scalingFactor
TEve works with [cm], Pandora usually works with [mm] (but LArContent went with cm too) ...
pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle)
bool m_groupMCByPdg
Whether or not to group MC particles by particle id.
std::string m_caloHitListName
Name of input calo hit list.
bool m_visualizeMC
Whether or not to visualize MC particles.