PandaRoot
PndSTETask.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 
25 #ifndef PndSTETask_H_
26 #define PndSTETask_H_
27 
28 #include "FairTask.h"
29 #include "FairMultiLinkedData.h"
30 #include "PndRiemannTrack.h"
31 #include "PndSTESettings.h"
32 
33 class TClonesArray;
34 class FairMultiLinkedData;
35 
36 class PndSTETask : public FairTask, public PndSTESettings {
37  public:
39  PndSTETask() : FairTask("Mvd Tracker Task"){};
40 
42  virtual ~PndSTETask(){};
43 
44  virtual InitStatus Init();
45 
46  virtual void Exec(Option_t *opt);
47 
48  virtual void FinishEvent();
49 
51  void SetPersistence(bool val) { fPersistence = val; };
52 
54  void SetInputTrackBranchName(TString trackName) { fInputTrackBranchName = trackName; };
55 
57  void SetInputTrackCandBranchName(TString trackName) { fInputTrackCandBranchName = trackName; };
58 
60  void SetInputRiemannTrackBranchName(TString trackName) { fInputRiemannTrackBranchName = trackName; };
61 
65  void SetOutputBranchNamePrefix(TString trackName) { fOutBranchNamePrefix = trackName; };
66 
68  // void SetRunTimeBased(bool val) { fRunTimeBased = val; };
69 
74  // void RemoveShortTracks(bool val) { fRemoveShortTracks = val; };
75 
80  // void FilterTracks(std::vector<TClonesArray *>, std::vector<TClonesArray *>, std::vector<TClonesArray *>);
81 
83  void InitHitArray(TString branchName);
84 
86  void InitTrackArray(TString branchName);
87 
89  void InitRiemannTrackArray(TString branchName);
90 
92  void InitTrackCandArray(TString branchName);
93 
95  void AddHitBranch(TString branchName) { fHitBranchName.push_back(branchName); };
96 
97  private:
98  bool fPersistence = true;
99 
101  // double fClusterTime = 250.0;
102 
104  // bool fRunTimeBased = false;
105 
106  // bool fRemoveShortTracks = true;
107 
108  TString fOutBranchNamePrefix = "SttExtrapolated"; // Default output track branchname prefix
109  TString fInBranchNamePrefix = "NoNameGiven"; // Default input track branch name prefix
110 
111  std::vector<TString> fHitBranchName; // Vector of input hit branch names
112 
113  std::vector<TClonesArray *> fMvdHitsPixelArray; // Input Mvd Hit Pixel Array
114  std::vector<TClonesArray *> fMvdHitsStripArray; // Input Mvd Hit Strip Array
115  std::vector<TClonesArray *> fGemHitsArray; // Input Gem hit array
116  std::vector<TClonesArray *> fBtofHitsArray; // Input Btof array
117 
118  std::vector<TClonesArray *> fPndTrackCandArray; // Input track cand branch from previous tracking
119  std::vector<TClonesArray *> fPndTrackArray; // Input track branch from previous tracking
120  std::vector<TClonesArray *> fPndRiemannTrackArray; // Input RiemannTrack branch from previous tracking
121 
122  // Output branches
123  TClonesArray *fOutTrackArray; // Output track array
124  TClonesArray *fOutTrackCandArray; // Output track cand array
125  TClonesArray *fOutRiemannTrackArray; // Output Riemann track array
126 
127  // Input branches
128  TString fInputTrackBranchName; // Input track branch name
129  TString fInputTrackCandBranchName; // Input track cand branch name
130  TString fInputRiemannTrackBranchName; // Input Riemann track branch name
131 
132  TClonesArray *fEventHeader;
133 
134  double fSumTime; // For timing information
135 
136  // The three following vectors of TClones arrays are used if the tracks are filtered
137  // TClonesArray *fPndTrackCandFileteredArray; // Input track cand branch from previous tracking
138  // TClonesArray *fPndRiemannTrackFilteredArray; // Input RiemannTrack branch from previous tracking
139  // TClonesArray *fPndTrackFilteredArray; // Input track branch from previous tracking
140  // std::vector<TClonesArray *> fFilteredArrays; // Vector to put the previous three arrays in
141 
142  ClassDef(PndSTETask, 1);
143 };
144 
145 #endif /*PndSTETask_H_*/
void AddHitBranch(TString branchName)
Function to add chosen hit branches to the algorithm.
Definition: PndSTETask.h:95
virtual InitStatus Init()
void SetInputTrackBranchName(TString trackName)
Function to set the input track branch name.
Definition: PndSTETask.h:54
void SetPersistence(bool val)
Function to set the persistency, true as default.
Definition: PndSTETask.h:51
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:60
void InitTrackCandArray(TString branchName)
Function to initiate the chosen type of track cands.
virtual ~PndSTETask()
Definition: PndSTETask.h:42
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:65
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:57