// orientation of the detector plane.
// The rotation in XY plane only is calculated.
- if ((fCov[2] != 0) || (fCov[4] != 0))
- return TMath::ATan2(-fCov[4],-fCov[2]);
+ Float_t phi= TMath::ATan2(TMath::Sqrt(fCov[0]),TMath::Sqrt(fCov[3]));
+ if (fCov[1] > 0) {
+ phi = TMath::Pi() - phi;
+ if ((fY-fX) < 0) phi += TMath::Pi();
+ }
else {
- Float_t phi= TMath::ATan2(-fCov[1],fCov[3]);
- if (fX < 0) phi += TMath::Pi();
- return phi;
- }
+ if ((fX+fY) < 0) phi += TMath::Pi();
+ }
+
+ return phi;
+
}
//_____________________________________________________________________________