HerdSoftware  0.3.2
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 using namespace EA;
20 
21 // C/C++ headers
22 
23 namespace Herd {
24 
25 // clang-format off
86 // clang-format on
87 class FarHitsRemoverAlgo : public Algorithm {
88 public:
93  FarHitsRemoverAlgo(const std::string &name);
94 
99  bool Initialize() override;
100 
105  bool Process() override;
106 
107 private:
108  // Parameters
109  bool _processFit = false;
110  bool _processScd = false;
111 
112  float _maxDistance = 5.0f;
113  std::string _trackType{"calo"};
114  std::string _entranceSideReco{"calo"};
115  std::string _fitHitsCollName{"fitHitsCollADC"};
116  std::string _fitGeoParCollName{"fitDigitizedGeoParamsColl"};
117  std::string _fitNearHitsAlias{"fitHitsCollADC"};
118  std::string _scdHitsCollName{"scdHitsCollMC"};
119  std::string _scdGeoParCollName{"scdGeoParamsColl"};
120  std::string _scdNearHitsAlias{"scdHitsCollMC"};
121 
122  StorePtr _evStore, _globStore;
125  bool _useMCTrack{true};
126  enum class EntranceRecoMethod { NONE, MC, CALO };
127  EntranceRecoMethod _entranceRecoMethod{EntranceRecoMethod::NONE};
128 
129  using Hits = std::vector<Hit>;
130  void FilterHits(const Hits &origHits, Hits &nearHits, const ScdGeoParams &geoParams, const Line &trajectory);
131  void FilterHits(const Hits &origHits, Hits &nearHits, const FitGeoParams &geoParams, const Line &trajectory);
132 };
133 
134 } // namespace Herd
135 
136 #endif // BSB_FITFARHITSREMOVERALGO_H_
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
Data structure for single silicon layer geometry parameters.
Definition: FitGeoParams.h:64
Herd::ScdHitsColl _scdNearHits
Definition: FarHitsRemoverAlgo.h:124
std::vector< Hit > Hits
Definition: FarHitsRemoverAlgo.h:129
Class describing a line in the 3D space.
Definition: Line.h:34
Algorithm that removes all hits lying far away from a given track.
Definition: FarHitsRemoverAlgo.h:87
Herd::FitHitsColl _fitNearHits
Definition: FarHitsRemoverAlgo.h:123
StorePtr _globStore
Definition: FarHitsRemoverAlgo.h:122
EntranceRecoMethod
Definition: FarHitsRemoverAlgo.h:126
Data structure for single silicon layer geometry parameters.
Definition: SiliconDetectorGeoParams.h:34