Double_t P = TMath::Sqrt(pt2 + p[2]*p[2]);
fMomentum[0] = TMath::Sqrt(pt2); // pt
- fMomentum[1] = (pt2 != 0.) ? TMath::ATan2(p[1], p[0]) : -999; // phi
+ fMomentum[1] = (pt2 != 0.) ? TMath::Pi()+TMath::ATan2(-p[1], -p[0]) : -999; // phi
fMomentum[2] = (P != 0.) ? TMath::ACos(p[2]/P) : -999.; // theta
} else {
fMomentum[0] = p[0]; // pt
// rotation angles around z-axis (phi) and around new y-axis (theta)
// with which vtx is seen (used by RotatedCovMatrix... methods)
- phi = TMath::ATan2(vtx->GetY()-GetY(),vtx->GetX()-GetX());
+ phi = TMath::Pi()+TMath::ATan2(-vtx->GetY()+GetY(),-vtx->GetX()+GetX());
Double_t vtxxphi = vtx->GetX()*TMath::Cos(phi)+vtx->GetY()*TMath::Sin(phi);
Double_t xphi = GetX()*TMath::Cos(phi)+GetY()*TMath::Sin(phi);
theta = TMath::ATan2(vtx->GetZ()-GetZ(),vtxxphi-xphi);