Fork me on GitHub

Ignore:
Timestamp:
Jan 19, 2022, 10:11:39 AM (3 years ago)
Author:
Franco BEDESCHI <bed@…>
Branches:
master
Children:
78ce8d1, 7bca620
Parents:
bd376e3
Message:

Fix CovarianceMatrix scaling error. Vertexing improvements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • external/TrackCovariance/VertexFit.h

    rbd376e3 rb750b0a  
    66#include <TVectorD.h>
    77#include <TMatrixDSym.h>
     8#include "TrkUtil.h"
    89#include "ObsTrk.h"
    910#include <vector>
     
    1213// Class for vertex fitting
    1314
    14 class VertexFit {
     15class VertexFit: public TrkUtil
     16{
    1517        //
    1618        // Vertex fitting with track parameters steering
     
    2123        //
    2224        // Inputs
    23         Int_t fNtr;                                     // Number of tracks
     25        Int_t fNtr;                                                     // Number of tracks
    2426        std::vector<TVectorD*> fPar;            // Input parameter array
    2527        std::vector<TVectorD*> fParNew;         // Updated parameter array
     
    2729        std::vector<TMatrixDSym*> fCovNew;      // Updated parameter covariances
    2830        // Constraints
    29         Bool_t fVtxCst;                         // Vertex constraint flag
    30         TVectorD fxCst;                         // Constraint value
     31        Bool_t fVtxCst;                                 // Vertex constraint flag
     32        TVectorD fxCst;                                 // Constraint value
    3133        TMatrixDSym fCovCst;                    // Constraint
    3234        TMatrixDSym fCovCstInv;                 // Inverse of constraint covariance
    3335        //
    3436        // Results
    35         Bool_t fVtxDone;                                // Flag vertex fit completed
     37        Bool_t fVtxDone;                        // Flag vertex fit completed
    3638        Double_t fRold;                         // Current value of vertex radius
    3739        TVectorD fXv;                           // Found vertex
     
    5254        //
    5355        // Service routines
    54         //void InitWrkArrays();                                                 // Initializations
    5556        void ResetWrkArrays();                                                  // Clear work arrays
    56         Double_t StartRadius();                                                 // Starting vertex radius determination
    57         Double_t FastRv(TVectorD p1, TVectorD p2);              // Fast vertex radius determination
    58         TMatrixDSym RegInv(TMatrixDSym& Smat0);                 // Regularized 3D matrix inversion
    59         TMatrixD Fill_A(TVectorD par, Double_t phi);            // Derivative of track position wrt track parameters
    60         TVectorD Fill_a(TVectorD par, Double_t phi);            // Derivative of track position wrt track phase
     57        //Double_t StartRadius();                                                       // Starting vertex radius determination
     58        //Double_t FastRv(TVectorD p1, TVectorD p2);            // Fast vertex radius determination
     59        //TMatrixDSym RegInv(TMatrixDSym& Smat0);               // Regularized 3D matrix inversion
     60        //TMatrixD Fill_A(TVectorD par, Double_t phi);  // Derivative of track position wrt track parameters
     61        //TVectorD Fill_a(TVectorD par, Double_t phi);  // Derivative of track position wrt track phase
    6162        TVectorD Fill_x0(TVectorD par);                                 // Track position at dma to z-axis
    62         TVectorD Fill_x(TVectorD par, Double_t phi);            // Track position at given phase
     63        TVectorD Fill_x(TVectorD par, Double_t phi);    // Track position at given phase
    6364        void UpdateTrkArrays(Int_t i);                                  // Fill track realted arrays
    64         void VertexFitter();                                                            // Vertex finder routine
     65        void VtxFitNoSteer();                                                   // Vertex fitter routine w/o parameter steering
     66        void VertexFitter();                                                    // Vertex fitter routine w/  parameter steering
    6567public:
    6668        //
Note: See TracChangeset for help on using the changeset viewer.