Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
LArDLContent.cc
Go to the documentation of this file.
1
9#include "Api/PandoraApi.h"
10
11#include "Pandora/Algorithm.h"
13#include "Pandora/Pandora.h"
14
22
24
25// clang-format off
26#define LAR_DL_ALGORITHM_LIST(d) \
27 d("LArDLMaster", DLMasterAlgorithm) \
28 d("LArDLClusterCharacterisation", DlClusterCharacterisationAlgorithm) \
29 d("LArDLHitTrackShowerId", DlHitTrackShowerIdAlgorithm) \
30 d("LArDLPfoCharacterisation", DlPfoCharacterisationAlgorithm) \
31 d("LArDLHitValidation", DlHitValidationAlgorithm) \
32 d("LArDLTrackShowerStreamSelection", DlTrackShowerStreamSelectionAlgorithm) \
33 d("LArDLVertexing", DlVertexingAlgorithm)
34
35#define LAR_DL_ALGORITHM_TOOL_LIST(d)
36
37#define DL_FACTORY Factory
38
39//------------------------------------------------------------------------------------------------------------------------------------------
40//------------------------------------------------------------------------------------------------------------------------------------------
41
42namespace lar_dl_content
43{
44
45#define LAR_DL_CONTENT_CREATE_ALGORITHM_FACTORY(a, b) \
46 class b##DL_FACTORY : public pandora::AlgorithmFactory \
47 { \
48 public: \
49 pandora::Algorithm *CreateAlgorithm() const \
50 { \
51 return new b; \
52 }; \
53 };
54
56
57//------------------------------------------------------------------------------------------------------------------------------------------
58
59#define LAR_DL_CONTENT_CREATE_ALGORITHM_TOOL_FACTORY(a, b) \
60 class b##DL_FACTORY : public pandora::AlgorithmToolFactory \
61 { \
62 public: \
63 pandora::AlgorithmTool *CreateAlgorithmTool() const \
64 { \
65 return new b; \
66 }; \
67 };
68
70
71} // namespace lar_dl_content
72
73//------------------------------------------------------------------------------------------------------------------------------------------
74//------------------------------------------------------------------------------------------------------------------------------------------
75
76#define LAR_DL_CONTENT_REGISTER_ALGORITHM(a, b) \
77 { \
78 const pandora::StatusCode statusCode(PandoraApi::RegisterAlgorithmFactory(pandora, a, new lar_dl_content::b##DL_FACTORY)); \
79 if (pandora::STATUS_CODE_SUCCESS != statusCode) \
80 return statusCode; \
81 }
82
83#define LAR_DL_CONTENT_REGISTER_ALGORITHM_TOOL(a, b) \
84 { \
85 const pandora::StatusCode statusCode(PandoraApi::RegisterAlgorithmToolFactory(pandora, a, new lar_dl_content::b##DL_FACTORY)); \
86 if (pandora::STATUS_CODE_SUCCESS != statusCode) \
87 return statusCode; \
88 }
89// clang-format on
90
Header file for the algorithm class.
Header file for the algorithm tool class.
Header file for the master algorithm class.
Header file for the deep learning track shower id algorithm.
Header file for the deep learning track shower id validation algorithm.
Header file for the cut based pfo characterisation algorithm class.
Header file for the deep learning track shower cluster streaming algorithm.
#define LAR_DL_ALGORITHM_LIST(d)
#define LAR_DL_ALGORITHM_TOOL_LIST(d)
#define LAR_DL_CONTENT_CREATE_ALGORITHM_TOOL_FACTORY(a, b)
#define LAR_DL_CONTENT_REGISTER_ALGORITHM_TOOL(a, b)
#define LAR_DL_CONTENT_CREATE_ALGORITHM_FACTORY(a, b)
#define LAR_DL_CONTENT_REGISTER_ALGORITHM(a, b)
Header file detailing content for use with particle flow reconstruction at liquid argon time projecti...
Header file for the pandora class.
Header file for the pandora api class.
static pandora::StatusCode RegisterAlgorithms(const pandora::Pandora &pandora)
Register all the lar dl content algorithms and tools with pandora.
Pandora class.
Definition Pandora.h:40
StatusCode
The StatusCode enum.