HerdSoftware  0.4.0
PcaCaloAxisTrackingAlgo.h
Go to the documentation of this file.
1 /*
2  * PcaCaloAxisTrackingAlgo.h
3  *
4  * Created on 27 April 2020
5  * Author: Valerio Vagelli
6  */
7 
10 #ifndef PCACALOAXISTRACKINGALGO_H_
11 #define PCACALOAXISTRACKINGALGO_H_
12 
13 #include "algorithm/Algorithm.h"
14 
15 // HerdSoftware headers
18 
19 namespace Herd {
20 // clang-format off
62 // clang-format on
63 class PcaCaloAxisTrackingAlgo : public EA::Algorithm {
64 
65 public:
70  PcaCaloAxisTrackingAlgo(const std::string &name);
71 
76  bool Initialize() override;
77 
82  bool Process() override;
83 
88  bool Finalize() override;
89 
90 private:
92  bool BuildAxis(const CaloHits &, std::string hitsObjName, size_t clusterIndex);
93 
96 
99 
105  unsigned short m_minhits;
106 
110  std::string m_caloHitsName;
111 
114  std::vector<CaloHitsRefFrame> m_chRefFrames;
115 
116  // Utility variables
117  EA::observer_ptr<EA::EventDataStore> m_evStore; // Pointer to the event data store
118  EA::observer_ptr<EA::GlobalDataStore> m_globStore; // Pointer to the global data store
119 };
120 
121 #endif /* PCACALOAXISTRACKINGALGO_H_ */
122 }
Herd::PcaCaloAxisTrackingAlgo::PcaCaloAxisTrackingAlgo
PcaCaloAxisTrackingAlgo(const std::string &name)
Constructor.
Definition: PcaCaloAxisTrackingAlgo.cpp:27
Herd::PcaCaloAxisTrackingAlgo::Finalize
bool Finalize() override
Post processing part.
Definition: PcaCaloAxisTrackingAlgo.cpp:203
Herd::PcaCaloAxisTrackingAlgo::m_processCalo
bool m_processCalo
Flag variable to instruct the algorithm to process the whole calo hit collection instead of separate ...
Definition: PcaCaloAxisTrackingAlgo.h:95
Herd::PcaCaloAxisTrackingAlgo::m_chRefFrames
std::vector< CaloHitsRefFrame > m_chRefFrames
Definition: PcaCaloAxisTrackingAlgo.h:114
Herd::PcaCaloAxisTrackingAlgo::m_caloAxes
Tracks m_caloAxes
Pointer to tracks objects.
Definition: PcaCaloAxisTrackingAlgo.h:113
Herd::PcaCaloAxisTrackingAlgo::m_minhits
unsigned short m_minhits
Minimum number of hits above threshold to reconstruct the axis.
Definition: PcaCaloAxisTrackingAlgo.h:105
Herd::PcaCaloAxisTrackingAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: PcaCaloAxisTrackingAlgo.cpp:47
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::PcaCaloAxisTrackingAlgo::BuildAxis
bool BuildAxis(const CaloHits &, std::string hitsObjName, size_t clusterIndex)
Build Shower Axis.
Definition: PcaCaloAxisTrackingAlgo.cpp:91
CaloHits
Container for the hits of a single CALO detector.
Herd::PcaCaloAxisTrackingAlgo::m_evStore
EA::observer_ptr< EA::EventDataStore > m_evStore
Definition: PcaCaloAxisTrackingAlgo.h:117
Tracks
Container for a set of tracks.
Herd::PcaCaloAxisTrackingAlgo::m_globStore
EA::observer_ptr< EA::GlobalDataStore > m_globStore
Definition: PcaCaloAxisTrackingAlgo.h:118
Herd::PcaCaloAxisTrackingAlgo::Process
bool Process() override
Process a single event.
Definition: PcaCaloAxisTrackingAlgo.cpp:61
Herd::PcaCaloAxisTrackingAlgo
Algorithm for Calorimeter Shower Axis reconstruction based on Principal Component Analysis (PCA) meth...
Definition: PcaCaloAxisTrackingAlgo.h:63
Tracks.h
CaloHitsRefFrame.h
Herd::PcaCaloAxisTrackingAlgo::m_eDepThreshold
float m_eDepThreshold
Threshold (in GeV) for energy deposit in CALO hits. Only hits above threshold are used to build the C...
Definition: PcaCaloAxisTrackingAlgo.h:98
Herd::PcaCaloAxisTrackingAlgo::m_caloHitsName
std::string m_caloHitsName
Name of the CaloHits collections to be used for reconstruction.
Definition: PcaCaloAxisTrackingAlgo.h:110