LCOV - code coverage report
Current view: top level - STEER/ESD - AliKFVertex.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 12 25.0 %
Date: 2016-06-14 17:26:59 Functions: 5 17 29.4 %

          Line data    Source code
       1             : //---------------------------------------------------------------------------------
       2             : // The AliKFVertex class
       3             : // .
       4             : // @author  S.Gorbunov, I.Kisel
       5             : // @version 1.0
       6             : // @since   13.05.07
       7             : // 
       8             : // Class to reconstruct and store primary and secondary vertices.
       9             : // The method is described in CBM-SOFT note 2007-003, 
      10             : // ``Reconstruction of decayed particles based on the Kalman filter'', 
      11             : // http://www.gsi.de/documents/DOC-2007-May-14-1.pdf
      12             : //
      13             : // This class is ALICE interface to general mathematics in AliKFParticleBase
      14             : // 
      15             : //  -= Copyright &copy ALICE HLT Group =-
      16             : //_________________________________________________________________________________
      17             : 
      18             : #ifndef ALIKFVERTEX_H
      19             : #define ALIKFVERTEX_H
      20             : 
      21             : #include "AliKFParticle.h"
      22             : #include "AliVVertex.h"
      23             : 
      24           0 : class AliKFVertex : public AliKFParticle
      25             : {
      26             :   
      27             :  public:
      28             : 
      29             :   //*
      30             :   //*  INITIALIZATION
      31             :   //*
      32             : 
      33             :   //* Constructor (empty)
      34             : 
      35          88 :   AliKFVertex():AliKFParticle(),fIsConstrained(0){ } 
      36             : 
      37             :   //* Destructor (empty)
      38             : 
      39          88 :   ~AliKFVertex(){}
      40             : 
      41             :   //* Initialisation from VVertex 
      42             : 
      43             :   AliKFVertex( const AliVVertex &vertex );
      44             : 
      45             : 
      46             :   //*
      47             :   //*  ACCESSORS
      48             :   //*
      49             : 
      50             :   //* Number of tracks composing the vertex
      51             : 
      52           0 :   Int_t GetNContributors() const { return fIsConstrained ?fNDF/2:(fNDF+3)/2; }
      53             : 
      54             :   //* 
      55             :   //* CONSTRUCTION OF THE VERTEX BY ITS DAUGHTERS 
      56             :   //* USING THE KALMAN FILTER METHOD
      57             :   //*
      58             : 
      59             : 
      60             :   //* Simple way to construct vertices ex. D0 = Pion + Kaon;   
      61             : 
      62             :   void operator +=( const AliKFParticle &Daughter );  
      63             : 
      64             :   //* Subtract particle from vertex
      65             : 
      66             :   AliKFVertex operator -( const AliKFParticle &Daughter ) const;
      67             : 
      68             :   void operator -=( const AliKFParticle &Daughter );  
      69             : 
      70             :   //* Set beam constraint to the primary vertex
      71             : 
      72             :   void SetBeamConstraint( Double_t X, Double_t Y, Double_t Z, 
      73             :                           Double_t ErrX, Double_t ErrY, Double_t ErrZ );
      74             : 
      75             :   //* Set beam constraint off
      76             : 
      77             :   void SetBeamConstraintOff();
      78             : 
      79             :   //* Construct vertex with selection of tracks (primary vertex)
      80             : 
      81             :   void ConstructPrimaryVertex( const AliKFParticle *vDaughters[], int NDaughters,
      82             :                                Bool_t vtxFlag[], Double_t ChiCut=3.5  );
      83             : 
      84             :  protected:
      85             : 
      86             :   Bool_t fIsConstrained; // Is the beam constraint set
      87             : 
      88         172 :   ClassDef( AliKFVertex, 1 );
      89             : 
      90             : };
      91             : 
      92             : 
      93             : //---------------------------------------------------------------------
      94             : //
      95             : //     Inline implementation of the AliKFVertex methods
      96             : //
      97             : //---------------------------------------------------------------------
      98             : 
      99             : 
     100             : inline void AliKFVertex::operator +=( const AliKFParticle &Daughter )
     101             : {
     102           0 :   AliKFParticle::operator +=( Daughter );
     103           0 : }
     104             :   
     105             : 
     106             : inline void AliKFVertex::operator -=( const AliKFParticle &Daughter )
     107             : {
     108           0 :   Daughter.SubtractFromVertex( *this );
     109           0 : }
     110             :   
     111             : inline AliKFVertex AliKFVertex::operator -( const AliKFParticle &Daughter ) const 
     112             : {
     113           0 :   AliKFVertex tmp = *this;
     114           0 :   Daughter.SubtractFromVertex( tmp );
     115             :   return tmp;
     116           0 : }
     117             : 
     118             : 
     119             : #endif 

Generated by: LCOV version 1.11