PandaRoot
PndSTETask.h
Go to the documentation of this file.
1 
13 #ifndef PndSTETask_H_
14 #define PndSTETask_H_
15 
16 #include "FairTask.h"
17 #include "FairMultiLinkedData.h"
18 #include "PndRiemannTrack.h"
19 #include "PndSTESettings.h"
20 
21 class TClonesArray;
22 class FairMultiLinkedData;
23 
24 class PndSTETask : public FairTask, public PndSTESettings {
25  public:
27  PndSTETask() : FairTask("Mvd Tracker Task"){};
28 
30  virtual ~PndSTETask(){};
31 
32  virtual InitStatus Init();
33 
34  virtual void Exec(Option_t *opt);
35 
36  virtual void FinishEvent();
37 
39  void SetPersistence(bool val) { fPersistence = val; };
40 
42  void SetInputTrackBranchName(TString trackName) { fInputTrackBranchName = trackName; };
43 
45  void SetInputTrackCandBranchName(TString trackName) { fInputTrackCandBranchName = trackName; };
46 
48  void SetInputRiemannTrackBranchName(TString trackName) { fInputRiemannTrackBranchName = trackName; };
49 
53  void SetOutputBranchNamePrefix(TString trackName) { fOutBranchNamePrefix = trackName; };
54 
56  // void SetRunTimeBased(bool val) { fRunTimeBased = val; };
57 
62  // void RemoveShortTracks(bool val) { fRemoveShortTracks = val; };
63 
68  // void FilterTracks(std::vector<TClonesArray *>, std::vector<TClonesArray *>, std::vector<TClonesArray *>);
69 
71  void InitHitArray(TString branchName);
72 
74  void InitTrackArray(TString branchName);
75 
77  void InitRiemannTrackArray(TString branchName);
78 
80  void InitTrackCandArray(TString branchName);
81 
83  void AddHitBranch(TString branchName) { fHitBranchName.push_back(branchName); };
84 
85  private:
86  bool fPersistence = true;
87 
89  // double fClusterTime = 250.0;
90 
92  // bool fRunTimeBased = false;
93 
94  // bool fRemoveShortTracks = true;
95 
96  TString fOutBranchNamePrefix = "SttExtrapolated"; // Default output track branchname prefix
97  TString fInBranchNamePrefix = "NoNameGiven"; // Default input track branch name prefix
98 
99  std::vector<TString> fHitBranchName; // Vector of input hit branch names
100 
101  std::vector<TClonesArray *> fMvdHitsPixelArray; // Input Mvd Hit Pixel Array
102  std::vector<TClonesArray *> fMvdHitsStripArray; // Input Mvd Hit Strip Array
103  std::vector<TClonesArray *> fGemHitsArray; // Input Gem hit array
104  std::vector<TClonesArray *> fBtofHitsArray; // Input Btof array
105 
106  std::vector<TClonesArray *> fPndTrackCandArray; // Input track cand branch from previous tracking
107  std::vector<TClonesArray *> fPndTrackArray; // Input track branch from previous tracking
108  std::vector<TClonesArray *> fPndRiemannTrackArray; // Input RiemannTrack branch from previous tracking
109 
110  // Output branches
111  TClonesArray *fOutTrackArray; // Output track array
112  TClonesArray *fOutTrackCandArray; // Output track cand array
113  TClonesArray *fOutRiemannTrackArray; // Output Riemann track array
114 
115  // Input branches
116  TString fInputTrackBranchName; // Input track branch name
117  TString fInputTrackCandBranchName; // Input track cand branch name
118  TString fInputRiemannTrackBranchName; // Input Riemann track branch name
119 
120  TClonesArray *fEventHeader;
121 
122  double fSumTime; // For timing information
123 
124  // The three following vectors of TClones arrays are used if the tracks are filtered
125  // TClonesArray *fPndTrackCandFileteredArray; // Input track cand branch from previous tracking
126  // TClonesArray *fPndRiemannTrackFilteredArray; // Input RiemannTrack branch from previous tracking
127  // TClonesArray *fPndTrackFilteredArray; // Input track branch from previous tracking
128  // std::vector<TClonesArray *> fFilteredArrays; // Vector to put the previous three arrays in
129 
130  ClassDef(PndSTETask, 1);
131 };
132 
133 #endif /*PndSTETask_H_*/
void AddHitBranch(TString branchName)
Function to add chosen hit branches to the algorithm.
Definition: PndSTETask.h:83
virtual InitStatus Init()
void SetInputTrackBranchName(TString trackName)
Function to set the input track branch name.
Definition: PndSTETask.h:42
void SetPersistence(bool val)
Function to set the persistency, true as default.
Definition: PndSTETask.h:39
void InitHitArray(TString branchName)
Function to choose if the hit finding should be done on time based data.
void SetInputRiemannTrackBranchName(TString trackName)
Function to set the input Riemann branch name.
Definition: PndSTETask.h:48
void InitTrackCandArray(TString branchName)
Function to initiate the chosen type of track cands.
virtual ~PndSTETask()
Definition: PndSTETask.h:30
void InitTrackArray(TString branchName)
Function for initiating the chosen track type.
void SetOutputBranchNamePrefix(TString trackName)
Function to set the prefix to the output branch name Default output branch name is "Track" that is us...
Definition: PndSTETask.h:53
virtual void Exec(Option_t *opt)
virtual void FinishEvent()
void InitRiemannTrackArray(TString branchName)
Function to initiate the chosen type of Riemann tracks.
void SetInputTrackCandBranchName(TString trackName)
Function to set the input track cand branch name.
Definition: PndSTETask.h:45