PandaRoot
PndTrackingQATask.h
Go to the documentation of this file.
1 
9 #include "PndTrackFunctor.h"
10 #include "PndGeoSttPar.h"
11 #include "PndTrackingQASummary.h"
12 
13 #include "FairTask.h"
14 
15 #include "TObject.h"
16 #include "TString.h"
17 
18 #include <vector>
19 
20 class TClonesArray;
21 
22 #pragma once
23 
24 class PndTrackingQATask : public FairTask {
25  public:
26  PndTrackingQATask(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData = kTRUE);
27  virtual ~PndTrackingQATask();
28 
30  virtual void SetParContainers();
31  virtual InitStatus Init();
32 
34  virtual void Exec(Option_t *opt);
35 
36  virtual void Finish();
37 
39  void SetIdealTrackBranchName(TString name) { fIdealTrackBranchName = name; };
40 
42  void SetTrackBranchName(TString name, Bool_t pndTrackData = kTRUE)
43  {
44  fPndTrackNotTrackCand = pndTrackData;
45  fTrackBranchName = name;
46  } // alternatively PndTrackCandData can be analysed. Therefore pndTrackData has to be set to kFALSE
47 
49  void AddHitsBranchName(TString name) { fBranchNames.push_back(name); }
50 
51  void SetOutputMCInfoBranchName(TString name) { fMCInfoBranchName = name; }
52  void SetOutputRecoInfoBranchName(TString name) { fRecoInfoBranchName = name; }
53 
54  void SetFunctorName(TString name) { fPossibleTrackFunctorName = name; }
55  void SetFunctor();
56 
57  protected:
58  void FillQASummary();
59  int GetNGhosts();
60 
61  private:
62  std::vector<TString> fBranchNames;
63  TString fMCInfoBranchName, fRecoInfoBranchName;
64 
65  PndTrackingQASummary fSummary;
66 
67  TClonesArray *fTrack = nullptr;
68  TClonesArray *fMCTrack = nullptr;
69  TClonesArray *fSttHitArray = nullptr;
70  TClonesArray *fMCTrackInfo = nullptr;
71  TClonesArray *fRecoTrackInfo = nullptr;
72  TClonesArray *fIdealTrack = nullptr;
73  TClonesArray *fSttTubeArray = nullptr;
74  PndGeoSttPar *fSttParameters = nullptr;
75 
76  FairRootManager *ioman = nullptr;
77 
78  TString fPossibleTrackFunctorName;
79  PndTrackFunctor *fPossibleTrackFunctor = nullptr;
80 
81  TString fTrackBranchName;
82  TString fIdealTrackBranchName;
83  Bool_t fPndTrackNotTrackCand = kTRUE; // kTRUE if track and kFALSE if track cand
84 
85  ClassDef(PndTrackingQATask, 1);
86 };
void SetTrackBranchName(TString name, Bool_t pndTrackData=kTRUE)
Sets the branch name of the track data which should be analyzed.
virtual void Finish()
virtual void Exec(Option_t *opt)
void SetOutputRecoInfoBranchName(TString name)
PndTrackingQATask(TString trackBranchName, TString idealBranchName, Bool_t pndTrackData=kTRUE)
virtual ~PndTrackingQATask()
void SetIdealTrackBranchName(TString name)
Sets the branch name of the ideal tracking data which serves as a reference.
Task to call PndTrackingQA algorihm.
void SetFunctorName(TString name)
virtual InitStatus Init()
void SetOutputMCInfoBranchName(TString name)
void AddHitsBranchName(TString name)
Adds branch names of detector data which should be taken into account in the analysis.
virtual void SetParContainers()