PandaRoot
PndMvdRiemannTrackFinderTask.h
Go to the documentation of this file.
1 #ifndef PNDMVDRIEMANNTRACKFINDERTASK_H_
2 #define PNDMVDRIEMANNTRACKFINDERTASK_H_
3 
4 #include "FairTask.h"
5 //#include "PndSdsHit.h"
6 #include "TClonesArray.h"
7 #include "TH2F.h"
8 #include "PndGeoHandling.h"
9 #include "PndGeoSttPar.h"
10 
11 #include "FairTSBufferFunctional.h"
12 
13 #include <vector>
14 
15 class PndMvdRiemannTrackFinderTask : public FairTask {
16  public:
21 
23  virtual void SetParContainers();
24  virtual InitStatus Init();
25  virtual InitStatus ReInit();
26 
28  virtual void Exec(Option_t *opt);
29  virtual void FinishEvent();
30 
31  void AddHitBranch(TString branchName); // Has to be called before Init() is used otherwise the default names are taken!
32 
33  void SetMaxSZChi2(double val) { fMaxSZChi2 = val; }
34  void SetMaxSZDist(double val) { fMaxSZDist = val; }
35  void SetMinPointDist(double val) { fMinPointDist = val; }
36  void SetMaxDist(double val) { fMaxDist = val; }
37 
38  void SetCutDistH(TH2F *hist) { fCutDistH = hist; }
39  void SetCutChi2H(TH2F *hist) { fCutChi2H = hist; }
40 
41  void SetB(Double_t B) { fB = B; }
42 
43  // void PrintResult(); // not implemented
44  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
45  void SetPersistence(Bool_t val) { fPersistence = val; };
46  // void SetGeoH(PndGeoHandling geoH){ fGeoH=geoH;};
47 
48  void FillHitArray();
49  void InitHitArray(TString branchName);
50 
51  private:
52  std::vector<TString> fHitBranch;
53  TString fTrackBranch;
54 
55  int fEventNr;
56 
57  double fMaxSZChi2;
58  double fMaxSZDist;
59  double fMinPointDist;
60  double fMaxDist;
61 
62  double fB;
63 
64  std::vector<TClonesArray *> fHitArray;
65  TClonesArray *fTrackCandArray;
66  TClonesArray *fRiemannTrackArray;
67  TClonesArray *fTrackArray;
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 
87  ClassDef(PndMvdRiemannTrackFinderTask, 1);
88 };
89 
90 #endif /*PNDMVDRIEMANNTRACKFINDERTASK_H_*/
PndMvdRiemannTrackFinderTask & operator=(const PndMvdRiemannTrackFinderTask &)=delete
virtual void Exec(Option_t *opt)
void InitHitArray(TString branchName)
virtual InitStatus Init()
virtual InitStatus ReInit()
void AddHitBranch(TString branchName)
virtual void SetParContainers()