Calculating relative distance/position of camera to HumanoidRootPart?

I am storing the orignal CFrame and Focus of camera prior to the animation. If I want to tween back, it does that perfectly if I stay in the same spot . Now I want to store the original CFrame and Focus relative to the player (I think HumanoidRootPart would make sense), so the animation looks good even if I move while having the camera near the part.

local player = game.Players.LocalPlayer
local cam = workspace.CurrentCamera
local tweenService = game:GetService('TweenService')
local originPos = cam.CFrame	--// Save the origin values, so we can animate back.
local originFocus = cam.Focus
--coded, but not disclosed: tween to a part (tool) and after a few seconds tween back.
local updatedPos = nil
local updatedFocus = nil
--tween camera to updatedPos and updatedFocus

I just need updatedPos and updatedFocus to be results that make sense and therefore do not cause the animation to go completely weird.

Simply calculate the offset Vector between the Camera and the HumanoidRootPart and apply it to the Camera’s CFrame:

local cam, HRP;
local offsetPosition = (HRP.Position - cam.Position);

local updatedPos = cam.CFrame + offsetPosition; -- reverse-engineer pos