HerdSoftware  0.4.0
FitClusteringAlgo.h
Go to the documentation of this file.
1 /*
2  * FitClusteringAlgo.h
3  *
4  * Created on: 7 Apr 2020
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HERD_FitClusteringAlgo_H_
9 #define HERD_FitClusteringAlgo_H_
10 
11 // HerdSoftware headers
17 
18 // EventAnalysis headers
19 #include "algorithm/Algorithm.h"
20 
21 namespace Herd {
22 
23 // clang-format off
61 // clang-format on
62 class FitClusteringAlgo : public EA::Algorithm {
63 public:
68  FitClusteringAlgo(const std::string &name);
69 
74  bool Initialize() override;
75 
80  bool Process() override;
81 
90  std::vector<std::string> FreeObjects(const std::vector<std::string> &objs, EA::Memory::Status memStatus) override;
91 
92 private:
93  // Algorithm parameters
95  float m_snSeed;
96 
97  // Class members
99  EA::observer_ptr<FitGeoParamsColl> m_fitGeoParamsColl;
100  EA::observer_ptr<FitChannelInfoColl> m_fitChannelInfoColl;
101  EA::StorePtr m_evStore, m_globStore;
102 
103  // other stuff
104  bool m_hasChannelInfo = false;
105 
106  std::vector<Cluster> _Clusterize(std::vector<Hit> &hits, const FitGeoParams &geoParams);
107  std::vector<Cluster> _Clusterize(std::vector<Hit> &hits, const FitGeoParams &geoParams,
108  const FitChannelInfo &channelInfo);
109 };
110 
111 } // namespace Herd
112 
113 #endif /* HERD_FitClusteringAlgo_H_ */
Herd::FitChannelInfo
Definition: FitChannelInfo.h:19
Herd::FitClusteringAlgo::m_evStore
EA::StorePtr m_evStore
Definition: FitClusteringAlgo.h:101
Herd::FitClusteringAlgo::m_fitGeoParamsColl
EA::observer_ptr< FitGeoParamsColl > m_fitGeoParamsColl
Definition: FitClusteringAlgo.h:99
FitHits.h
FitGeoParams.h
Herd::FitClusteringAlgo::m_snSeed
float m_snSeed
Definition: FitClusteringAlgo.h:95
Herd::FitClustersColl
Collection of containers for the clusters of all the FIT detectors.
Definition: FitClustersColl.h:23
FitGeoParamsColl.h
Herd::FitClusteringAlgo::FreeObjects
std::vector< std::string > FreeObjects(const std::vector< std::string > &objs, EA::Memory::Status memStatus) override
Free the memory of unneeded objects.
Definition: FitClusteringAlgo.cpp:108
Herd::FitClusteringAlgo::Process
bool Process() override
Process a single event.
Definition: FitClusteringAlgo.cpp:70
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
FitChannelInfoColl.h
Herd::FitClusteringAlgo::m_fitClustersColl
FitClustersColl m_fitClustersColl
Definition: FitClusteringAlgo.h:98
Herd::FitClusteringAlgo::m_fitChannelInfoColl
EA::observer_ptr< FitChannelInfoColl > m_fitChannelInfoColl
Definition: FitClusteringAlgo.h:100
Herd::FitClusteringAlgo::m_hasChannelInfo
bool m_hasChannelInfo
Definition: FitClusteringAlgo.h:104
Herd::FitClusteringAlgo::m_globStore
EA::StorePtr m_globStore
Definition: FitClusteringAlgo.h:101
Herd::FitGeoParams
Data structure for single silicon layer geometry parameters.
Definition: FitGeoParams.h:66
Herd::FitClusteringAlgo::m_snThreshold
float m_snThreshold
Definition: FitClusteringAlgo.h:94
Herd::FitClusteringAlgo::FitClusteringAlgo
FitClusteringAlgo(const std::string &name)
Constructor.
Definition: FitClusteringAlgo.cpp:19
Herd::FitClusteringAlgo
Algorithm that clusters the Monte Carlo FIT detector hits.
Definition: FitClusteringAlgo.h:62
FitClustersColl.h
Herd::FitClusteringAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: FitClusteringAlgo.cpp:32
Herd::FitClusteringAlgo::_Clusterize
std::vector< Cluster > _Clusterize(std::vector< Hit > &hits, const FitGeoParams &geoParams)
Definition: FitClusteringAlgo.cpp:203