BmnRoot
Loading...
Searching...
No Matches
CbmKFSecondaryVertexFinder.h
Go to the documentation of this file.
1
10#ifndef CBMKFSECONDARYVERTEXFINDER_H
11#define CBMKFSECONDARYVERTEXFINDER_H
12
13#include "CbmKFTrackInterface.h"
15
16#include <vector>
17
18class CbmKFSecondaryVertexFinder:public TObject {
19
20 std::vector<CbmKFTrackInterface*> vTracks;
21 Int_t NDF;
22 Double_t Chi2, MassConstraint;
23 Double_t r[8], r0[8], C[36];
24 CbmKFVertexInterface *VParent, *VGuess;
25
26 void AddMassConstraint();
27 void AddTopoConstraint();
28 Double_t& Cij( Int_t i, Int_t j ){
29 return C[( j<=i ) ? i*(i+1)/2+j :j*(j+1)/2+i];
30 }
31
32 public:
33
34 CbmKFSecondaryVertexFinder(): vTracks(), NDF(0), Chi2(0), MassConstraint(0), VParent(0), VGuess(0) { Clear(); };
36
37 void Clear();
38 void ClearTracks();
39 void AddTrack( CbmKFTrackInterface* Track );
40 void SetTracks( std::vector<CbmKFTrackInterface*> &vTracks );
42 void SetMassConstraint( Double_t MotherMass=-1 );
44 void Fit();
46 void GetVertex( CbmVertex &vtx );
47 void GetMotherTrack( Double_t T[], Double_t C[] );
48 void GetMass( Double_t *M, Double_t *Error );
49 void Extrapolate( double T );
50
52
53 private:
55 void operator=(const CbmKFSecondaryVertexFinder&);
56};
57#endif /* !CBMKFSECONDARYVERTEXFINDER_H */
int i
Definition P4_F32vec4.h:22
void SetTopoConstraint(CbmKFVertexInterface *Parent=0)
void SetTracks(std::vector< CbmKFTrackInterface * > &vTracks)
ClassDef(CbmKFSecondaryVertexFinder, 1)
void GetMass(Double_t *M, Double_t *Error)
void SetApproximation(CbmKFVertexInterface *Guess=0)
void SetMassConstraint(Double_t MotherMass=-1)
void GetVertex(CbmKFVertexInterface &vtx)
void GetMotherTrack(Double_t T[], Double_t C[])
void AddTrack(CbmKFTrackInterface *Track)