PandaRoot
PndMvdRiemannTrackFinderTaskEff.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PNDMVDRIEMANNTRACKFINDERASKEFF_H_
14 #define PNDMVDRIEMANNTRACKFINDERASKEFF_H_
15 
16 #include "FairTask.h"
17 #include "PndMCTrack.h"
18 #include "PndTrackCand.h"
19 
20 #include "TString.h"
21 #include "TClonesArray.h"
22 
23 #include <vector>
24 #include <TH2F.h>
25 
26 class PndMvdRiemannTrackFinderTaskEff : public FairTask {
27  public:
32 
34  virtual void SetParContainers();
35  virtual InitStatus Init();
36  virtual InitStatus ReInit();
37 
39  virtual void Exec(Option_t *opt);
40  virtual void FinishEvent();
41 
42  void SetMaxSZChi2(double val) { fMaxSZChi2 = val; }
43  void SetMaxSZDist(double val) { fMaxSZDist = val; }
44  void SetMinPointDist(double val) { fMinPointDist = val; }
45  void SetMaxDist(double val) { fMaxDist = val; }
46 
47  // void PrintResult(); // not implemented
48  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
49 
50  TH2F *eff0H;
51  TH2F *effH;
52  TH2F *GhH;
53 
54  private:
55  TString fHitBranch;
56  TString fHitBranch2;
57  TString fMCTrackBranch;
58 
59  TString fIdealTrackBranch;
60  TString fFTrackBranch;
61 
62  int fEventNr;
63 
64  double fMaxSZChi2;
65  double fMaxSZDist;
66  double fMinPointDist;
67  double fMaxDist;
68 
69  TClonesArray *fHitArray;
70  TClonesArray *fHitArray2;
71  TClonesArray *fTrackCandArray;
72  TClonesArray *fIdealTrackCandArray;
73  TClonesArray *fMCTracksArray;
74 
75  void Register();
76  void Reset();
77  void ProduceHits();
78 
79  void ComparingFandR(std::vector<PndTrackCand *> RecoT);
80  bool CheckRecoTrack(PndTrackCand *cand, PndMCTrack *myTrack);
81 
82  void AddGhostTrack(int trackF);
83 
85 };
86 
87 #endif /*PNDMVDRIEMANNTRACKFINDERASKEFF_H_*/
virtual InitStatus Init()
virtual InitStatus ReInit()
virtual void Exec(Option_t *opt)
PndMvdRiemannTrackFinderTaskEff & operator=(const PndMvdRiemannTrackFinderTaskEff &)=delete