PandaRoot
PndHoughTrackFinderTask.h
Go to the documentation of this file.
1 // PndHoughTrackFinderTask
3 // Finds Track for one event
5 
16 #ifndef PndHoughTrackFinderTask_H_
17 #define PndHoughTrackFinderTask_H_
18 
19 #include "FairTask.h"
20 #include "PndGeoSttPar.h"
21 #include <vector>
22 #include "PndHoughTrackFinder.h"
23 
24 class PndHoughTrackFinderTask : public FairTask {
25  public:
26 
29 
31  virtual ~PndHoughTrackFinderTask();
32 
34  virtual void SetParContainers();
35 
37  virtual InitStatus Init();
38 
39  virtual void AddBranchName(TString name)
40  {
41  fBranchNames.push_back(name);
42  }
43  virtual void AddBranchName(TString name, TString mcName)
44  {
45  fBranchNames.push_back(name);
46  }
47 
49  virtual void SetBinningX(double bin) { fNbins1 = bin; };
51  virtual void SetBinningY(double bin) { fNbins2 = bin; };
53  virtual void SetNBinsSeg(Int_t n) { fNBinsSeg = n; };
55  virtual void SetCutMergeByHoughSpace(float cut) { fCutMergeByHoughSpace = cut; }
57  virtual void SetWithCuda(bool cuda) { fWithCuda = cuda; }
63  virtual void SetWithGhostReduction(bool ghostred) { fWithGhostReduction = ghostred; }
64 
66  virtual void Exec(Option_t *opt);
67 
68  virtual void Finish();
69 
70  private:
71  FairRootManager *ioman = nullptr;
72 
73  float fCutMergeByHoughSpace;
74  Int_t fNbins1;
75  Int_t fNbins2;
76  Int_t fNBinsSeg;
77  bool fWithCuda;
78  bool fWithGhostReduction;
79 
80  std::vector<TString> fBranchNames;
81  std::map<TString, TClonesArray *> fBranchMap;
82 
83  PndGeoSttPar *fSttParameters = nullptr; // needed for SttStrawMap
84  TClonesArray *fSttTubeArray = nullptr;
85 
86  PndHoughTrackFinder *fPndHoughTrackFinder = nullptr;
87 
89  TClonesArray *fPreselectedTrackArrayCand = nullptr;
90  TClonesArray *fApolloniusTrackArrayMerged = nullptr;
91  TClonesArray *fApolloniusTrackArrayMergedCand = nullptr;
92  TClonesArray *fCombinedSkewed = nullptr;
93 
94  ClassDef(PndHoughTrackFinderTask, 1);
95 };
96 
97 #endif /*PndHoughTrackFinderTask_H_*/
virtual void Finish()
virtual void AddBranchName(TString name, TString mcName)
Search for tracks only in given branches. If no BranchName is given all tracking detectors are taken...
virtual void SetWithGhostReduction(bool ghostred)
Sets a bool for deciding to use a ghost reduction. Per default a ghost reduction is performed...
virtual void SetBinningY(double bin)
Sets the number of bins used for the y direction of the Hough space.
virtual void AddBranchName(TString name)
Search for tracks only in given branches. If no BranchName is given all tracking detectors are taken...
virtual InitStatus Init()
Initializes and loads the data for the HoughTrackFinder.
virtual void Exec(Option_t *opt)
virtual void SetBinningX(double bin)
Sets the number of bins used for the x direction of the Hough space.
virtual void SetWithCuda(bool cuda)
Sets a bool for deciding to use cuda.
virtual void SetCutMergeByHoughSpace(float cut)
Sets the cut value for the distance of two maxima in the Hough space which have to be merged...
virtual void SetNBinsSeg(Int_t n)
Sets the number of bins used for the segmentation preselection algorithm.
virtual void SetParContainers()
virtual ~PndHoughTrackFinderTask()