PandaRoot
PndRecoMultiKalmanTask.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // File and Version Information:
3 // $Id$
4 //
5 // Description:
6 // Kalman Filter Task for multiple particle hypothesis
7 //
8 // Environment:
9 // Software developed for the PANDA Detector at FAIR.
10 //
11 // Author List:
12 // Sebastian Neubert TUM (original author)
13 // Stefano Spatarot, UNI Torino
14 //
15 //-----------------------------------------------------------
16 
17 #ifndef PNDRECOMULTIKALMANTASK_HH
18 #define PNDRECOMULTIKALMANTASK_HH
19 
20 // Base Class Headers ----------------
21 #include "PndPersistencyTask.h"
22 
23 // Collaborating Class Headers -------
24 #include "TString.h"
25 #include "PndRecoKalmanFit.h"
26 #include "PndGeoSttPar.h"
27 #include "PndGeoFtsPar.h"
28 
29 // Collaborating Class Declarations --
30 class TClonesArray;
31 class GFRecoHitFactory;
32 
34  public:
35  // Constructors/Destructors ---------
36  PndRecoMultiKalmanTask(const char *name = "Genfit", Int_t iVerbose = 0, TString fithypo = "electron;muon;pion;kaon;proton");
38 
39  // Operators
40 
41  // Accessors -----------------------
42 
43  // Modifiers -----------------------
44  void SetTrackInBranchName(const TString &name) { fTrackInBranchName = name; }
45  void SetTrackOutBranchName(const TString &name) { fTrackOutBranchName = name; }
46  void SetMvdBranchName(const TString &name) { fMvdBranchName = name; }
47  void SetCentralTrackerBranchName(const TString &name) { fCentralTrackerBranchName = name; }
48  void SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
49  void SetNumIterations(Int_t num) { fNumIt = num; }
50  void SetFitHypotheses(const TString &name) { fFitWithHypo = name; }
51  void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt; }
52  void SetBusyCut(Int_t b) { fBusyCut = b; }
53  void SetTrackRep(Short_t num) { fTrackRep = num; }
54 
55  // Operations ----------------------
56  virtual InitStatus Init();
57  virtual void Exec(Option_t *opt);
58 
59  void SetParContainers();
60 
61  private:
62  // Private Data Members ------------
63  TClonesArray *fTrackArray;
64  TClonesArray *fFitTrackArrays[5];
65 
66  TString fTrackInBranchName;
67  TString fTrackOutBranchName;
68 
69  TString fMvdBranchName;
70  TString fCentralTrackerBranchName;
71 
72  TString fFitWithHypo;
73 
74  PndRecoKalmanFit *fFitter;
75 
76  Bool_t fUseGeane;
77  Bool_t fIdealHyp;
78  Bool_t fPropagateToIP;
79  Float_t fPropagateDistance;
80  Bool_t fPerpPlane;
81  Short_t fTrackRep;
82  Int_t fNumIt;
83  Int_t fBusyCut;
84  Bool_t fSmoothing;
85  Bool_t fHypoFlag[5];
86  int fPDGs[5];
87  PndGeoSttPar *fSttParameters;
88  PndGeoFtsPar *fFtsParameters;
89 
90  TDatabasePDG *pdg;
91 
92  ClassDef(PndRecoMultiKalmanTask, 1);
93 };
94 
95 #endif
void SetGeane(Bool_t opt=kTRUE)
void SetPropagateToIP(Bool_t opt=kTRUE)
PndRecoMultiKalmanTask(const char *name="Genfit", Int_t iVerbose=0, TString fithypo="electron;muon;pion;kaon;proton")
void SetTrackOutBranchName(const TString &name)
virtual void Exec(Option_t *opt)
Factory object to create RecoHits from digitized and clustered data.
void SetMvdBranchName(const TString &name)
virtual InitStatus Init()
void SetCentralTrackerBranchName(const TString &name)
void SetTrackInBranchName(const TString &name)
void SetFitHypotheses(const TString &name)