HerdSoftware  0.4.0
TimingCaloAxisTrackingAlgo.h
Go to the documentation of this file.
1 /*
2  * TimingCaloAxisTrackingAlgo.h
3  *
4  * Created on 26 August 2022
5  * Author: Claudio Brugnoni
6  */
7 
10 #ifndef HERD_TIMINGCALOAXISTRACKINGALGO_H_
11 #define HERD_TIMINGCALOAXISTRACKINGALGO_H_
12 
13 #include "algorithm/Algorithm.h"
14 
15 // HerdSoftware headers
19 
20 namespace Herd {
21 // clang-format off
56 // clang-format on
57 class TimingCaloAxisTrackingAlgo : public EA::Algorithm {
58 
59 public:
64  TimingCaloAxisTrackingAlgo(const std::string &name);
65 
70  bool Initialize() override;
71 
76  bool Process() override;
77 
82  bool Finalize() override;
83 
84 private:
86 
93  bool BuildAxis(const CaloHits &caloHits, std::string &hitsObjName, size_t clusterIndex);
94 
97 
100 
106  unsigned short m_minHits;
107 
111  std::string m_caloHitsName;
112 
116  std::string m_caloClustersName;
117 
121 
122  // Utility variables
123  EA::observer_ptr<EA::EventDataStore> m_evStore; // Pointer to the event data store
124  EA::observer_ptr<EA::GlobalDataStore> m_globStore; // Pointer to the global data store
125 };
126 
127 #endif /* HERD_TIMINGCALOAXISTRACKINGALGO_H_ */
128 }
Herd::TimingCaloAxisTrackingAlgo::m_caloClustersName
std::string m_caloClustersName
Name of the CaloClusters collections to be used for reconstruction.
Definition: TimingCaloAxisTrackingAlgo.h:116
Herd::TimingCaloAxisTrackingAlgo::m_caloAxes
Tracks m_caloAxes
Pointer to tracks objects.
Definition: TimingCaloAxisTrackingAlgo.h:119
Herd::TimingCaloAxisTrackingAlgo::Process
bool Process() override
Process a single event.
Definition: TimingCaloAxisTrackingAlgo.cpp:65
Herd::TimingCaloAxisTrackingAlgo
Algorithm for Calorimeter Shower Axis reconstruction based on the interpolation of Shower COG and ent...
Definition: TimingCaloAxisTrackingAlgo.h:57
Herd::TimingCaloAxisTrackingAlgo::m_evStore
EA::observer_ptr< EA::EventDataStore > m_evStore
Definition: TimingCaloAxisTrackingAlgo.h:123
Herd::TimingCaloAxisTrackingAlgo::m_minHits
unsigned short m_minHits
Minimum number of hits above threshold to reconstruct the axis.
Definition: TimingCaloAxisTrackingAlgo.h:106
Herd::TimingCaloAxisTrackingAlgo::m_globStore
EA::observer_ptr< EA::GlobalDataStore > m_globStore
Definition: TimingCaloAxisTrackingAlgo.h:124
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
EntranceInfo.h
Herd::TimingCaloAxisTrackingAlgo::m_caloHitsName
std::string m_caloHitsName
Name of the CaloHits collections to be used for reconstruction.
Definition: TimingCaloAxisTrackingAlgo.h:111
Herd::TimingCaloAxisTrackingAlgo::BuildAxis
bool BuildAxis(const CaloHits &caloHits, std::string &hitsObjName, size_t clusterIndex)
Build Shower Axis.
Definition: TimingCaloAxisTrackingAlgo.cpp:103
CaloHits
Container for the hits of a single CALO detector.
Herd::EntranceInfo
Container of information about the entrance sector of the incoming particle.
Definition: EntranceInfo.h:28
Tracks
Container for a set of tracks.
Herd::TimingCaloAxisTrackingAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: TimingCaloAxisTrackingAlgo.cpp:50
CaloHits.h
Herd::TimingCaloAxisTrackingAlgo::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: TimingCaloAxisTrackingAlgo.h:99
Herd::TimingCaloAxisTrackingAlgo::m_processCalo
bool m_processCalo
Flag variable to instruct the algorithm to process the whole calo hit collection instead of separate ...
Definition: TimingCaloAxisTrackingAlgo.h:96
Herd::TimingCaloAxisTrackingAlgo::Finalize
bool Finalize() override
Post processing part.
Definition: TimingCaloAxisTrackingAlgo.cpp:134
Tracks.h
Herd::TimingCaloAxisTrackingAlgo::m_entranceInfo
EntranceInfo m_entranceInfo
Definition: TimingCaloAxisTrackingAlgo.h:120
Herd::TimingCaloAxisTrackingAlgo::TimingCaloAxisTrackingAlgo
TimingCaloAxisTrackingAlgo(const std::string &name)
Constructor.
Definition: TimingCaloAxisTrackingAlgo.cpp:27