PandaRoot
PndRecoMultiKalmanTask2.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 // modified by Elisabetta Prencipe, 19/05/2014
15 //-----------------------------------------------------------
16 
17 #ifndef PndRecoMultiKalmanTask2_HH
18 #define PndRecoMultiKalmanTask2_HH
19 
20 // Base Class Headers ----------------
21 #include "PndPersistencyTask.h"
22 
23 // Collaborating Class Headers -------
24 #include "TString.h"
25 #include "PndRecoKalmanFit2.h"
26 #include "PndGeoSttPar.h"
27 #include "PndGeoFtsPar.h"
28 
29 // Collaborating Class Declarations --
30 class TClonesArray;
31 class MeasurementFactory;
32 
34  public:
35  // Constructors/Destructors ---------
36  PndRecoMultiKalmanTask2(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 SetNumIterations(Int_t num) { fNumIt = num; }
49  void SetFitHypotheses(const TString &name) { fFitWithHypo = name; }
50 
51  // Operations ----------------------
52  virtual InitStatus Init();
53  virtual void Exec(Option_t *opt);
54 
55  void SetParContainers();
56 
57  private:
58  // Private Data Members ------------
59  TClonesArray *fTrackArray;
60  TClonesArray *fFitTrackArrays[5];
61 
62  TString fTrackInBranchName;
63  TString fTrackOutBranchName;
64 
65  TString fMvdBranchName;
66  TString fCentralTrackerBranchName;
67 
68  TString fFitWithHypo;
69  Bool_t fHypoFlag[5];
70  int fPDGs[5];
71 
72  PndRecoKalmanFit2 *fFitter;
73 
74  Bool_t fUseGeane;
75  Bool_t fIdealHyp;
76  Bool_t fSmoothing;
77  Int_t fNumIt;
78  Int_t fBusyCut;
79  PndGeoSttPar *fSttParameters;
80  PndGeoFtsPar *fFtsParameters;
81 
82  ClassDef(PndRecoMultiKalmanTask2, 1);
83 };
84 
85 #endif
void SetMvdBranchName(const TString &name)
PndRecoMultiKalmanTask2(const char *name="Genfit", Int_t iVerbose=0, TString fithypo="electron;muon;pion;kaon;proton")
virtual InitStatus Init()
virtual void Exec(Option_t *opt)
void SetFitHypotheses(const TString &name)
void SetTrackOutBranchName(const TString &name)
void SetTrackInBranchName(const TString &name)
void SetCentralTrackerBranchName(const TString &name)