LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
DlVertexingBaseAlgorithm.h
Go to the documentation of this file.
1 
8 #ifndef LAR_DL_VERTEXING_BASE_ALGORITHM_H
9 #define LAR_DL_VERTEXING_BASE_ALGORITHM_H 1
10 
11 #include "Pandora/Algorithm.h"
12 #include "Pandora/AlgorithmHeaders.h"
13 
15 
18 
19 #include <random>
20 
21 using namespace lar_content;
22 
23 namespace lar_dl_content
24 {
28 class DlVertexingBaseAlgorithm : public pandora::Algorithm
29 {
30 public:
31  typedef std::map<std::pair<int, int>, std::vector<const pandora::CaloHit *>> PixelToCaloHitsMap;
32 
37 
39 
40 protected:
41  typedef std::pair<int, int> Pixel; // A Pixel is a row, column pair
42  typedef std::vector<Pixel> PixelVector;
43 
44  pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
45 
46  /*
47  * @brief Determine the physical bounds associated with a CaloHitList.
48  *
49  * @param caloHitList The CaloHitList for which bounds should be determined
50  * @param xMin The output minimum x value
51  * @param xMax The output maximum x value
52  * @param zMin The output minimum z value
53  * @param zMax The output maximum z value
54  *
55  * @return The StatusCode resulting from the function
56  */
57  void GetHitRegion(const pandora::CaloHitList &caloHitList, float &xMin, float &xMax, float &zMin, float &zMax) const;
58 
72  void GetCanvasParameters(const LArDLHelper::TorchOutput &networkOutput, const PixelVector &pixelVector, int &columnOffset,
73  int &rowOffset, int &width, int &height) const;
74 
76  std::string m_trainingOutputFile;
77  std::string m_inputVertexListName;
78  std::string m_outputVertexListName;
79  pandora::StringVector m_caloHitListNames;
83  int m_pass;
84  int m_nClasses;
85  int m_height;
86  int m_width;
87  float m_driftStep;
88  std::vector<double> m_thresholds;
89  std::string m_volumeType;
90 };
91 
92 } // namespace lar_dl_content
93 
94 #endif // LAR_DL_VERTEXING_BASE_ALGORITHM_H
int m_pass
The pass of the train/infer step.
Header file for the vertex tuple object.
LArDLHelper::TorchModel m_modelU
The model for the U view.
std::vector< double > m_thresholds
Distance class thresholds.
float m_driftStep
The size of a pixel in the drift direction in cm (most relevant in pass 2)
torch::jit::script::Module TorchModel
Definition: LArDLHelper.h:25
std::string m_trainingOutputFile
Output file name for training examples.
std::string m_outputVertexListName
Output vertex list name.
DeepLearningTrackShowerIdAlgorithm class.
Header file for the lar monte carlo particle helper helper class.
std::map< std::pair< int, int >, std::vector< const pandora::CaloHit * > > PixelToCaloHitsMap
Header file for the lar deep learning helper helper class.
pandora::StringVector m_caloHitListNames
Names of input calo hit lists.
std::string m_inputVertexListName
Input vertex list name if 2nd pass.
LArDLHelper::TorchModel m_modelW
The model for the W view.
int m_nClasses
The number of distance classes.
std::string m_volumeType
The name of the fiducial volume type for the monitoring output.
LArDLHelper::TorchModel m_modelV
The model for the V view.