I mainly do data recovery from physically failing drives, but the tools are the same and about twice a year I get a client who has accidentally fornatted a drive with important data and I need to recover all that wasn't overwritten. From experience, I can state:
-- Yes, there is software that can help you and others in similar predicaments.
-- Your data in the unallocated space is still there, as is some of your old data in the new FAT partition. (Though the latter is likeky too corrupt to use outside of a court of law ;-) )
-- You don't have to repartition the disk to recover your files, and in fact SHOULDN'T repartition it until after you've used the following procedure successfully or you may lose data!
This link goes into greater detail about the process than this format allows. https://help.ubuntu.com/community/DataRecovery
What follows are highlights about how to choose which commands in that article to use, and depending on your experience you might need to google to understand some terms. This is not meant to be rude, just an efficient starting place.
If unclear, I will edit as needed.
You will need access to a Linux install or live CD that allows you to install programs in the live environment for the following info to work. I use an Ubuntu 14.04 live USB because recovery takes a while and this way the computer can still be used as a computer . There is probably a different distribution that has the key packages "ntfs-3g" "gddrrescue" and "foremost" installed by default, but I usually just install the latest versions from the repos after booting into the live environment.
I begin all data-recovery by using ddrescue to copy the entire drive to an image FILE on another larger drive. The larger drive should have at least 1.5 TB of free space in your case, preferably 2TB+. In your case and contrary to some tutorials, you can't use '/dev/sdb2' as the input since the number 2 denotes a partition and your files are in unalocated space. Use '/dev/sdb' instead, since that points to the whole drive. Replace sdb with the identifier of the accidentally formatted drive in question.
For the drive which will hold the output image, mount an NTFS partition ON A SEPARATE PHYSICAL DISK using ntfs-3g since it has better write support than the default mount method. You will then use a file on that mountpoint as the output argument to ddrescue. For example, if mounted at '/mnt/largeDrive' you would use something like '/mnt/largeDrive/myRecoveredImage.img' as the outfile. Note the '.img' which helps tell what kind of file it is. Ddrescue will create the file if it doesn't already exist.
Don't use a FAT partition for the outfile since it'll be larger than FAT's maximum file size.
Imaging a drive takes a LONG time (sometimes days if the drive is large enough or has a lot of bad sectors), but I have found that the extra data security is handy. Ddrescue is available as a liveCD, but I don't reccommend it because you won't be able to use your conputer while the process runs, and would still need to boot to full linux to use the forensic recovery tools.
All subsequent recovery operations are then applied to the image, not the actual drive. Therefore, any mistakes (other than running ddrescue itself incorrectly) do not damage the underlying data and you can try again with a different recovery method.
Once you have the image, there are many tools to recover individual files or even whole filesystems, but the tools I use most often are "foremost" and occaisionally "sleuthkit" if I'm looking for files that were marked for deletion. The link above has a section on recovering individual files with these tools, plus some others. For the record and to save google-time, you DON'T need to "mount the backup image as a loop" to use foremost on it.