PandaRoot
PndRecoKalmanTask2.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
19 //
20 // Environment:
21 // Software developed for the PANDA Detector at FAIR.
22 //
23 // Author List:
24 // Sebastian Neubert TUM (original author)
25 // Stefano Spataro, UNI Torino
26 // modified by Elisabetta Prencipe 19/05/2014
27 //-----------------------------------------------------------
28 
29 #ifndef PNDRECOKALMANTASK2_HH
30 #define PNDRECOKALMANTASK2_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 "PndRecoDafFit2.h"
39 
40 // Collaborating Class Declarations --
41 class TClonesArray;
42 class MeasurementFactory;
43 
45  public:
46  // Constructors/Destructors ---------
47  PndRecoKalmanTask2(const char *name = "Genfit", Int_t iVerbose = 0);
49 
50  // Operators
51 
52  // Accessors -----------------------
53 
54  // Modifiers -----------------------
55  void SetTrackInBranchName(const TString &name) { fTrackInBranchName = name; }
56  // void SetTrackInIDBranchName(const TString& name) { fTrackInIDBranchName = 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 SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
61  void SetIdealHyp(Bool_t opt = kTRUE) { fIdealHyp = opt; }
62  void SetDaf(Bool_t opt = kTRUE) { fDaf = opt; }
63  void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt; }
64  void SetPropagateDistance(Float_t opt = -1.) { fPropagateDistance = opt; }
65  void SetPerpPlane(Bool_t opt = kTRUE) { fPerpPlane = opt; }
66  void SetNumIterations(Int_t num) { fNumIt = num; }
67  void SetParticleHypo(TString s);
68  void SetParticleHypo(Int_t h);
69  void SetBusyCut(Int_t b) { fBusyCut = b; }
70 
71  // Operations ----------------------
72  virtual InitStatus Init();
73  void SetParContainers();
74  virtual void Exec(Option_t *opt);
75 
76  protected:
77  // Private Data Members ------------
78  TClonesArray *fTrackArray;
79  // TClonesArray* fTrackIDArray; //! Input TCA for PndTrackID
80  TClonesArray *fMCTrackArray;
81  TClonesArray *fFitTrackArray;
82 
84  // TString fTrackInIDBranchName; //! Name of the input TCA
86 
87  TString fMvdBranchName;
89 
92  TDatabasePDG *pdg;
93 
94  Bool_t fUseGeane;
95  Bool_t fSmoothing;
96  Bool_t fIdealHyp;
97  Bool_t fDaf;
98  Bool_t fPropagateToIP;
100  Bool_t fPerpPlane;
101  Int_t fNumIt;
102  Int_t fPDGHyp;
103  Int_t fBusyCut;
104 
106 };
107 
108 #endif
PndRecoDafFit2 * fDafFitter
Standard Kalman Filter class.
void SetPropagateToIP(Bool_t opt=kTRUE)
ClassDef(PndRecoKalmanTask2, 1)
Skip too busy events with more tracks.
TString fTrackInBranchName
Output TCA for track.
TClonesArray * fMCTrackArray
Input TCA for PndTrack.
void SetParticleHypo(TString s)
Bool_t fPropagateToIP
Flag to use Deterministic Annealing.
TDatabasePDG * pdg
Deterministic Annealing class.
TString fTrackOutBranchName
Name of the input TCA.
void SetTrackInBranchName(const TString &name)
Bool_t fPerpPlane
Distance in [cm] to back-propagate the parameters, negative number means no backpropagation.
TClonesArray * fTrackArray
Bool_t fSmoothing
Flag to use Geane.
Bool_t fUseGeane
Particle DB.
void SetMvdBranchName(const TString &name)
void SetPropagateDistance(Float_t opt=-1.)
Float_t fPropagateDistance
Flag to propagate the parameters to the interaction point (kTRUE)
virtual InitStatus Init()
Int_t fBusyCut
Hypothesis.
Int_t fNumIt
Flag to use as initial plane the one perpendicular to the track (kFALSE)
TString fMvdBranchName
Name of the output TCA.
void SetCentralTrackerBranchName(const TString &name)
void SetTrackOutBranchName(const TString &name)
PndRecoKalmanFit2 * fFitter
Name of the TCA for central tracker.
Bool_t fIdealHyp
Flag to set on smoothing (not used)
void SetDaf(Bool_t opt=kTRUE)
PndRecoKalmanTask2(const char *name="Genfit", Int_t iVerbose=0)
void SetNumIterations(Int_t num)
Int_t fPDGHyp
Number of iterations.
void SetGeane(Bool_t opt=kTRUE)
void SetPerpPlane(Bool_t opt=kTRUE)
TClonesArray * fFitTrackArray
Input TCA for PndMCTrack.
TString fCentralTrackerBranchName
Name of the TCA for MVD.
Bool_t fDaf
Flag to use MC particle hypothesis.
virtual void Exec(Option_t *opt)
void SetBusyCut(Int_t b)
void SetIdealHyp(Bool_t opt=kTRUE)