60 cout <<
"======================== Combined Vertex finder exec started ======================" << endl;
63 fCombineVertexArray->Delete();
69 beamTrack = (
BmnTrack*)fBeamTrackArray->At(0);
70 if (beamTrack !=
nullptr) {
75 new ((*fCombineVertexArray)[0])
CbmVertex(combVertexCbm);
76 new ((*fCombineVertexArray)[1])
CbmVertex(combVertexMpd);
79 cout <<
"\n======================== Combined Vertex finder exec finished ======================" << endl;
83 Double_t weightPrimaryVertex[2] = { 0.0, 0.0 };
84 Double_t weightBeam[2] = { 0.0, 0.0 };
89 Double_t primaryVertexX = vrtx->
GetX();
90 Double_t primaryVertexY = vrtx->
GetY();
94 weightBeam[0] = 1 / par.GetCovariance(0, 0);
95 weightBeam[1] = 1 / par.GetCovariance(1, 1);
96 Double_t beamVertexX = par.GetX();
97 Double_t beamVertexY = par.GetY();
99 Double_t X = (primaryVertexX * weightPrimaryVertex[0] + beamVertexX * weightBeam[0]) / (weightPrimaryVertex[0] + weightBeam[0]);
100 Double_t Y = (primaryVertexY * weightPrimaryVertex[1] + beamVertexY * weightBeam[1]) / (weightPrimaryVertex[1] + weightBeam[1]);
101 Double_t Z = vrtx->
GetZ();
102 Double_t chi2 = vrtx->
GetChi2();
104 Int_t NDF = NTracks * 2;
105 TMatrixFSym* covMat =
new TMatrixFSym(3);
109 combVrtx.
SetVertex(X, Y, Z, chi2, NDF, NTracks, *covMat);
void SetVertex(Double_t x, Double_t y, Double_t z, Double_t chi2, Int_t ndf, Int_t nTracks, const TMatrixFSym &covMat)