It's possible that your old branch tip will be preserved in your reflog. Then you should be able to check out the unchanged commit with all the previous history.
When you use git filter-branch, a backup file is created in
refs/original/refs/heads/master
If you used the command in branch master. You can check if you have the backup in .git/refs directory. With this in mind, you can use this backup to recover your files with:
Probably a more proper way than just doing hard reset to the original master would be to restore all refs rewritten by git filter-branch, and maybe even delete backup refs afterwards in order to be able to invoke git filter-branch again without --force:
for orig_ref in $(git for-each-ref --format="%(refname)" refs/original/); do
git update-ref "${orig_ref#refs/original/}" $orig_ref
git update-ref -d $orig_ref # to also remove backup refs
done
And after that:
git reset --hard master
UPD.
Here's (arguably) a bit more git'ish way to perform the same without a shell for-loop: