SetUsedForPrimVtxFit(usedForPrimVtxFit);
if(covMatrix) SetCovMatrix(covMatrix);
SetPID(pid);
-
}
//______________________________________________________________________________
if (p) {
if (cartesian) {
- Double_t pt = TMath::Sqrt(p[0]*p[0] + p[1]*p[1]);
- Double_t P = TMath::Sqrt(pt*pt + p[2]*p[2]);
+ Double_t pt2 = p[0]*p[0] + p[1]*p[1];
+ Double_t P = TMath::Sqrt(pt2 + p[2]*p[2]);
- fMomentum[0] = 1./pt;
- fMomentum[1] = TMath::ACos(p[2]/P);
- fMomentum[2] = TMath::ATan2(p[1], p[0]);
+ fMomentum[0] = TMath::Sqrt(pt2); // pt
+ fMomentum[1] = (pt2 != 0.) ? TMath::ATan2(p[1], p[0]) : -999; // phi
+ fMomentum[2] = (P != 0.) ? TMath::ACos(p[2]/P) : -999.; // theta
} else {
- fMomentum[0] = p[0]; // 1/pt
+ fMomentum[0] = p[0]; // pt
fMomentum[1] = p[1]; // phi
fMomentum[2] = p[2]; // theta
}