PandaRoot
PndRecoDafFit2.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 for single tracks, deterministic annealing
19 //
20 // Environment:
21 // Software developed for the PANDA Detector at FAIR.
22 //
23 // Author List:
24 //
25 // Stefano Spataro, UNI Torino //
26 // modified by Elisabetta Prencipe, 19/05/2014
27 //-----------------------------------------------------------
28 
29 #ifndef PNDRECODAFFIT2_HH
30 #define PNDRECODAFFIT2_HH
31 
32 // Base Class Headers ----------------
33 #include "TNamed.h"
34 #include "TString.h"
35 
36 // Collaborating Class Headers ------
37 #include "FairGeanePro.h"
38 #include "PndTrack.h"
39 #include "DAF.h"
40 #include "MeasurementFactory.h"
41 
42 class PndRecoDafFit2 : public TNamed {
43  public:
44  // Constructors/Destructors ---------
47 
48  // Modifiers -----------------------
49  void SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
50  void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt; }
51  void SetPropagateDistance(Float_t opt = -1.f) { fPropagateDistance = opt; }
52  void SetPerpPlane(Bool_t opt = kTRUE) { fPerpPlane = opt; }
53  void SetNumIterations(Int_t num) { fNumIt = num; }
54  void SetVerbose(Int_t verb) { fVerbose = verb; }
55  void SetMvdBranchName(const TString &name) { fMvdBranchName = name; }
56  void SetCentralTrackerBranchName(const TString &name) { fCentralTrackerBranchName = name; }
57  // Operations ----------------------
58  Bool_t Init();
59  PndTrack *Fit(PndTrack *tBefore, Int_t PDG);
60 
61  private:
62  // Private Data Members ------------
64  genfit::DAF fGenFitter;
65 
66  FairGeanePro *fPro;
67 
68  TString fMvdBranchName;
69  TString fCentralTrackerBranchName;
70 
71  Bool_t fUseGeane;
72  Bool_t fPropagateToIP;
73  Float_t fPropagateDistance;
74  Bool_t fPerpPlane;
75  Int_t fNumIt;
76  Int_t fVerbose;
77 
78  ClassDef(PndRecoDafFit2, 0);
79 };
80 
81 #endif
void SetNumIterations(Int_t num)
void SetMvdBranchName(const TString &name)
Determinstic Annealing Filter (DAF) implementation.
Definition: DAF.h:59
void SetPropagateToIP(Bool_t opt=kTRUE)
PndTrack * Fit(PndTrack *tBefore, Int_t PDG)
void SetVerbose(Int_t verb)
float f
Definition: P4_F32vec4.h:32
void SetPropagateDistance(Float_t opt=-1.f)
void SetGeane(Bool_t opt=kTRUE)
void SetPerpPlane(Bool_t opt=kTRUE)
void SetCentralTrackerBranchName(const TString &name)