  
      self._METRIC_THRESHOLD = 0.55 if TICI else 0.48
      self._METRIC_THRESHOLD_SLACK = 0.75 if TICI else 0.66
      self._METRIC_THRESHOLD_STRICT = 0.55 if TICI else 0.48
      self._PITCH_POS_ALLOWANCE = 0.12  # rad, to not be too sensitive on positive pitch
      self._PITCH_NATURAL_OFFSET = 0.02  # people don't seem to look straight when they drive relaxed, rather a bit up
      self._YAW_NATURAL_OFFSET = 0.08  # people don't seem to look straight when they drive relaxed, rather a bit to the right (center of car)
  
      self._HI_STD_FALLBACK_TIME = int(10  / self._DT_DMON)  # fall back to wheel touch if model is uncertain for 10s
      self._DISTRACTED_FILTER_TS = 0.25  # 0.6Hz
 
</s> remove     # positive pitch allowance
    if pitch_error > 0.:
      pitch_error = max(pitch_error - self.settings._PITCH_POS_ALLOWANCE, 0.)
    pitch_error *= self.settings._PITCH_WEIGHT
    pose_metric = sqrt(yaw_error**2 + pitch_error**2)
 </s> add     pitch_error = 0 if pitch_error > 0 else abs(pitch_error) # no positive pitch limit
    yaw_error = abs(yaw_error) </s> remove     if pose_metric > self.settings._METRIC_THRESHOLD*pose.cfactor:
 </s> add     if pitch_error*self.settings._PITCH_WEIGHT > self.settings._METRIC_THRESHOLD*pose.cfactor or \
       yaw_error > self.settings._METRIC_THRESHOLD*pose.cfactor: </s> remove from math import atan2, sqrt
 </s> add from math import atan2
  
      self._METRIC_THRESHOLD = 0.55 if TICI else 0.48
      self._METRIC_THRESHOLD_SLACK = 0.75 if TICI else 0.66
      self._METRIC_THRESHOLD_STRICT = 0.55 if TICI else 0.48

      self._PITCH_NATURAL_OFFSET = 0.02  # people don't seem to look straight when they drive relaxed, rather a bit up
      self._YAW_NATURAL_OFFSET = 0.08  # people don't seem to look straight when they drive relaxed, rather a bit to the right (center of car)
  
      self._HI_STD_FALLBACK_TIME = int(10  / self._DT_DMON)  # fall back to wheel touch if model is uncertain for 10s
      self._DISTRACTED_FILTER_TS = 0.25  # 0.6Hz
keep keep keep keep replace keep keep keep keep keep
 refactor dm pitch/yaw thresholding (#22191)

* use indiviual pitch/yaw instead of norm

* update process replay 
selfdrive/monitoring/driver_monitor.py