HerdSoftware  0.4.0
FarHitsRemoverAlgo.h
Go to the documentation of this file.
1 /*
2  * FarHitsRemoverAlgo.h
3  *
4  * Created on: 23 Aug 2021
5  * Author: Nicola Mori
6  */
7 
8 #ifndef HERD_FARHITSREMOVERALGO_H_
9 #define HERD_FARHITSREMOVERALGO_H_
10 
11 // HerdSoftware headers
16 
17 // EventAnalysis headers
18 #include "algorithm/Algorithm.h"
19 
20 // C/C++ headers
21 
22 namespace Herd {
23 
24 // clang-format off
82 // clang-format on
83 class FarHitsRemoverAlgo : public EA::Algorithm {
84 public:
89  FarHitsRemoverAlgo(const std::string &name);
90 
95  bool Initialize() override;
96 
101  bool Process() override;
102 
103 private:
104  // Parameters
105  bool m_processFit = false;
106  bool m_processScd = false;
107 
108  float m_maxDistance = 5.0f;
109  std::string m_trackType{"calo"};
110  std::string m_fitHitsCollName{"fitHitsCollADC"};
111  std::string m_fitGeoParCollName{"fitDigitizedGeoParamsColl"};
112  std::string m_fitNearHitsAlias{"fitHitsCollADC"};
113  std::string m_scdHitsCollName{"scdHitsCollMC"};
114  std::string m_scdGeoParCollName{"scdGeoParamsColl"};
115  std::string m_scdNearHitsAlias{"scdHitsCollMC"};
116 
117  EA::StorePtr m_evStore, m_globStore;
120  bool m_useMCTrack{true};
121  bool m_useEntranceInfo{false};
122 
123  using Hits = std::vector<Hit>;
124  void FilterHits(const Hits &origHits, Hits &nearHits, const ScdGeoParams &geoParams, const Line &trajectory);
125  void FilterHits(const Hits &origHits, Hits &nearHits, const FitGeoParams &geoParams, const Line &trajectory);
126 };
127 
128 } // namespace Herd
129 
130 #endif // BSB_FITFARHITSREMOVERALGO_H_
Herd::FarHitsRemoverAlgo::m_scdGeoParCollName
std::string m_scdGeoParCollName
Definition: FarHitsRemoverAlgo.h:114
ScdGeoParams.h
Herd::FarHitsRemoverAlgo::m_processFit
bool m_processFit
Definition: FarHitsRemoverAlgo.h:105
FitHitsColl.h
Herd::FarHitsRemoverAlgo::Process
bool Process() override
Processes an event.
Definition: FarHitsRemoverAlgo.cpp:94
FitGeoParams.h
Herd::FarHitsRemoverAlgo::Initialize
bool Initialize() override
Initializes the algo.
Definition: FarHitsRemoverAlgo.cpp:42
Herd::FarHitsRemoverAlgo::m_useEntranceInfo
bool m_useEntranceInfo
Definition: FarHitsRemoverAlgo.h:121
Herd::FarHitsRemoverAlgo::m_processScd
bool m_processScd
Definition: FarHitsRemoverAlgo.h:106
Herd::FarHitsRemoverAlgo::m_maxDistance
float m_maxDistance
Definition: FarHitsRemoverAlgo.h:108
Herd::FarHitsRemoverAlgo::m_scdNearHits
Herd::ScdHitsColl m_scdNearHits
Definition: FarHitsRemoverAlgo.h:119
Herd::Line
Class describing a line in the 3D space.
Definition: Line.h:37
Herd::FarHitsRemoverAlgo::m_scdNearHitsAlias
std::string m_scdNearHitsAlias
Definition: FarHitsRemoverAlgo.h:115
Herd::FarHitsRemoverAlgo::m_globStore
EA::StorePtr m_globStore
Definition: FarHitsRemoverAlgo.h:117
Herd::FarHitsRemoverAlgo::m_scdHitsCollName
std::string m_scdHitsCollName
Definition: FarHitsRemoverAlgo.h:113
Herd::FarHitsRemoverAlgo::m_evStore
EA::StorePtr m_evStore
Definition: FarHitsRemoverAlgo.h:117
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Herd::FarHitsRemoverAlgo::m_fitHitsCollName
std::string m_fitHitsCollName
Definition: FarHitsRemoverAlgo.h:110
Herd::FarHitsRemoverAlgo::FarHitsRemoverAlgo
FarHitsRemoverAlgo(const std::string &name)
Constructor.
Definition: FarHitsRemoverAlgo.cpp:28
Herd::FitGeoParams
Data structure for single silicon layer geometry parameters.
Definition: FitGeoParams.h:66
Herd::FarHitsRemoverAlgo::FilterHits
void FilterHits(const Hits &origHits, Hits &nearHits, const ScdGeoParams &geoParams, const Line &trajectory)
Definition: FarHitsRemoverAlgo.cpp:207
ScdHitsColl.h
Herd::FarHitsRemoverAlgo::m_fitNearHitsAlias
std::string m_fitNearHitsAlias
Definition: FarHitsRemoverAlgo.h:112
Herd::FarHitsRemoverAlgo::Hits
std::vector< Hit > Hits
Definition: FarHitsRemoverAlgo.h:123
Herd::FarHitsRemoverAlgo::m_fitGeoParCollName
std::string m_fitGeoParCollName
Definition: FarHitsRemoverAlgo.h:111
Herd::FarHitsRemoverAlgo
Algorithm that removes all hits lying far away from a given track.
Definition: FarHitsRemoverAlgo.h:83
Herd::ScdGeoParams
Data structure for single silicon layer geometry parameters.
Definition: ScdGeoParams.h:35
Herd::FarHitsRemoverAlgo::m_fitNearHits
Herd::FitHitsColl m_fitNearHits
Definition: FarHitsRemoverAlgo.h:118
Herd::FarHitsRemoverAlgo::m_trackType
std::string m_trackType
Definition: FarHitsRemoverAlgo.h:109
Herd::SidesArray< FitHits >
Herd::FarHitsRemoverAlgo::m_useMCTrack
bool m_useMCTrack
Definition: FarHitsRemoverAlgo.h:120