unit – The center of the Raycasting camera does not work: why?

In my game, I use the Unity First Person controller.
I check every second what I'm looking for with the following code:

    cam = Camera.main;
RaycastHit hit;
Vector3 CameraCenter = cam.ScreenToWorldPoint (new Vector3 (Screen.width / 2, Screen.height / 2, cam.nearClipPlane));
if (Physics.Raycast (CameraCenter, transform.forward, out hit, 5))
WhatIamLookinTag = hit.transform.tag;

The problem is that it does not work if you move the player up and down "view" (so I move up and down the mouse ..)

I need the object that is in the center of the screen (depending on what I am looking for).

Why ?