EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PndRecoKalmanTask.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PndRecoKalmanTask.h
1 //-----------------------------------------------------------
2 // File and Version Information:
3 // $Id$
4 //
5 // Description:
6 // Kalman Filter Task
7 //
8 // Environment:
9 // Software developed for the PANDA Detector at FAIR.
10 //
11 // Author List:
12 // Sebastian Neubert TUM (original author)
13 // Stefano Spataro, UNI Torino
14 //
15 //-----------------------------------------------------------
16 
17 #ifndef PNDRECOKALMANTASK_HH
18 #define PNDRECOKALMANTASK_HH
19 
20 // Base Class Headers ----------------
21 #include "FairTask.h"
22 
23 // Collaborating Class Headers -------
24 #include "TString.h"
25 #include "PndRecoKalmanFit.h"
26 #include "PndRecoDafFit.h"
27 
28 // Collaborating Class Declarations --
29 class TClonesArray;
30 class GFRecoHitFactory;
31 
32 
33 class PndRecoKalmanTask : public FairTask {
34 public:
35 
36  // Constructors/Destructors ---------
37  PndRecoKalmanTask(const char* name = "Genfit", Int_t iVerbose = 0);
39 
40  // Operators
41 
42 
43  // Accessors -----------------------
44 
45  // Modifiers -----------------------
46  void SetTrackInBranchName(const TString& name) { fTrackInBranchName = name; }
48  void SetTrackOutBranchName(const TString& name) { fTrackOutBranchName = name; }
49  void SetMvdBranchName(const TString& name) { fMvdBranchName = name; }
51  void SetPersistence(Bool_t opt = kTRUE) { fPersistence = opt; }
52  void SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
53  void SetIdealHyp(Bool_t opt = kTRUE) { fIdealHyp = opt; }
54  void SetDaf(Bool_t opt = kTRUE) { fDaf = opt; }
55  void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt; }
56  void SetPerpPlane(Bool_t opt = kTRUE) { fPerpPlane = opt; }
57  void SetTrackRep(Short_t num) { fTrackRep = num; }
58  void SetParticleHypo(TString s);
59  void SetParticleHypo(Int_t h);
60  void SetBusyCut(Int_t b) { fBusyCut=b; }
61 
62  // Operations ----------------------
63  virtual InitStatus Init();
64  void SetParContainers();
65  virtual void Exec(Option_t* opt);
66 
68 
69 protected:
70 
71  // Private Data Members ------------
72  TClonesArray* fTrackArray;
73  TClonesArray* fTrackIDArray;
74  TClonesArray* fMCTrackArray;
75  TClonesArray* fFitTrackArray;
76 
80 
81  TString fMvdBranchName;
83 
86  TDatabasePDG *pdg;
87 
88  Bool_t fPersistence;
89 
90  Bool_t fUseGeane;
91  Bool_t fSmoothing;
92  Bool_t fIdealHyp;
93  Bool_t fDaf;
94  Bool_t fPropagateToIP;
95  Bool_t fPerpPlane;
96  Short_t fTrackRep;
97  Int_t fNumIt;
98  Int_t fPDGHyp;
99  Int_t fBusyCut;
100 
101  // May want to instruct Kalman filter to record track parameterization (state
102  // vector) at the hit locations;
104 
106 
107 };
108 
109 #endif