PandaRoot
PndMvdRiemannTrackFinderTaskCutPar.h
Go to the documentation of this file.
1 #ifndef PNDMVDRIEMANNTRACKFINDERTASKCUTPAR_H_
2 #define PNDMVDRIEMANNTRACKFINDERTASKCUTPAR_H_
3 
4 #include "FairTask.h"
5 #include "PndSdsHit.h"
6 #include "TH2F.h"
7 #include "TVector3.h"
8 
9 #include "TString.h"
10 
11 #include "TClonesArray.h"
12 
13 #include "PndRiemannHit.h"
14 
15 class PndMvdRiemannTrackFinderTaskCutPar : 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 SetMaxSZChi2(double val) { fMaxSZChi2 = val; }
32  void SetMaxSZDist(double val) { fMaxSZDist = val; }
33  void SetMinPointDist(double val) { fMinPointDist = val; }
34  void SetMaxDist(double val) { fMaxDist = val; }
35 
36  void CalcCuts();
37 
38  // void PrintResult(); // not implemented
39  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
40 
41  private:
42  TString fHitBranch;
43  TString fHitBranch2;
44  TString fMCTrackBranch;
45  TString fTrackBranch;
46  int fEventNr;
47 
48  double fMaxSZChi2;
49  double fMaxSZDist;
50  double fMinPointDist;
51  double fMaxDist;
52 
53  TClonesArray *fHitArray;
54  TClonesArray *fHitArray2;
55  TClonesArray *fTrackCandArray;
56  TClonesArray *fMCTrackArray;
57  TClonesArray *fRiemannTracks;
58 
59  void Register();
60  void Reset();
61  void ProduceHits();
62 
63  bool CheckTooCloseHits(PndRiemannHit hit1, PndRiemannHit hit2);
64  void CalcRiemannTracks();
65  void CalcParHists();
66 
67  unsigned int fNCut;
68 
69  int fNbin;
70  double frangeDist;
71  double frangeChi2;
72  double fPtS;
73  double fPtF;
74  static const int fNPt = 10;
75  double fThetaS;
76  double fThetaF;
77  static const int fNTh = 10;
78 
79  TH1F *fhistsDist[fNPt][fNTh];
80  TH1F *fhistsChi2[fNPt][fNTh];
81  TH2F *fCutDistH;
82  TH2F *fCutChi2H;
83 
85 };
86 
87 #endif /*PndMvdRiemannTrackFinderTaskCutPar_H_*/
virtual void Exec(Option_t *opt)
PndMvdRiemannTrackFinderTaskCutPar & operator=(const PndMvdRiemannTrackFinderTaskCutPar &)=delete