The source project of this merge request has been removed.
DCMathSegmentMaker - Supress warning in the angular difference check
In !44761 (merged), I optimized the parallelity check between the two elements by using the linearity of sin(x)
for small x
double diff_phi = roaddir2.phi() - gdir.phi();
double diff_prec = linephi - segLocDir.angleYZ();
if (std::abs(sin(diff_phi)) > 1.e-3 || std::abs(sin(diff_prec)) > 1.e-3) {
to
const double diff_phi = xAOD::P4Helpers::deltaPhi(roaddir2.phi(), gdir.phi());
const double diff_prec = xAOD::P4Helpers::deltaPhi(linephi, segLocDir.angleYZ());
/// Use linearity of the sin at leading order
if (std::abs(diff_phi) > 1.e-3 || std::abs(diff_prec) > 1.e-3) {
However, my approach misses the anti-colinear cases which then, in turn, fires the false WARNING
RAWtoALL 09:31:33 MuonSegmentMaker.MuonSegmentF...DCMathSegmentMaker WARNING ALARM updated angles wrong: diff phi -3.14159 prec -0 phi rdir -1.88496 gdir 1.25664 lphi 1.57484 seg 1.57484
These cases are taken also into account in this MR to suppress the message.
Relates to ATLASRECTS-4875
Edited by Johannes Junggeburth