PandaRoot
PndRecoMultiKalmanTask2.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 
13 //-----------------------------------------------------------
14 // File and Version Information:
15 // $Id$
16 //
17 // Description:
18 // Kalman Filter Task for multiple particle hypothesis
19 //
20 // Environment:
21 // Software developed for the PANDA Detector at FAIR.
22 //
23 // Author List:
24 // Sebastian Neubert TUM (original author)
25 // Stefano Spatarot, UNI Torino
26 // modified by Elisabetta Prencipe, 19/05/2014
27 //-----------------------------------------------------------
28 
29 #ifndef PndRecoMultiKalmanTask2_HH
30 #define PndRecoMultiKalmanTask2_HH
31 
32 // Base Class Headers ----------------
33 #include "PndPersistencyTask.h"
34 
35 // Collaborating Class Headers -------
36 #include "TString.h"
37 #include "PndRecoKalmanFit2.h"
38 #include "PndGeoSttPar.h"
39 #include "PndGeoFtsPar.h"
40 
41 // Collaborating Class Declarations --
42 class TClonesArray;
43 class MeasurementFactory;
44 
46  public:
47  // Constructors/Destructors ---------
48  PndRecoMultiKalmanTask2(const char *name = "Genfit", Int_t iVerbose = 0, TString fithypo = "electron;muon;pion;kaon;proton");
50 
51  // Operators
52 
53  // Accessors -----------------------
54 
55  // Modifiers -----------------------
56  void SetTrackInBranchName(const TString &name) { fTrackInBranchName = name; }
57  void SetTrackOutBranchName(const TString &name) { fTrackOutBranchName = name; }
58  void SetMvdBranchName(const TString &name) { fMvdBranchName = name; }
59  void SetCentralTrackerBranchName(const TString &name) { fCentralTrackerBranchName = name; }
60  void SetNumIterations(Int_t num) { fNumIt = num; }
61  void SetFitHypotheses(const TString &name) { fFitWithHypo = name; }
62 
63  // Operations ----------------------
64  virtual InitStatus Init();
65  virtual void Exec(Option_t *opt);
66 
67  void SetParContainers();
68 
69  private:
70  // Private Data Members ------------
71  TClonesArray *fTrackArray;
72  TClonesArray *fFitTrackArrays[5];
73 
74  TString fTrackInBranchName;
75  TString fTrackOutBranchName;
76 
77  TString fMvdBranchName;
78  TString fCentralTrackerBranchName;
79 
80  TString fFitWithHypo;
81  Bool_t fHypoFlag[5];
82  int fPDGs[5];
83 
84  PndRecoKalmanFit2 *fFitter;
85 
86  Bool_t fUseGeane;
87  Bool_t fIdealHyp;
88  Bool_t fSmoothing;
89  Int_t fNumIt;
90  Int_t fBusyCut;
91  PndGeoSttPar *fSttParameters;
92  PndGeoFtsPar *fFtsParameters;
93 
94  ClassDef(PndRecoMultiKalmanTask2, 1);
95 };
96 
97 #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)