Matching a camera in a 3D scene based on a photo
Production Software Used:

PfTrack, PfMatchit, Boujou, Syntheyes, Nuke Camera Tracker...

Student free use:
Autodesk Matchmover

All of the above software is used to 3D Match Move Cameras to video sequences. Most of them are very expensive. PfTrack is my personal favorite.

Although all of the above mentioned software is used to solve cameras for video sequences they work just as well with stills. PfTrack has tools to orient a scene based on hints that you give it about scale, x-axis, y-axis,z-axis, FOV and so on. The solve is easier with more reference images that have been taken from different angles looking at the same scene.

As was mentioned above looking for key signs in the photo that give hints for y-axis and z-axis will help you align your scene. If you Place grids down you can try to ballpark the perspective of the shot and give yourself a good horizon line. You can also place proxy geometry of some of the objects in your scene to guess depth and so on. Many of these techniques are what is used to match CG to video.

In the end the more information you have about the original physical scene is what will make matching CG easier. such as actual dimensions of the scene and as many measurements as possible. If you have access to any of the above software you can undistort your stills and have assistance on producing good solutions to your scenes 3D camera.