PandaRoot
RhoKalmanVtxFitter.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 #ifndef RHOKALMANVTXFITTER_H
14 #define RHOKALMANVTXFITTER_H
15 // //
17 // RhoKalmanVtxFitter //
18 // //
19 // Author: R. Kliemt 2010 //
20 // Vertex finder & fitter using track separation and the perigee helix //
21 // approximation //
22 // //
24 
25 #include "RhoFitterBase.h"
26 
27 #include "RhoCandList.h"
28 #include "TVector3.h"
29 
30 class RhoCandidate;
31 
33  public:
35  virtual ~RhoKalmanVtxFitter();
36  void SetExpansionPoint(TVector3 P) { fExpansionPoint = P; }
37  void SetNIterations(int i) { fNIterations = i; };
38 
39  double FitVertexFast(TVector3 &vtx, TMatrixD &cov, bool skipcov = false, int niter = 2);
40  // double FitVertexFull(TVector3& vtx, TMatrixD& cov);
41 
42  void SetDebug(bool db = true)
43  {
44  if (db) {
45  fVerbose = true;
46  }
47  fDebug = db;
48  };
49  void SetSilent()
50  {
51  fVerbose = false;
52  fDebug = false;
53  };
54 
55  private:
56  Bool_t FitNode(RhoCandidate *b);
57  RhoCandidate *fCurrentHead;
58 
59  Bool_t Calculate();
60  Bool_t CalcPrgParams(RhoCandidate *cand, TVector3 expansionpoint); // calculate helix and its covariance
61  Bool_t CalcPrgParams(RhoCandidate *cand) { return CalcPrgParams(cand, fExpansionPoint); }; // calculate helix and its covariance
62  // double CalculateVertexFast(Bool_t skpcov=false);
63  bool fDebug;
64  int fNIterations;
65  TVector3 fExpansionPoint; // Expansion point
66  Float_t fPrgParams[5]; // Helix Paramterization around expansion point of each track
67  TMatrixD fPrgCov; // Covariance matrix 5x5 of each track
68  TMatrixD fJacobian; // Jacobian 5x7
69  // TClonesArray* fTrackArray;
70  ClassDef(RhoKalmanVtxFitter, 1)
71 };
72 
73 #endif
double FitVertexFast(TVector3 &vtx, TMatrixD &cov, bool skipcov=false, int niter=2)
void SetDebug(bool db=true)
void SetNIterations(int i)
unsigned int i
Definition: P4_F32vec4.h:33
RhoKalmanVtxFitter(RhoCandidate *b)
void SetExpansionPoint(TVector3 P)
virtual ~RhoKalmanVtxFitter()
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:64