PandaRoot
PndMvdSttGemRiemannTrackFinderTask.h
Go to the documentation of this file.
1 #ifndef PNDMVDSTTGEMRIEMANNTRACKFINDERTASK_H_
2 #define PNDMVDSTTGEMRIEMANNTRACKFINDERTASK_H_
3 
4 #include "FairTask.h"
5 //#include "PndSdsHit.h"
6 #include "TH2F.h"
7 #include "PndGeoHandling.h"
8 #include "PndGeoSttPar.h"
9 
10 #include "FairTSBufferFunctional.h"
11 
12 #include <vector>
13 
14 class PndMvdSttGemRiemannTrackFinderTask : public FairTask {
15  public:
20 
22  virtual void SetParContainers();
23  virtual InitStatus Init();
24  virtual InitStatus ReInit();
25 
27  virtual void Exec(Option_t *opt);
28  virtual void FinishEvent();
29 
30  void AddHitBranch(TString branchName); // Has to be called before Init() is used otherwise the default names are taken!
31 
32  void SetMaxSZChi2(double val) { fMaxSZChi2 = val; }
33  void SetMaxSZDist(double val) { fMaxSZDist = val; }
34  void SetMinPointDist(double val) { fMinPointDist = val; }
35  void SetMaxDist(double val) { fMaxDist = val; }
36 
37  void SetCutDistH(TH2F *hist) { fCutDistH = hist; }
38  void SetCutChi2H(TH2F *hist) { fCutChi2H = hist; }
39 
40  void SetB(Double_t B) { fB = B; }
41 
42  // void PrintResult(); // not implemented
43  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
44  void SetPersistence(Bool_t val) { fPersistence = val; };
45  // void SetGeoH(PndGeoHandling geoH){ fGeoH=geoH;};
46 
47  void FillHitArray();
48  void InitHitArray(TString branchName);
49 
50  private:
51  std::vector<TString> fHitBranch;
52  TString fTrackBranch;
53 
54  int fEventNr;
55 
56  double fMaxSZChi2;
57  double fMaxSZDist;
58  double fMinPointDist;
59  double fMaxDist;
60 
61  double fB;
62 
63  std::vector<TClonesArray *> fHitArray;
64  TClonesArray *fTrackCandArray;
65  TClonesArray *fRiemannTrackArray;
66  TClonesArray *fTrackArray;
67  TClonesArray *fCorrectedSttHitArray;
68 
69  TH2F *fCutDistH;
70  TH2F *fCutChi2H;
71 
72  Bool_t fInitDone;
73  Bool_t fPersistence;
74 
75  BinaryFunctor *fStopFunctor;
76  BinaryFunctor *fTimeGapFunctor;
77 
78  PndGeoSttPar *fSttParameters; // CHECK added
79  TClonesArray *fTubeArray;
80 
81  // PndGeoHandling* fGeoH;
82 
83  void Register();
84  void Reset();
85  void ProduceHits();
86 
88 };
89 
90 #endif /*PNDMVDRIEMANNTRACKFINDERTASK_H_*/
void AddHitBranch(TString branchName)
PndMvdSttGemRiemannTrackFinderTask & operator=(const PndMvdSttGemRiemannTrackFinderTask &)=delete
void InitHitArray(TString branchName)
virtual void Exec(Option_t *opt)